mbox series

[0/3] timers & RCU: Fix TREE03 stalls

Message ID 20231218231916.11719-1-frederic@kernel.org (mailing list archive)
Headers show
Series timers & RCU: Fix TREE03 stalls | expand

Message

Frederic Weisbecker Dec. 18, 2023, 11:19 p.m. UTC
5c0930ccaad5 ("hrtimers: Push pending hrtimers away from outgoing CPU earlier")
has introduced an issue with RCU. This is a proposal to solve the
situation after realizing that fixing that on the timers side wouldn't
be pretty to say the least.

Oh and the last patch is absolutely irrelevant to the issue...

Frederic Weisbecker (3):
  hrtimer: Report offline hrtimer enqueue
  rcu: Defer RCU kthreads wakeup when CPU is dying
  rcu/exp: Remove full barrier upon main thread wakeup

 include/linux/hrtimer.h |  3 ++-
 kernel/rcu/tree.c       | 34 +++++++++++++++++++++++++++++++++-
 kernel/rcu/tree_exp.h   |  8 +++-----
 kernel/time/hrtimer.c   |  3 +++
 4 files changed, 41 insertions(+), 7 deletions(-)

Comments

Paul E. McKenney Dec. 19, 2023, 1:40 a.m. UTC | #1
On Tue, Dec 19, 2023 at 12:19:13AM +0100, Frederic Weisbecker wrote:
> 5c0930ccaad5 ("hrtimers: Push pending hrtimers away from outgoing CPU earlier")
> has introduced an issue with RCU. This is a proposal to solve the
> situation after realizing that fixing that on the timers side wouldn't
> be pretty to say the least.
> 
> Oh and the last patch is absolutely irrelevant to the issue...

I pulled all three in and started testing.

That last one will need some careful review, but you knew that already.  ;-)

							Thanx, Paul

> Frederic Weisbecker (3):
>   hrtimer: Report offline hrtimer enqueue
>   rcu: Defer RCU kthreads wakeup when CPU is dying
>   rcu/exp: Remove full barrier upon main thread wakeup
> 
>  include/linux/hrtimer.h |  3 ++-
>  kernel/rcu/tree.c       | 34 +++++++++++++++++++++++++++++++++-
>  kernel/rcu/tree_exp.h   |  8 +++-----
>  kernel/time/hrtimer.c   |  3 +++
>  4 files changed, 41 insertions(+), 7 deletions(-)
> 
> -- 
> 2.42.1
>