* [PATCH] kthread: remove worker->task self-assignment @ 2026-08-29 16:01 Bradley Morgan 0 siblings, 0 replies; 12+ messages in thread From: Bradley Morgan @ 2026-08-29 16:01 UTC (permalink / raw) To: Frederic Weisbecker, Tejun Heo; +Cc: Peter Zijlstra, linux-kernel, brads From: Bradley Morgan <brads@mainlining.org> All kthread worker users now create their workers with kthread_create_worker*(), which sets worker->task before the worker starts. The self-assignment in kthread_worker_fn() is dead code now. Remove it. Signed-off-by: Bradley Morgan <brads@mainlining.org> --- kernel/kthread.c | 7 ------- 1 file changed, 7 deletions(-) diff --git a/kernel/kthread.c b/kernel/kthread.c index 63beb59b7a3d..18bc702e8d2d 100644 --- a/kernel/kthread.c +++ b/kernel/kthread.c @@ -987,13 +987,6 @@ int kthread_worker_fn(void *worker_ptr) struct kthread_worker *worker = worker_ptr; struct kthread_work *work; - /* - * FIXME: Update the check and remove the assignment when all kthread - * worker users are created using kthread_create_worker*() functions. - */ - WARN_ON(worker->task && worker->task != current); - worker->task = current; - if (worker->flags & KTW_FREEZABLE) set_freezable(); -- 2.47.3 ^ permalink raw reply [flat|nested] 12+ messages in thread
* [RESEND PATCH 0/5] kthread: remove worker->task self-assignment @ 2026-08-29 16:11 Bradley Morgan 2026-08-29 16:18 ` [PATCH] " Bradley Morgan 0 siblings, 1 reply; 12+ messages in thread From: Bradley Morgan @ 2026-08-29 16:11 UTC (permalink / raw) To: linux-kernel; +Cc: brads From: Bradley Morgan <brads@mainlining.org> Resent as a proper series with cover letter. The first send went out as five separate threads instead of one. kthread_worker_fn() has carried a FIXME for a decade: it assigns worker->task = current because the old kthread_run(kthread_worker_fn) callers never told the worker what task it was. The new kthread_create_worker*() API sets worker->task before the worker even starts, so the self-assignment is dead code. Four drivers were still on the old API. Convert them, then remove the FIXME. No functional change intended. Bradley Morgan (5): media: ivtv: convert to kthread_run_worker net: encx24j600: convert to kthread_run_worker tty: sc16is7xx: convert to kthread_run_worker cpufreq: schedutil: convert to kthread_create_worker kthread: remove worker->task self-assignment drivers/media/pci/ivtv/ivtv-driver.c | 11 ++++------- drivers/media/pci/ivtv/ivtv-driver.h | 3 +-- drivers/net/ethernet/microchip/encx24j600.c | 12 ++++-------- drivers/tty/serial/sc16is7xx.c | 17 +++++++---------- kernel/sched/cpufreq_schedutil.c | 14 +++++-------- kernel/kthread.c | 7 ------- 6 files changed, 21 insertions(+), 63 deletions(-) ^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH] kthread: remove worker->task self-assignment 2026-08-29 16:11 [RESEND PATCH 0/5] " Bradley Morgan @ 2026-08-29 16:18 ` Bradley Morgan 2026-09-01 12:45 ` Frederic Weisbecker 0 siblings, 1 reply; 12+ messages in thread From: Bradley Morgan @ 2026-08-29 16:18 UTC (permalink / raw) To: Frederic Weisbecker, Tejun Heo; +Cc: Peter Zijlstra, linux-kernel, brads From: Bradley Morgan <brads@mainlining.org> All kthread worker users now create their workers with kthread_create_worker*(), which sets worker->task before the worker starts. The self-assignment in kthread_worker_fn() is dead code now. Remove it. Signed-off-by: Bradley Morgan <brads@mainlining.org> --- kernel/kthread.c | 7 ------- 1 file changed, 7 deletions(-) diff --git a/kernel/kthread.c b/kernel/kthread.c index 63beb59b7a3d..18bc702e8d2d 100644 --- a/kernel/kthread.c +++ b/kernel/kthread.c @@ -987,13 +987,6 @@ int kthread_worker_fn(void *worker_ptr) struct kthread_worker *worker = worker_ptr; struct kthread_work *work; - /* - * FIXME: Update the check and remove the assignment when all kthread - * worker users are created using kthread_create_worker*() functions. - */ - WARN_ON(worker->task && worker->task != current); - worker->task = current; - if (worker->flags & KTW_FREEZABLE) set_freezable(); -- 2.47.3 ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] kthread: remove worker->task self-assignment 2026-08-29 16:18 ` [PATCH] " Bradley Morgan @ 2026-09-01 12:45 ` Frederic Weisbecker 2026-09-01 12:49 ` Peter Zijlstra 0 siblings, 1 reply; 12+ messages in thread From: Frederic Weisbecker @ 2026-09-01 12:45 UTC (permalink / raw) To: Bradley Morgan; +Cc: Tejun Heo, Peter Zijlstra, linux-kernel, brads Hi, Le Sat, Aug 29, 2026 at 04:18:48PM +0000, Bradley Morgan a écrit : > From: Bradley Morgan <brads@mainlining.org> > > All kthread worker users now create their workers with > kthread_create_worker*(), which sets worker->task before the worker > starts. The self-assignment in kthread_worker_fn() is dead code now. How could it be created before? > > Remove it. > > Signed-off-by: Bradley Morgan <brads@mainlining.org> > --- > kernel/kthread.c | 7 ------- > 1 file changed, 7 deletions(-) > > diff --git a/kernel/kthread.c b/kernel/kthread.c > index 63beb59b7a3d..18bc702e8d2d 100644 > --- a/kernel/kthread.c > +++ b/kernel/kthread.c > @@ -987,13 +987,6 @@ int kthread_worker_fn(void *worker_ptr) > struct kthread_worker *worker = worker_ptr; > struct kthread_work *work; > > - /* > - * FIXME: Update the check and remove the assignment when all kthread > - * worker users are created using kthread_create_worker*() functions. > - */ > - WARN_ON(worker->task && worker->task != current); Should we keep a WARN_ON(worker->task != current) here? Thanks. > - worker->task = current; > - > if (worker->flags & KTW_FREEZABLE) > set_freezable(); > > -- > 2.47.3 -- Frederic Weisbecker SUSE Labs ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] kthread: remove worker->task self-assignment 2026-09-01 12:45 ` Frederic Weisbecker @ 2026-09-01 12:49 ` Peter Zijlstra 2026-09-01 13:57 ` Bradley Morgan 0 siblings, 1 reply; 12+ messages in thread From: Peter Zijlstra @ 2026-09-01 12:49 UTC (permalink / raw) To: Frederic Weisbecker; +Cc: Bradley Morgan, Tejun Heo, linux-kernel, brads On Tue, Sep 01, 2026 at 02:45:43PM +0200, Frederic Weisbecker wrote: > Hi, > > Le Sat, Aug 29, 2026 at 04:18:48PM +0000, Bradley Morgan a écrit : > > From: Bradley Morgan <brads@mainlining.org> > > > > All kthread worker users now create their workers with > > kthread_create_worker*(), which sets worker->task before the worker > > starts. The self-assignment in kthread_worker_fn() is dead code now. > > How could it be created before? > > > > > Remove it. > > > > Signed-off-by: Bradley Morgan <brads@mainlining.org> > > --- > > kernel/kthread.c | 7 ------- > > 1 file changed, 7 deletions(-) > > > > diff --git a/kernel/kthread.c b/kernel/kthread.c > > index 63beb59b7a3d..18bc702e8d2d 100644 > > --- a/kernel/kthread.c > > +++ b/kernel/kthread.c > > @@ -987,13 +987,6 @@ int kthread_worker_fn(void *worker_ptr) > > struct kthread_worker *worker = worker_ptr; > > struct kthread_work *work; > > > > - /* > > - * FIXME: Update the check and remove the assignment when all kthread > > - * worker users are created using kthread_create_worker*() functions. > > - */ > > - WARN_ON(worker->task && worker->task != current); > > Should we keep a WARN_ON(worker->task != current) here? I vote yes! Paranoia is good :-) ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] kthread: remove worker->task self-assignment 2026-09-01 12:49 ` Peter Zijlstra @ 2026-09-01 13:57 ` Bradley Morgan 2026-09-01 14:04 ` Bradley Morgan 2026-09-01 14:06 ` Frederic Weisbecker 0 siblings, 2 replies; 12+ messages in thread From: Bradley Morgan @ 2026-09-01 13:57 UTC (permalink / raw) To: Peter Zijlstra, Frederic Weisbecker Cc: Bradley Morgan, Tejun Heo, linux-kernel On 1 September 2026 13:49:00 BST, Peter Zijlstra <peterz@infradead.org> wrote: >On Tue, Sep 01, 2026 at 02:45:43PM +0200, Frederic Weisbecker wrote: >> Hi, >> >> Le Sat, Aug 29, 2026 at 04:18:48PM +0000, Bradley Morgan a écrit : >> > From: Bradley Morgan <brads@mainlining.org> >> > >> > All kthread worker users now create their workers with >> > kthread_create_worker*(), which sets worker->task before the worker >> > starts. The self-assignment in kthread_worker_fn() is dead code now. >> >> How could it be created before? >> >> > >> > Remove it. >> > >> > Signed-off-by: Bradley Morgan <brads@mainlining.org> >> > --- >> > kernel/kthread.c | 7 ------- >> > 1 file changed, 7 deletions(-) >> > >> > diff --git a/kernel/kthread.c b/kernel/kthread.c >> > index 63beb59b7a3d..18bc702e8d2d 100644 >> > --- a/kernel/kthread.c >> > +++ b/kernel/kthread.c >> > @@ -987,13 +987,6 @@ int kthread_worker_fn(void *worker_ptr) >> > struct kthread_worker *worker = worker_ptr; >> > struct kthread_work *work; >> > >> > - /* >> > - * FIXME: Update the check and remove the assignment when all kthread >> > - * worker users are created using kthread_create_worker*() functions. >> > - */ >> > - WARN_ON(worker->task && worker->task != current); >> >> Should we keep a WARN_ON(worker->task != current) here? > >I vote yes! Paranoia is good :-) > Yeah, but it *should* be useless. Do you really want me to readd the warn statement? Maybe add some text, like "worker->task is deprecated"? --- Thanks! https://lore.kernel.org/all/EE579805-42F2-4C58-B752-F28779EEB717@grrlz.net/ ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] kthread: remove worker->task self-assignment 2026-09-01 13:57 ` Bradley Morgan @ 2026-09-01 14:04 ` Bradley Morgan 2026-09-01 14:06 ` Frederic Weisbecker 1 sibling, 0 replies; 12+ messages in thread From: Bradley Morgan @ 2026-09-01 14:04 UTC (permalink / raw) To: Peter Zijlstra, Frederic Weisbecker Cc: Bradley Morgan, Tejun Heo, linux-kernel On 1 September 2026 14:57:38 BST, Bradley Morgan <brads@mainlining.org> wrote: >On 1 September 2026 13:49:00 BST, Peter Zijlstra <peterz@infradead.org> >wrote: >>On Tue, Sep 01, 2026 at 02:45:43PM +0200, Frederic Weisbecker wrote: >>> Hi, >>> >>> Le Sat, Aug 29, 2026 at 04:18:48PM +0000, Bradley Morgan a écrit : >>> > From: Bradley Morgan <brads@mainlining.org> >>> > >>> > All kthread worker users now create their workers with >>> > kthread_create_worker*(), which sets worker->task before the worker >>> > starts. The self-assignment in kthread_worker_fn() is dead code now. >>> >>> How could it be created before? >>> >>> > >>> > Remove it. >>> > >>> > Signed-off-by: Bradley Morgan <brads@mainlining.org> >>> > --- >>> > kernel/kthread.c | 7 ------- >>> > 1 file changed, 7 deletions(-) >>> > >>> > diff --git a/kernel/kthread.c b/kernel/kthread.c >>> > index 63beb59b7a3d..18bc702e8d2d 100644 >>> > --- a/kernel/kthread.c >>> > +++ b/kernel/kthread.c >>> > @@ -987,13 +987,6 @@ int kthread_worker_fn(void *worker_ptr) >>> > struct kthread_worker *worker = worker_ptr; >>> > struct kthread_work *work; >>> > >>> > - /* >>> > - * FIXME: Update the check and remove the assignment when all kthread >>> > - * worker users are created using kthread_create_worker*() functions. >>> > - */ >>> > - WARN_ON(worker->task && worker->task != current); >>> >>> Should we keep a WARN_ON(worker->task != current) here? >> >>I vote yes! Paranoia is good :-) >> > > >Yeah, but it *should* be useless. Do you really want me to readd the warn >statement? Maybe add some text, like > >"worker->task is deprecated"? Btw this is a "something around the lines of", so it's definitely not gonna be this! (Its sorta wrong too) > >--- Thanks! >https://lore.kernel.org/all/EE579805-42F2-4C58-B752-F28779EEB717@grrlz.net/ --- Thanks! https://lore.kernel.org/all/EE579805-42F2-4C58-B752-F28779EEB717@grrlz.net/ ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] kthread: remove worker->task self-assignment 2026-09-01 13:57 ` Bradley Morgan 2026-09-01 14:04 ` Bradley Morgan @ 2026-09-01 14:06 ` Frederic Weisbecker 2026-09-01 14:09 ` Bradley Morgan 2026-09-01 18:28 ` Bradley Morgan 1 sibling, 2 replies; 12+ messages in thread From: Frederic Weisbecker @ 2026-09-01 14:06 UTC (permalink / raw) To: Bradley Morgan; +Cc: Peter Zijlstra, Bradley Morgan, Tejun Heo, linux-kernel Le Tue, Sep 01, 2026 at 02:57:38PM +0100, Bradley Morgan a écrit : > On 1 September 2026 13:49:00 BST, Peter Zijlstra <peterz@infradead.org> > wrote: > >On Tue, Sep 01, 2026 at 02:45:43PM +0200, Frederic Weisbecker wrote: > >> Hi, > >> > >> Le Sat, Aug 29, 2026 at 04:18:48PM +0000, Bradley Morgan a écrit : > >> > From: Bradley Morgan <brads@mainlining.org> > >> > > >> > All kthread worker users now create their workers with > >> > kthread_create_worker*(), which sets worker->task before the worker > >> > starts. The self-assignment in kthread_worker_fn() is dead code now. > >> > >> How could it be created before? > >> > >> > > >> > Remove it. > >> > > >> > Signed-off-by: Bradley Morgan <brads@mainlining.org> > >> > --- > >> > kernel/kthread.c | 7 ------- > >> > 1 file changed, 7 deletions(-) > >> > > >> > diff --git a/kernel/kthread.c b/kernel/kthread.c > >> > index 63beb59b7a3d..18bc702e8d2d 100644 > >> > --- a/kernel/kthread.c > >> > +++ b/kernel/kthread.c > >> > @@ -987,13 +987,6 @@ int kthread_worker_fn(void *worker_ptr) > >> > struct kthread_worker *worker = worker_ptr; > >> > struct kthread_work *work; > >> > > >> > - /* > >> > - * FIXME: Update the check and remove the assignment when all kthread > >> > - * worker users are created using kthread_create_worker*() functions. > >> > - */ > >> > - WARN_ON(worker->task && worker->task != current); > >> > >> Should we keep a WARN_ON(worker->task != current) here? > > > >I vote yes! Paranoia is good :-) > > > > > Yeah, but it *should* be useless. Famous last words :-) > Do you really want me to readd the warn > statement? Maybe add some text, like > > "worker->task is deprecated"? Is it deprecated? We still need that field for wakeup on queue at least. Don't bother with a message, it's only a sanity check. Thanks. > > --- Thanks! > https://lore.kernel.org/all/EE579805-42F2-4C58-B752-F28779EEB717@grrlz.net/ -- Frederic Weisbecker SUSE Labs ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] kthread: remove worker->task self-assignment 2026-09-01 14:06 ` Frederic Weisbecker @ 2026-09-01 14:09 ` Bradley Morgan 2026-09-02 14:09 ` Frederic Weisbecker 2026-09-01 18:28 ` Bradley Morgan 1 sibling, 1 reply; 12+ messages in thread From: Bradley Morgan @ 2026-09-01 14:09 UTC (permalink / raw) To: Frederic Weisbecker Cc: Peter Zijlstra, Bradley Morgan, Tejun Heo, linux-kernel On 1 September 2026 15:06:51 BST, Frederic Weisbecker <frederic@kernel.org> wrote: >Le Tue, Sep 01, 2026 at 02:57:38PM +0100, Bradley Morgan a écrit : >> On 1 September 2026 13:49:00 BST, Peter Zijlstra <peterz@infradead.org> >> wrote: >> >On Tue, Sep 01, 2026 at 02:45:43PM +0200, Frederic Weisbecker wrote: >> >> Hi, >> >> >> >> Le Sat, Aug 29, 2026 at 04:18:48PM +0000, Bradley Morgan a écrit : >> >> > From: Bradley Morgan <brads@mainlining.org> >> >> > >> >> > All kthread worker users now create their workers with >> >> > kthread_create_worker*(), which sets worker->task before the worker >> >> > starts. The self-assignment in kthread_worker_fn() is dead code >now. >> >> >> >> How could it be created before? >> >> >> >> > >> >> > Remove it. >> >> > >> >> > Signed-off-by: Bradley Morgan <brads@mainlining.org> >> >> > --- >> >> > kernel/kthread.c | 7 ------- >> >> > 1 file changed, 7 deletions(-) >> >> > >> >> > diff --git a/kernel/kthread.c b/kernel/kthread.c >> >> > index 63beb59b7a3d..18bc702e8d2d 100644 >> >> > --- a/kernel/kthread.c >> >> > +++ b/kernel/kthread.c >> >> > @@ -987,13 +987,6 @@ int kthread_worker_fn(void *worker_ptr) >> >> > struct kthread_worker *worker = worker_ptr; >> >> > struct kthread_work *work; >> >> > >> >> > - /* >> >> > - * FIXME: Update the check and remove the assignment when all kthread >> >> > - * worker users are created using kthread_create_worker*() functions. >> >> > - */ >> >> > - WARN_ON(worker->task && worker->task != current); >> >> >> >> Should we keep a WARN_ON(worker->task != current) here? >> > >> >I vote yes! Paranoia is good :-) >> > >> >> >> Yeah, but it *should* be useless. > >Famous last words :-) > Hahahaha >> Do you really want me to readd the warn >> statement? Maybe add some text, like >> >> "worker->task is deprecated"? > >Is it deprecated? We still need that field for wakeup on queue at least. >Don't bother with a message, it's only a sanity check. Okie, I did convert all the drivers as you can see, if you wanna give it a lookie > >Thanks. > >> >> --- Thanks! >> >https://lore.kernel.org/all/EE579805-42F2-4C58-B752-F28779EEB717@grrlz.net/ > > --- Thanks! https://lore.kernel.org/all/EE579805-42F2-4C58-B752-F28779EEB717@grrlz.net/ ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] kthread: remove worker->task self-assignment 2026-09-01 14:09 ` Bradley Morgan @ 2026-09-02 14:09 ` Frederic Weisbecker 2026-09-02 14:11 ` Bradley Morgan 0 siblings, 1 reply; 12+ messages in thread From: Frederic Weisbecker @ 2026-09-02 14:09 UTC (permalink / raw) To: Bradley Morgan; +Cc: Peter Zijlstra, Bradley Morgan, Tejun Heo, linux-kernel Le Tue, Sep 01, 2026 at 03:09:03PM +0100, Bradley Morgan a écrit : > On 1 September 2026 15:06:51 BST, Frederic Weisbecker <frederic@kernel.org> > wrote: > >Le Tue, Sep 01, 2026 at 02:57:38PM +0100, Bradley Morgan a écrit : > >> On 1 September 2026 13:49:00 BST, Peter Zijlstra <peterz@infradead.org> > >> wrote: > >> >On Tue, Sep 01, 2026 at 02:45:43PM +0200, Frederic Weisbecker wrote: > >> >> Hi, > >> >> > >> >> Le Sat, Aug 29, 2026 at 04:18:48PM +0000, Bradley Morgan a écrit : > >> >> > From: Bradley Morgan <brads@mainlining.org> > >> >> > > >> >> > All kthread worker users now create their workers with > >> >> > kthread_create_worker*(), which sets worker->task before the worker > >> >> > starts. The self-assignment in kthread_worker_fn() is dead code > >now. > >> >> > >> >> How could it be created before? > >> >> > >> >> > > >> >> > Remove it. > >> >> > > >> >> > Signed-off-by: Bradley Morgan <brads@mainlining.org> > >> >> > --- > >> >> > kernel/kthread.c | 7 ------- > >> >> > 1 file changed, 7 deletions(-) > >> >> > > >> >> > diff --git a/kernel/kthread.c b/kernel/kthread.c > >> >> > index 63beb59b7a3d..18bc702e8d2d 100644 > >> >> > --- a/kernel/kthread.c > >> >> > +++ b/kernel/kthread.c > >> >> > @@ -987,13 +987,6 @@ int kthread_worker_fn(void *worker_ptr) > >> >> > struct kthread_worker *worker = worker_ptr; > >> >> > struct kthread_work *work; > >> >> > > >> >> > - /* > >> >> > - * FIXME: Update the check and remove the assignment when all kthread > >> >> > - * worker users are created using kthread_create_worker*() functions. > >> >> > - */ > >> >> > - WARN_ON(worker->task && worker->task != current); > >> >> > >> >> Should we keep a WARN_ON(worker->task != current) here? > >> > > >> >I vote yes! Paranoia is good :-) > >> > > >> > >> > >> Yeah, but it *should* be useless. > > > >Famous last words :-) > > > > Hahahaha > > >> Do you really want me to readd the warn > >> statement? Maybe add some text, like > >> > >> "worker->task is deprecated"? > > > >Is it deprecated? We still need that field for wakeup on queue at least. > >Don't bother with a message, it's only a sanity check. > > Okie, I did convert all the drivers as you can see, if you wanna give it a > lookie Do you have a link to that? Thanks. > > > > >Thanks. > > > >> > >> --- Thanks! > >> > >https://lore.kernel.org/all/EE579805-42F2-4C58-B752-F28779EEB717@grrlz.net/ > > > > > > --- Thanks! > https://lore.kernel.org/all/EE579805-42F2-4C58-B752-F28779EEB717@grrlz.net/ -- Frederic Weisbecker SUSE Labs ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] kthread: remove worker->task self-assignment 2026-09-02 14:09 ` Frederic Weisbecker @ 2026-09-02 14:11 ` Bradley Morgan 0 siblings, 0 replies; 12+ messages in thread From: Bradley Morgan @ 2026-09-02 14:11 UTC (permalink / raw) To: Frederic Weisbecker Cc: Peter Zijlstra, Bradley Morgan, Tejun Heo, linux-kernel On 2 September 2026 15:09:05 BST, Frederic Weisbecker <frederic@kernel.org> wrote: >Le Tue, Sep 01, 2026 at 03:09:03PM +0100, Bradley Morgan a écrit : >> On 1 September 2026 15:06:51 BST, Frederic Weisbecker ><frederic@kernel.org> >> wrote: >> >Le Tue, Sep 01, 2026 at 02:57:38PM +0100, Bradley Morgan a écrit : >> >> On 1 September 2026 13:49:00 BST, Peter Zijlstra ><peterz@infradead.org> >> >> wrote: >> >> >On Tue, Sep 01, 2026 at 02:45:43PM +0200, Frederic Weisbecker wrote: >> >> >> Hi, >> >> >> >> >> >> Le Sat, Aug 29, 2026 at 04:18:48PM +0000, Bradley Morgan a écrit : >> >> >> > From: Bradley Morgan <brads@mainlining.org> >> >> >> > >> >> >> > All kthread worker users now create their workers with >> >> >> > kthread_create_worker*(), which sets worker->task before the >worker >> >> >> > starts. The self-assignment in kthread_worker_fn() is dead code >> >now. >> >> >> >> >> >> How could it be created before? >> >> >> >> >> >> > >> >> >> > Remove it. >> >> >> > >> >> >> > Signed-off-by: Bradley Morgan <brads@mainlining.org> >> >> >> > --- >> >> >> > kernel/kthread.c | 7 ------- >> >> >> > 1 file changed, 7 deletions(-) >> >> >> > >> >> >> > diff --git a/kernel/kthread.c b/kernel/kthread.c >> >> >> > index 63beb59b7a3d..18bc702e8d2d 100644 >> >> >> > --- a/kernel/kthread.c >> >> >> > +++ b/kernel/kthread.c >> >> >> > @@ -987,13 +987,6 @@ int kthread_worker_fn(void *worker_ptr) >> >> >> > struct kthread_worker *worker = worker_ptr; >> >> >> > struct kthread_work *work; >> >> >> > >> >> >> > - /* >> >> >> > - * FIXME: Update the check and remove the assignment when all kthread >> >> >> > - * worker users are created using kthread_create_worker*() functions. >> >> >> > - */ >> >> >> > - WARN_ON(worker->task && worker->task != current); >> >> >> >> >> >> Should we keep a WARN_ON(worker->task != current) here? >> >> > >> >> >I vote yes! Paranoia is good :-) >> >> > >> >> >> >> >> >> Yeah, but it *should* be useless. >> > >> >Famous last words :-) >> > >> >> Hahahaha >> >> >> Do you really want me to readd the warn >> >> statement? Maybe add some text, like >> >> >> >> "worker->task is deprecated"? >> > >> >Is it deprecated? We still need that field for wakeup on queue at >least. >> >Don't bother with a message, it's only a sanity check. >> >> Okie, I did convert all the drivers as you can see, if you wanna give it >a >> lookie > >Do you have a link to that? > >Thanks. uhh, they should be all in-reply-tos, so if you search for my series in lore, this patch replies to all of the conversions > >> >> > >> >Thanks. >> > >> >> >> >> --- Thanks! >> >> >> >>https://lore.kernel.org/all/EE579805-42F2-4C58-B752-F28779EEB717@grrlz.net/ >> > >> > >> >> --- Thanks! >> >https://lore.kernel.org/all/EE579805-42F2-4C58-B752-F28779EEB717@grrlz.net/ > > --- Thanks! https://lore.kernel.org/all/EE579805-42F2-4C58-B752-F28779EEB717@grrlz.net/ ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] kthread: remove worker->task self-assignment 2026-09-01 14:06 ` Frederic Weisbecker 2026-09-01 14:09 ` Bradley Morgan @ 2026-09-01 18:28 ` Bradley Morgan 2026-09-02 14:10 ` Frederic Weisbecker 1 sibling, 1 reply; 12+ messages in thread From: Bradley Morgan @ 2026-09-01 18:28 UTC (permalink / raw) To: Frederic Weisbecker Cc: Peter Zijlstra, Bradley Morgan, Tejun Heo, linux-kernel On 1 September 2026 15:06:51 BST, Frederic Weisbecker <frederic@kernel.org> wrote: >Le Tue, Sep 01, 2026 at 02:57:38PM +0100, Bradley Morgan a écrit : >> On 1 September 2026 13:49:00 BST, Peter Zijlstra <peterz@infradead.org> >> wrote: >> >On Tue, Sep 01, 2026 at 02:45:43PM +0200, Frederic Weisbecker wrote: >> >> Hi, >> >> >> >> Le Sat, Aug 29, 2026 at 04:18:48PM +0000, Bradley Morgan a écrit : >> >> > From: Bradley Morgan <brads@mainlining.org> >> >> > >> >> > All kthread worker users now create their workers with >> >> > kthread_create_worker*(), which sets worker->task before the worker >> >> > starts. The self-assignment in kthread_worker_fn() is dead code >now. >> >> >> >> How could it be created before? >> >> >> >> > >> >> > Remove it. >> >> > >> >> > Signed-off-by: Bradley Morgan <brads@mainlining.org> >> >> > --- >> >> > kernel/kthread.c | 7 ------- >> >> > 1 file changed, 7 deletions(-) >> >> > >> >> > diff --git a/kernel/kthread.c b/kernel/kthread.c >> >> > index 63beb59b7a3d..18bc702e8d2d 100644 >> >> > --- a/kernel/kthread.c >> >> > +++ b/kernel/kthread.c >> >> > @@ -987,13 +987,6 @@ int kthread_worker_fn(void *worker_ptr) >> >> > struct kthread_worker *worker = worker_ptr; >> >> > struct kthread_work *work; >> >> > >> >> > - /* >> >> > - * FIXME: Update the check and remove the assignment when all kthread >> >> > - * worker users are created using kthread_create_worker*() functions. >> >> > - */ >> >> > - WARN_ON(worker->task && worker->task != current); >> >> >> >> Should we keep a WARN_ON(worker->task != current) here? >> > >> >I vote yes! Paranoia is good :-) >> > >> >> >> Yeah, but it *should* be useless. > >Famous last words :-) > >> Do you really want me to readd the warn >> statement? Maybe add some text, like >> >> "worker->task is deprecated"? > >Is it deprecated? We still need that field for wakeup on queue at least. >Don't bother with a message, it's only a sanity check. > >Thanks. Hi, I hopped on the computer, Right, so the whole warn on things is good, but I converted all the callers, so it'll never fire. For OOT users, maybe this'll be beneficial (but yk what their like, theyll remove the warn on) Guys, what do you think? > >> >> --- Thanks! >> >https://lore.kernel.org/all/EE579805-42F2-4C58-B752-F28779EEB717@grrlz.net/ > > --- Thanks! https://lore.kernel.org/all/EE579805-42F2-4C58-B752-F28779EEB717@grrlz.net/ ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] kthread: remove worker->task self-assignment 2026-09-01 18:28 ` Bradley Morgan @ 2026-09-02 14:10 ` Frederic Weisbecker 0 siblings, 0 replies; 12+ messages in thread From: Frederic Weisbecker @ 2026-09-02 14:10 UTC (permalink / raw) To: Bradley Morgan; +Cc: Peter Zijlstra, Bradley Morgan, Tejun Heo, linux-kernel Le Tue, Sep 01, 2026 at 07:28:19PM +0100, Bradley Morgan a écrit : > On 1 September 2026 15:06:51 BST, Frederic Weisbecker <frederic@kernel.org> > wrote: > >Le Tue, Sep 01, 2026 at 02:57:38PM +0100, Bradley Morgan a écrit : > >> On 1 September 2026 13:49:00 BST, Peter Zijlstra <peterz@infradead.org> > >> wrote: > >> >On Tue, Sep 01, 2026 at 02:45:43PM +0200, Frederic Weisbecker wrote: > >> >> Hi, > >> >> > >> >> Le Sat, Aug 29, 2026 at 04:18:48PM +0000, Bradley Morgan a écrit : > >> >> > From: Bradley Morgan <brads@mainlining.org> > >> >> > > >> >> > All kthread worker users now create their workers with > >> >> > kthread_create_worker*(), which sets worker->task before the worker > >> >> > starts. The self-assignment in kthread_worker_fn() is dead code > >now. > >> >> > >> >> How could it be created before? > >> >> > >> >> > > >> >> > Remove it. > >> >> > > >> >> > Signed-off-by: Bradley Morgan <brads@mainlining.org> > >> >> > --- > >> >> > kernel/kthread.c | 7 ------- > >> >> > 1 file changed, 7 deletions(-) > >> >> > > >> >> > diff --git a/kernel/kthread.c b/kernel/kthread.c > >> >> > index 63beb59b7a3d..18bc702e8d2d 100644 > >> >> > --- a/kernel/kthread.c > >> >> > +++ b/kernel/kthread.c > >> >> > @@ -987,13 +987,6 @@ int kthread_worker_fn(void *worker_ptr) > >> >> > struct kthread_worker *worker = worker_ptr; > >> >> > struct kthread_work *work; > >> >> > > >> >> > - /* > >> >> > - * FIXME: Update the check and remove the assignment when all kthread > >> >> > - * worker users are created using kthread_create_worker*() functions. > >> >> > - */ > >> >> > - WARN_ON(worker->task && worker->task != current); > >> >> > >> >> Should we keep a WARN_ON(worker->task != current) here? > >> > > >> >I vote yes! Paranoia is good :-) > >> > > >> > >> > >> Yeah, but it *should* be useless. > > > >Famous last words :-) > > > >> Do you really want me to readd the warn > >> statement? Maybe add some text, like > >> > >> "worker->task is deprecated"? > > > >Is it deprecated? We still need that field for wakeup on queue at least. > >Don't bother with a message, it's only a sanity check. > > > >Thanks. > > Hi, I hopped on the computer, > > Right, so the whole warn on things is good, but I converted all the > callers, so it'll never fire. > > For OOT users, maybe this'll be beneficial (but yk what their like, theyll > remove the warn on) > > Guys, what do you think? The warning is mostly to prevent from future changes to break. Thanks. > > > > >> > >> --- Thanks! > >> > >https://lore.kernel.org/all/EE579805-42F2-4C58-B752-F28779EEB717@grrlz.net/ > > > > > > --- Thanks! > https://lore.kernel.org/all/EE579805-42F2-4C58-B752-F28779EEB717@grrlz.net/ -- Frederic Weisbecker SUSE Labs ^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2026-09-02 14:12 UTC | newest] Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2026-08-29 16:01 [PATCH] kthread: remove worker->task self-assignment Bradley Morgan 2026-08-29 16:11 [RESEND PATCH 0/5] " Bradley Morgan 2026-08-29 16:18 ` [PATCH] " Bradley Morgan 2026-09-01 12:45 ` Frederic Weisbecker 2026-09-01 12:49 ` Peter Zijlstra 2026-09-01 13:57 ` Bradley Morgan 2026-09-01 14:04 ` Bradley Morgan 2026-09-01 14:06 ` Frederic Weisbecker 2026-09-01 14:09 ` Bradley Morgan 2026-09-02 14:09 ` Frederic Weisbecker 2026-09-02 14:11 ` Bradley Morgan 2026-09-01 18:28 ` Bradley Morgan 2026-09-02 14:10 ` Frederic Weisbecker
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®