Messages in this thread | | | Date | Thu, 1 May 2014 22:17:44 +0200 (CEST) | From | Jiri Kosina <> | Subject | Re: [RFC 09/16] kgr: mark task_safe in some kthreads |
| |
On Thu, 1 May 2014, Tejun Heo wrote:
> > Some threads do not use kthread_should_stop. Before we enable a > > Haven't really following kgraft development but is it safe to assume > that all kthread_should_stop() usages are clean side-effect-less > boundaries? If so, why is that property guaranteed? Is there any > mechanism for sanity checks? Maybe I'm just failing to understand how > the whole thing is supposed to work but this looks like it could > devolve into something more broken than the freezer which we haven't > fully recovered from yet.
Hi Tejun,
first, thanks a lot for review.
I agree that this expectation might really somewhat implicit and is not probably properly documented anywhere. The basic observation is "whenever kthread_should_stop() is being called, all data structures are in a consistent state and don't need any further updates in order to achieve consistency, because we can exit the loop immediately here", as kthread_should_stop() is the very last thing every freezable kernel thread is calling before starting a new iteration.
For the sake of collecting data points -- do you happen to have any counter-example to the assumption?
Thanks,
-- Jiri Kosina SUSE Labs
| |