Commit a7e282c7 authored by Wen Yang's avatar Wen Yang Committed by Thomas Gleixner
Browse files

tick/rcu: Fix bogus ratelimit condition



The ratelimit logic in report_idle_softirq() is broken because the
exit condition is always true:

	static int ratelimit;

	if (ratelimit < 10)
		return false;  ---> always returns here

	ratelimit++;           ---> no chance to run

Make it check for >= 10 instead.

Fixes: 0345691b ("tick/rcu: Stop allowing RCU_SOFTIRQ in idle")
Signed-off-by: default avatarWen Yang <wenyang.linux@foxmail.com>
Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/r/tencent_5AAA3EEAB42095C9B7740BE62FBF9A67E007@qq.com
parent fc4b4d96
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -1030,7 +1030,7 @@ static bool report_idle_softirq(void)
			return false;
	}

	if (ratelimit < 10)
	if (ratelimit >= 10)
		return false;

	/* On RT, softirqs handling may be waiting on some lock */