[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <042f5fff-5faf-f3c5-0819-b8c8d766ede6@acm.org>
Date: Sun, 18 Apr 2021 16:03:18 -0700
From: Bart Van Assche <bvanassche@....org>
To: Christophe JAILLET <christophe.jaillet@...adoo.fr>, tj@...nel.org,
jiangshanlai@...il.com, saeedm@...dia.com, leon@...nel.org,
davem@...emloft.net, kuba@...nel.org, Tejun Heo <tj@...nel.org>
Cc: netdev@...r.kernel.org, linux-rdma@...r.kernel.org,
linux-kernel@...r.kernel.org, kernel-janitors@...r.kernel.org
Subject: 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.
> 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);
>
>
Powered by blists - more mailing lists