[PATCH 1/5] rcu/exp: Protect against early QS report

2025-04-29 Thread Frederic Weisbecker
When a grace period is started, the ->expmask of each node is set up from sync_exp_reset_tree(). Then later on each leaf node also initialize its ->exp_tasks pointer. This means that the initialization of the quiescent state of a node and the initialization of its blocking tasks happen with an unl

Re: [PATCH 1/5] rcu/exp: Protect against early QS report

2025-03-19 Thread Frederic Weisbecker
Le Tue, Mar 18, 2025 at 10:17:16AM -0700, Paul E. McKenney a écrit : > On Fri, Mar 14, 2025 at 03:36:38PM +0100, Frederic Weisbecker wrote: > > When a grace period is started, the ->expmask of each node is set up > > from sync_exp_reset_tree(). Then later on each leaf node also initialize > > its -

Re: [PATCH 1/5] rcu/exp: Protect against early QS report

2025-03-18 Thread Paul E. McKenney
On Fri, Mar 14, 2025 at 03:36:38PM +0100, Frederic Weisbecker wrote: > When a grace period is started, the ->expmask of each node is set up > from sync_exp_reset_tree(). Then later on each leaf node also initialize > its ->exp_tasks pointer. > > This means that the initialization of the quiescent

Re: [PATCH 1/5] rcu/exp: Protect against early QS report

2025-03-16 Thread Frederic Weisbecker
Le Sun, Mar 16, 2025 at 10:23:45AM -0400, Joel Fernandes a écrit : > >> A small side effect of this patch could be: > >> > >> In the existing code, if between the sync_exp_reset_tree() and the > >> __sync_rcu_exp_select_node_cpus(), if a pre-existing reader unblocked and > >> completed, then I thin

Re: [PATCH 1/5] rcu/exp: Protect against early QS report

2025-03-16 Thread Joel Fernandes
On 3/16/2025 7:07 AM, Frederic Weisbecker wrote: >>> diff --git a/kernel/rcu/tree_exp.h b/kernel/rcu/tree_exp.h >>> index c36c7d5575ca..2fa7aa9155bd 100644 >>> --- a/kernel/rcu/tree_exp.h >>> +++ b/kernel/rcu/tree_exp.h >>> @@ -141,6 +141,13 @@ static void __maybe_unused sync_exp_reset_tree(void

Re: [PATCH 1/5] rcu/exp: Protect against early QS report

2025-03-16 Thread Frederic Weisbecker
Le Sat, Mar 15, 2025 at 07:59:45PM -0400, Joel Fernandes a écrit : > Hi Frederic, > > On Fri, Mar 14, 2025 at 03:36:38PM +0100, Frederic Weisbecker wrote: > > When a grace period is started, the ->expmask of each node is set up > > from sync_exp_reset_tree(). Then later on each leaf node also init

Re: [PATCH 1/5] rcu/exp: Protect against early QS report

2025-03-15 Thread Joel Fernandes
Hi Frederic, On Fri, Mar 14, 2025 at 03:36:38PM +0100, Frederic Weisbecker wrote: > When a grace period is started, the ->expmask of each node is set up > from sync_exp_reset_tree(). Then later on each leaf node also initialize > its ->exp_tasks pointer. > > This means that the initialization of

[PATCH 1/5] rcu/exp: Protect against early QS report

2025-03-14 Thread Frederic Weisbecker
When a grace period is started, the ->expmask of each node is set up from sync_exp_reset_tree(). Then later on each leaf node also initialize its ->exp_tasks pointer. This means that the initialization of the quiescent state of a node and the initialization of its blocking tasks happen with an unl