On 21 10月 21 09:58:58, Steven Rostedt wrote: > On Thu, 21 Oct 2021 21:53:12 +0800 > Cai Huoqing <caihuoqing@xxxxxxxxx> wrote: > > > > > +/** > > > > + * kthread_run_on_cpu - create and wake a cpu bound thread. > > > > + * @threadfn: the function to run until signal_pending(current). > > > > + * @data: data ptr for @threadfn. > > > > + * @cpu: The cpu on which the thread should be bound, > > > > + * @namefmt: printf-style name for the thread. Format is restricted > > > > + * to "name.*%u". Code fills in cpu number. > > > > + * > > > > + * Description: Convenient wrapper for kthread_create_on_node() > > > > + * followed by wake_up_process(). Returns the kthread or > > > > + * ERR_PTR(-ENOMEM). > > > > + */ > > > > +#define kthread_run_on_cpu(threadfn, data, cpu, namefmt) \ > > > > > > Why is this a macro and not a static inline function? > > > > > > -- Steve > > Hi,Thanks for your feedback, > > > > I think using static inline function is nice, but here try to keep > > consistent with the other macros, > > sush as kthread_create/kthread_init_work... > > Which they did because they didn't want to use va_list to have variable > arguments, which you don't have. > > Which begs the question, should you? > > -- Steve Hi, Thanks your reply. I get it, V3 here: https://lore.kernel.org/lkml/20211022025711.3673-2-caihuoqing@xxxxxxxxx/ Thanks, Cai