Re: [PATCH] drm/sched: replace use of system_wq with system_percpu_wq

From: Marco Crivellari

Date: Wed Nov 05 2025 - 03:55:38 EST


On Wed, Nov 5, 2025 at 9:39 AM Philipp Stanner <phasta@xxxxxxxxxxx> wrote:
>
> nit: s/replace/Replace
>
> On Tue, 2025-11-04 at 17:52 +0100, Marco Crivellari wrote:
> > Currently if a user enqueue a work item using schedule_delayed_work() the
>
> s/enqueue/enqueues
>
> Also: maybe start the sentence with something like "In the general
> workqueue implementation, if a user […]". Otherwise it at first reads
> as if we're talking about a drm/sched user here.
>
> In general, the commit message should focus more on drm/sched. See
> below, too.
>
> > used wq is "system_wq" (per-cpu wq) while queue_delayed_work() use
> > WORK_CPU_UNBOUND (used when a cpu is not specified). The same applies to
> > schedule_work() that is using system_wq and queue_work(), that makes use
> > again of WORK_CPU_UNBOUND.
> >
> > This lack of consistentcy cannot be addressed without refactoring the API.
> >
> > This patch continues the effort to refactor worqueue APIs, which has begun
> > with the change introducing new workqueues and a new alloc_workqueue flag:
> >
> > commit 128ea9f6ccfb ("workqueue: Add system_percpu_wq and system_dfl_wq")
> > commit 930c2ea566af ("workqueue: Add new WQ_PERCPU flag")
>
> From my POV it would be enough if you provide these commits in this
> commit message and maybe a Link: to the overall discussion in the
> workqueue subsystem / implementation.
>
> You can give the details above if you want, but I think drm/sched
> doesn't care too much about them. The drm/sched users who really care
> about the timeout_wq's exact behavior use one they allocate themselves
> anyways.
>
> >
> > system_wq should be the per-cpu workqueue, yet in this name nothing makes
> > that clear, so replace system_wq with system_percpu_wq.
> >
> > The old wq (system_wq) will be kept for a few release cycles.
>
> Please state in your commit message what you're actually doing to
> drm/sched. Like:
>
> "Use the successor of system_wq, system_percpu_wq, for the scheduler's
> default timeout_wq. system_wq will be removed in a few release cycles."
>[...]
> Actual change looks fine by me.
>
>
> Thanks for your patch,
> P.

Many thanks for all your feedback Philipp.

--

Marco Crivellari

L3 Support Engineer, Technology & Product