Re: [RFC PATCH 09/18] kthread: Make it easier to correctly sleep in iterant kthreads

From
Peter Zijlstra <peterz@infradead.org>
Date
2015-06-08 11:40:15
Also in
linux-nfs, lkml
Reply to
Petr Mladek, 2015-06-08
On Mon, 2015-06-08 at 12:01 +0200, Petr Mladek wrote:
Just to be sure. Do you suggest to use TASK_IDLE everywhere in
kthreads or only when the uninterruptible sleep is really needed?
Always, only use INTERRUPTIBLE when you're actually interruptible, that
is you want signals or such muck to terminate your wait.
IMHO, we should not use TASK_IDLE in freezable kthreads because
it would break freezing.
How so? The task is IDLE, its not doing anything.
 Well, we could freezable_schedule() but only
on locations where it is safe to get freezed. Anyway, we need to
be careful here.
s/freezed/frozen/

Bah, you made me look at the freezer code, karma reduction for you.

And this is the arch typical freeze point if ever there was one, you're
checking kthread_stop, if we can terminate the kthread, we can certainly
get frozen.
BTW: What is the preferred way of freezing, please? Is it better
to end up in the fridge or is it fine to call freezer_do_not_count();
or set PF_NOFREEZE when it is safe?
freezable_schedule() is fine in this case.
Thread (62 messages) 62 messages, 7 authors, last reply 2015-06-17
Keyboard shortcuts
hback out one level
jnext message in thread / next series-diff position
kprevious message in thread / previous series-diff position
ldrill in
Escclose help / fold thread tree
?toggle this help