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