On 2026-07-08 15:04:32 [+0200], Petr Pavlu wrote: > As RCU usage in modules is now more common, I see an argument for the > module loader to invoke rcu_barrier() during module unload to make RCU > usage easier. In general, module unloading is a rare operation, so even > if it becomes somewhat slower, I don't expect it to be a significant > issue.
Okay. > One problem is that I'm not sure where the new rcu_barrier() call should > be placed. The prototype adds it before calling the module's exit > function. Would this actually fit all modules? From a quick look, I can > see that various modules call it at different points during their exit. I don't know why you would use call_rcu() in your module_exit() (pointing to the same module). But you could have call_rcu() invoking kmem_cache_free() and destroying that cache (kmem_cache_destroy()) in your exit path. From that perspective it would make sense to flush all calls before invoking module_exit(). > -- > Thanks, > Petr Sebastian
