[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ead963dd-11eb-44b4-9bf5-bab4dae4bcde@ideasonboard.com>
Date: Thu, 15 Jan 2026 21:20:50 +0000
From: Dan Scally <dan.scally@...asonboard.com>
To: Marco Crivellari <marco.crivellari@...e.com>,
linux-kernel@...r.kernel.org, linux-media@...r.kernel.org
Cc: Tejun Heo <tj@...nel.org>, Lai Jiangshan <jiangshanlai@...il.com>,
Frederic Weisbecker <frederic@...nel.org>,
Sebastian Andrzej Siewior <bigeasy@...utronix.de>,
Michal Hocko <mhocko@...e.com>, Mauro Carvalho Chehab <mchehab@...nel.org>
Subject: Re: [PATCH] media: platform: Add WQ_PERCPU to alloc_workqueue users
Hi Marco
On 13/01/2026 14:04, Marco Crivellari wrote:
> This continues the effort to refactor workqueue APIs, which began with
> the introduction of new workqueues and a new alloc_workqueue flag in:
>
> commit 128ea9f6ccfb ("workqueue: Add system_percpu_wq and system_dfl_wq")
> commit 930c2ea566af ("workqueue: Add new WQ_PERCPU flag")
>
> The refactoring is going to alter the default behavior of
> alloc_workqueue() to be unbound by default.
>
> With the introduction of the WQ_PERCPU flag (equivalent to !WQ_UNBOUND),
> any alloc_workqueue() caller that doesn’t explicitly specify WQ_UNBOUND
> must now use WQ_PERCPU. For more details see the Link tag below.
>
> In order to keep alloc_workqueue() behavior identical, explicitly request
> WQ_PERCPU.
>
> Link: https://lore.kernel.org/all/20250221112003.1dSuoGyc@linutronix.de/
> Suggested-by: Tejun Heo <tj@...nel.org>
> Signed-off-by: Marco Crivellari <marco.crivellari@...e.com>
> ---
Sorry for the delay getting back to you. I haven't looked at the impact of the refactoring in
detail, but I'm happy to trust you on the workqueue internals and this is line with the changes to
other drivers across the tree so:
Acked-by: Daniel Scally <dan.scally@...asonboard.com>
> drivers/media/platform/renesas/rzv2h-ivc/rzv2h-ivc-video.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/media/platform/renesas/rzv2h-ivc/rzv2h-ivc-video.c b/drivers/media/platform/renesas/rzv2h-ivc/rzv2h-ivc-video.c
> index 799453250b85..e3ff0482a84e 100644
> --- a/drivers/media/platform/renesas/rzv2h-ivc/rzv2h-ivc-video.c
> +++ b/drivers/media/platform/renesas/rzv2h-ivc/rzv2h-ivc-video.c
> @@ -445,7 +445,7 @@ int rzv2h_ivc_init_vdev(struct rzv2h_ivc *ivc, struct v4l2_device *v4l2_dev)
> INIT_LIST_HEAD(&ivc->buffers.queue);
> INIT_WORK(&ivc->buffers.work, rzv2h_ivc_transfer_buffer);
>
> - ivc->buffers.async_wq = alloc_workqueue("rzv2h-ivc", 0, 0);
> + ivc->buffers.async_wq = alloc_workqueue("rzv2h-ivc", WQ_PERCPU, 0);
> if (!ivc->buffers.async_wq)
> return -EINVAL;
>
Powered by blists - more mailing lists