* Matthew Wilcox <willy@xxxxxxxxxxxxx> wrote: > On Mon, May 25, 2020 at 08:29:54AM +0200, Ingo Molnar wrote: > > > +void radix_tree_preload_end(void) > > > +{ > > > + local_unlock(&radix_tree_preloads.lock); > > > +} > > > +EXPORT_SYMBOL(radix_tree_preload_end); > > > > Since upstream we are still mapping the local_lock primitives to > > preempt_disable()/preempt_enable(), I believe these uninlining changes should not be done > > in this patch, i.e. idr_preload_end() and radix_tree_preload_end() should stay inline. > > But radix_tree_preloads is static, and I wouldn't be terribly happy to > see that exported to modules. Well, it seems a bit silly to make radix_tree_preload_end() a standalone function, on most distro kernels that don't have CONFIG_PREEMPT=y, preempt_enable() is a NOP: 0000000000002bf0 <radix_tree_preload_end>: 2bf0: c3 retq I.e. we'd be introducing a separate function call for no good reason. Thanks, Ingo