> Message du 19/04/21 01:03 > De : "Bart Van Assche" > A : "Christophe JAILLET" , tj@xxxxxxxxxx, jiangshanlai@xxxxxxxxx, saeedm@xxxxxxxxxx, leon@xxxxxxxxxx, davem@xxxxxxxxxxxxx, kuba@xxxxxxxxxx, "Tejun Heo" > Copie à : netdev@xxxxxxxxxxxxxxx, linux-rdma@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, kernel-janitors@xxxxxxxxxxxxxxx > Objet : Re: [PATCH 1/2] workqueue: Have 'alloc_workqueue()' like macros accept a format specifier > > On 4/18/21 2:26 PM, Christophe JAILLET wrote: > > Improve 'create_workqueue', 'create_freezable_workqueue' and > > 'create_singlethread_workqueue' so that they accept a format > > specifier and a variable number of arguments. > > > > This will put these macros more in line with 'alloc_ordered_workqueue' and > > the underlying 'alloc_workqueue()' function. > > > > This will also allow further code simplification. > > Please Cc Tejun for workqueue changes since he maintains the workqueue code. > Hi, The list in To: is the one given by get_maintainer.pl. Usualy, I only put the ML in Cc: I've run the script on the 2 patches of the serie and merged the 2 lists. Everyone is in the To: of the cover letter and of the 2 patches. If Théo is "Tejun Heo" ( (maintainer:WORKQUEUE) ), he is already in the To: line. CJ > > diff --git a/include/linux/workqueue.h b/include/linux/workqueue.h > > index d15a7730ee18..145e756ff315 100644 > > --- a/include/linux/workqueue.h > > +++ b/include/linux/workqueue.h > > @@ -425,13 +425,13 @@ struct workqueue_struct *alloc_workqueue(const char *fmt, > > alloc_workqueue(fmt, WQ_UNBOUND | __WQ_ORDERED | \ > > __WQ_ORDERED_EXPLICIT | (flags), 1, ##args) > > > > -#define create_workqueue(name) \ > > - alloc_workqueue("%s", __WQ_LEGACY | WQ_MEM_RECLAIM, 1, (name)) > > -#define create_freezable_workqueue(name) \ > > - alloc_workqueue("%s", __WQ_LEGACY | WQ_FREEZABLE | WQ_UNBOUND | \ > > - WQ_MEM_RECLAIM, 1, (name)) > > -#define create_singlethread_workqueue(name) \ > > - alloc_ordered_workqueue("%s", __WQ_LEGACY | WQ_MEM_RECLAIM, name) > > +#define create_workqueue(fmt, args...) \ > > + alloc_workqueue(fmt, __WQ_LEGACY | WQ_MEM_RECLAIM, 1, ##args) > > +#define create_freezable_workqueue(fmt, args...) \ > > + alloc_workqueue(fmt, __WQ_LEGACY | WQ_FREEZABLE | WQ_UNBOUND | \ > > + WQ_MEM_RECLAIM, 1, ##args) > > +#define create_singlethread_workqueue(fmt, args...) \ > > + alloc_ordered_workqueue(fmt, __WQ_LEGACY | WQ_MEM_RECLAIM, ##args) > > > > extern void destroy_workqueue(struct workqueue_struct *wq); > > > > > >