On Tue, Apr 09, 2019 at 02:04:11PM -0400, Mathieu Desnoyers wrote:
----- On Apr 9, 2019, at 1:55 PM, paulmck paulmck(a)linux.ibm.com
wrote:
[...]
> The current state is not horrible, so my thought would be to give it
> some time to see if better thoughts arise.
>
> Either way, cleanup_srcu_struct() keeps its current checks for callbacks
> still being in flight, which is why I believe that the current state is
> not horrible. ;-)
In that case, I think the comment above cleanup_srcu_struct_quiesced() in
include/linux/srcu.h needs to be updated to cover situations where API
users statically define a SRCU domain in a module and intend to unload
that module.
Given that we end up doing the allocation/cleanup under the hood, the
API users don't interact with init_srcu_struct() nor cleanup_srcu_struct(),
so it's not obvious that this comment also applies to them.
Actually, it turned out that cleanup_srcu_struct_quiesced() is extremely
hard to use correctly, and maybe even impossible to use correctly.
So cleanup_srcu_struct_quiesced has been eliminated in current -rcu.
Thanx, Paul
Thanks,
Mathieu
--
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com