[PATCH 0/5] xen/rcu: rework the RCU logic

Roger Pau Monne posted 5 patches 2 weeks, 6 days ago
xen/common/rcupdate.c      | 502 +++++++++----------------------------
xen/include/xen/rcupdate.h |  45 ++--
xen/include/xen/sched.h    |   2 +-
3 files changed, 153 insertions(+), 396 deletions(-)
[PATCH 0/5] xen/rcu: rework the RCU logic
Posted by Roger Pau Monne 2 weeks, 6 days ago
Hello,

Following series aims to solve two problems we have observed with the
RCU subsystem, complete details on patch 4.

The series is basically a re-write (and IMO simplification) of the RCU
logic, patch 4 containing most of the newly introduced logic.

It's been (slightly) tested locally and on the safety CI.  Maybe I'm
being naive, but this looks much easier to reason about and maintain
than the current logic.

This "simplification" is only possible after the introduction of
rcu_read_{lock,unlock}() helpers that identify RCU critical sections.

Thanks, Roger.

Roger Pau Monne (5):
  xen/rcu: fix types
  xen/rcu: sort includes
  xen/rcu: introduce the concept of RCU epoch
  xen/rcu: simplify RCU implementation
  xen/rcu: remove rcu_needs_cpu()

 xen/common/rcupdate.c      | 502 +++++++++----------------------------
 xen/include/xen/rcupdate.h |  45 ++--
 xen/include/xen/sched.h    |   2 +-
 3 files changed, 153 insertions(+), 396 deletions(-)

-- 
2.53.0
Re: [PATCH 0/5] xen/rcu: rework the RCU logic
Posted by Jürgen Groß 6 days, 12 hours ago
On 04.09.26 19:11, Roger Pau Monne wrote:
> Hello,
> 
> Following series aims to solve two problems we have observed with the
> RCU subsystem, complete details on patch 4.
> 
> The series is basically a re-write (and IMO simplification) of the RCU
> logic, patch 4 containing most of the newly introduced logic.
> 
> It's been (slightly) tested locally and on the safety CI.  Maybe I'm
> being naive, but this looks much easier to reason about and maintain
> than the current logic.
> 
> This "simplification" is only possible after the introduction of
> rcu_read_{lock,unlock}() helpers that identify RCU critical sections.
> 
> Thanks, Roger.
> 
> Roger Pau Monne (5):
>    xen/rcu: fix types
>    xen/rcu: sort includes
>    xen/rcu: introduce the concept of RCU epoch
>    xen/rcu: simplify RCU implementation
>    xen/rcu: remove rcu_needs_cpu()
> 
>   xen/common/rcupdate.c      | 502 +++++++++----------------------------
>   xen/include/xen/rcupdate.h |  45 ++--
>   xen/include/xen/sched.h    |   2 +-
>   3 files changed, 153 insertions(+), 396 deletions(-)
> 

I have looked at the series with focus on the general approach, and I agree it
looks correct. I will look into the different patches in more detail next.


Juergen