drivers/media/platform/renesas/rzv2h-ivc/rzv2h-ivc-video.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
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@kernel.org>
Signed-off-by: Marco Crivellari <marco.crivellari@suse.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;
--
2.52.0
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@kernel.org>
> Signed-off-by: Marco Crivellari <marco.crivellari@suse.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@ideasonboard.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;
>
On Thu, Jan 15, 2026 at 10:20 PM Dan Scally <dan.scally@ideasonboard.com> wrote: > [...] > 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@ideasonboard.com> Hi Daniel, No worries, thanks for your reply and the Ack! BTW, the introduction of WQ_PERCPU here it's only to keep the same old behavior, but make explicit it is per-cpu and not unbound. Looking at the code there is a big chance this can already be converted to unbound anyhow, (WQ_UNBOUND, explicitly) because I don't see per-cpu variables around. Otherwise this can be done in a later step, and keep the per-cpu behavior for now, like it has been till now. Thanks! -- Marco Crivellari L3 Support Engineer
© 2016 - 2026 Red Hat, Inc.