Re: [PATCH v2 2/7] radix-tree: Use local_lock for protection
From: Ingo Molnar
Date: Mon May 25 2020 - 09:26:13 EST
* 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