Re: [RFC PATCH 4/7] preempt/dynamic: Provide cond_resched() and might_resched() static calls

From: Frederic Weisbecker
Date: Mon Jan 18 2021 - 08:59:23 EST


On Tue, Nov 10, 2020 at 11:48:33AM +0100, Peter Zijlstra wrote:
> On Tue, Nov 10, 2020 at 11:39:09AM +0100, Peter Zijlstra wrote:
> > Subject: static_call: EXPORT_STATIC_CALL_TRAMP()
> > From: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
> > Date: Tue Nov 10 11:37:48 CET 2020
> >
> > For when we want to allow modules to call the static_call() but not
> > change it.
> >
> > Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
> > ---
> > @@ -269,6 +281,9 @@ static inline int static_call_text_reser
> > return 0;
> > }
> >
> > +#define EXPORT_STATIC_CALL_TRAMP(name)
> > +#define EXPORT_STATIC_CALL_TRAMP_GPL(name)
> > +
> > #define EXPORT_STATIC_CALL(name) EXPORT_SYMBOL(STATIC_CALL_KEY(name))
> > #define EXPORT_STATIC_CALL_GPL(name) EXPORT_SYMBOL_GPL(STATIC_CALL_KEY(name))
>
> Hurmph, this hunk is wrong, it should export the KEY in both cases :/
>
> That's unfortunate but unavoidable I suppose.

Right, AFAICT static_call() refers to both key and tramp in any case.