Re: [RESEND][PATCH v3 06/17] static_call: Add basic static call infrastructure

From: Peter Zijlstra
Date: Thu Mar 26 2020 - 13:01:53 EST


On Thu, Mar 26, 2020 at 04:42:07PM +0000, Nadav Amit wrote:
> > On Mar 24, 2020, at 6:56 AM, Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:

> > + * API overview:
> > + *
> > + * DECLARE_STATIC_CALL(name, func);
> > + * DEFINE_STATIC_CALL(name, func);
> > + * static_call(name)(args...);
> > + * static_call_update(name, func);
> > + *
> > + * Usage example:
> > + *
> > + * # Start with the following functions (with identical prototypes):
> > + * int func_a(int arg1, int arg2);
> > + * int func_b(int arg1, int arg2);
> > + *
> > + * # Define a 'my_name' reference, associated with func_a() by default
> > + * DEFINE_STATIC_CALL(my_name, func_a);
>
> Do you want to support optional function attributes, such as âpureâ and
> âconstâ?

Do you see a need for that? And what is the syntax for a pointer to a
pure function?