From: Oleg Nesterov <oleg@redhat.com>
To: Thomas Gleixner <tglx@linutronix.de>
Cc: Andy Lutomirski <luto@amacapital.net>,
Roman Pen <roman.penyaev@profitbricks.com>,
Andy Lutomirski <luto@kernel.org>,
Peter Zijlstra <peterz@infradead.org>,
Ingo Molnar <mingo@redhat.com>, Tejun Heo <tj@kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Chunming Zhou <David1.Zhou@amd.com>,
Alex Deucher <alexander.deucher@amd.com>
Subject: Re: [PATCH 2/2] kthread: don't use to_live_kthread() in kthread_park() and kthread_unpark()
Date: Wed, 9 Nov 2016 18:27:44 +0100 [thread overview]
Message-ID: <20161109172743.GB26446@redhat.com> (raw)
In-Reply-To: <alpine.DEB.2.20.1611090908270.3501@nanos>
On 11/09, Thomas Gleixner wrote:
>
> > - watchdog_park_threads() and it does not look nice. The code is actually
> > correct, get_online_cpus() ensures that kthread_park() can't race with
> > itself (note that kthread_park() can't handle this race correctly), but
> > imo it should not use kthread_park() directly.
>
> Should we provide an interface through the smpboot thread infrastructure for
> this?
IMHO yes, I'll write another email.
> I can see why that gpu driver wants to use the park mechanism and I guess
> there are other legitimate use cases as well. I prefer to implement a
> park/unpark variant which is safe to use on arbitrary kthreads
Yes, agreed. Again, I'll write another email. Perhaps we should even keep
park/unpark exported and change them to avoid the races with exit/itself,
I dunno.
My real point was, imo the KTHREAD_IS_PER_CPU/__kthread_bind(kthread->cpu)
logic in kthread_unpark() should be private to smpboot.c/cpu.c.
I'll send another patch tomorrow. kthread_create_worker_on_cpu() ab-uses
this logic too for no reason, but this is trivial.
> Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
Thanks!
Probably I should re-send these 2 short series to Ingo with your acks applied.
Oleg.
next prev parent reply other threads:[~2016-11-09 17:27 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-10-25 11:05 [PATCH v3 1/1] kthread: allocate kthread structure using kmalloc Roman Pen
2016-10-25 14:03 ` Oleg Nesterov
2016-10-25 15:43 ` Oleg Nesterov
2016-10-25 16:08 ` Roman Penyaev
2016-10-25 16:17 ` Oleg Nesterov
2016-10-25 16:52 ` Andy Lutomirski
2016-10-26 14:14 ` Oleg Nesterov
2016-10-26 14:57 ` Thomas Gleixner
2016-10-26 15:51 ` Oleg Nesterov
2016-10-26 18:31 ` Thomas Gleixner
2016-10-28 16:11 ` [PATCH 0/2] kthread: make struct kthread kmalloc'ed Oleg Nesterov
2016-10-28 16:11 ` [PATCH 1/2] " Oleg Nesterov
2016-10-28 18:48 ` Thomas Gleixner
2016-10-28 16:12 ` [PATCH 2/2] Revert "kthread: Pin the stack via try_get_task_stack()/put_task_stack() in to_live_kthread() function" Oleg Nesterov
2016-10-28 18:49 ` Thomas Gleixner
2016-10-28 18:44 ` [PATCH 0/2] kthread: make struct kthread kmalloc'ed Thomas Gleixner
2016-10-31 20:07 ` [PATCH 0/2] kthread: kill to_live_kthread() Oleg Nesterov
2016-10-31 20:07 ` [PATCH 1/2] kthread: don't use to_live_kthread() in kthread_stop() Oleg Nesterov
2016-11-09 7:58 ` Thomas Gleixner
2016-10-31 20:08 ` [PATCH 2/2] kthread: don't use to_live_kthread() in kthread_park() and kthread_unpark() Oleg Nesterov
2016-11-09 8:45 ` Thomas Gleixner
2016-11-09 17:27 ` Oleg Nesterov [this message]
2016-11-10 17:19 ` [PATCH 0/1] kthread: don't abuse kthread_create_on_cpu() in __kthread_create_worker() Oleg Nesterov
2016-11-10 17:20 ` [PATCH 1/1] " Oleg Nesterov
2016-11-14 11:12 ` Petr Mladek
2016-11-14 11:09 ` [PATCH 0/1] " Petr Mladek
2016-11-07 18:23 ` [PATCH 0/2] kthread: kill to_live_kthread() Andy Lutomirski
2016-10-26 16:13 ` [PATCH v3 1/1] kthread: allocate kthread structure using kmalloc Oleg Nesterov
2016-10-27 2:56 ` Josh Poimboeuf
2016-10-27 13:10 ` Oleg Nesterov
2016-10-25 15:46 ` Roman Penyaev
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20161109172743.GB26446@redhat.com \
--to=oleg@redhat.com \
--cc=David1.Zhou@amd.com \
--cc=alexander.deucher@amd.com \
--cc=linux-kernel@vger.kernel.org \
--cc=luto@amacapital.net \
--cc=luto@kernel.org \
--cc=mingo@redhat.com \
--cc=peterz@infradead.org \
--cc=roman.penyaev@profitbricks.com \
--cc=tglx@linutronix.de \
--cc=tj@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.