diff options
author | Joel Fernandes (Google) <[email protected]> | 2023-09-05 00:02:11 +0000 |
---|---|---|
committer | Frederic Weisbecker <[email protected]> | 2023-09-11 22:36:40 +0200 |
commit | b96e7a5fa0ba9cda32888e04f8f4bac42d49a7f8 (patch) | |
tree | 9ce65a16b4e7f2a93222559b5b2b05b635cb8f0a /scripts/generate_rust_analyzer.py | |
parent | 7c1b3e0c988f2902695ef6175ab8ad00c0e8b65f (diff) |
rcu/tree: Defer setting of jiffies during stall reset
There are instances where rcu_cpu_stall_reset() is called when jiffies
did not get a chance to update for a long time. Before jiffies is
updated, the CPU stall detector can go off triggering false-positives
where a just-started grace period appears to be ages old. In the past,
we disabled stall detection in rcu_cpu_stall_reset() however this got
changed [1]. This is resulting in false-positives in KGDB usecase [2].
Fix this by deferring the update of jiffies to the third run of the FQS
loop. This is more robust, as, even if rcu_cpu_stall_reset() is called
just before jiffies is read, we would end up pushing out the jiffies
read by 3 more FQS loops. Meanwhile the CPU stall detection will be
delayed and we will not get any false positives.
[1] https://lore.kernel.org/all/[email protected]/
[2] https://lore.kernel.org/all/[email protected]/
Tested with rcutorture.cpu_stall option as well to verify stall behavior
with/without patch.
Tested-by: Huacai Chen <[email protected]>
Reported-by: Binbin Zhou <[email protected]>
Closes: https://lore.kernel.org/all/[email protected]/
Suggested-by: Paul McKenney <[email protected]>
Cc: Sergey Senozhatsky <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Cc: [email protected]
Fixes: a80be428fbc1 ("rcu: Do not disable GP stall detection in rcu_cpu_stall_reset()")
Signed-off-by: Joel Fernandes (Google) <[email protected]>
Signed-off-by: Paul E. McKenney <[email protected]>
Signed-off-by: Frederic Weisbecker <[email protected]>
Diffstat (limited to 'scripts/generate_rust_analyzer.py')
0 files changed, 0 insertions, 0 deletions