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

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
......@@ -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 */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment