Messages in this thread | | | From | Rusty Russell <> | Subject | Re: [PATCH] kthread: Implement park/unpark facility | Date | Sun, 10 Jun 2012 15:10:42 +0930 |
| |
On Tue, 5 Jun 2012 15:41:48 +0200 (CEST), Thomas Gleixner <tglx@linutronix.de> wrote: > Subject: kthread: Implement park/unpark facility > From: Thomas Gleixner <tglx@linutronix.de> > Date: Wed, 18 Apr 2012 16:37:40 +0200 > > To avoid the full teardown/setup of per cpu kthreads in the case of > cpu hot(un)plug, provide a facility which allows to put the kthread > into a park position and unpark it when the cpu comes online again.
Like the idea, but the API is awkward. Now you've made returning from a thread do different things depending on whether it was parked or not.
How about just have the thread call "kthread_parkme()" which only returns if/when the thread is unparked?
So the thread does:
while (!kthread_should_stop()) { if (kthread_should_park()) { ... cleanup ... kthread_parkme(); ... restore ... } ... work ... }
Threads which never exit have "for (;;)" instead of while (!kthread_should_stop()).
Cheers, Rusty.
| |