Re: [PATCH 00/11] nested sleeps, fixes and debug infrastructure

Peter Zijlstra
2014-10-29T11:37:05Z

On Wed, Oct 29, 2014 at 12:31:03PM +0100, Peter Zijlstra wrote:
> On Wed, Oct 29, 2014 at 10:35:03AM +0100, Peter Zijlstra wrote:
> > On Wed, Oct 29, 2014 at 01:00:56AM +0100, Oleg Nesterov wrote:
>
> > > But what if it calls try_to_freeze() and another thread (which should
> > > be frozen too) sleeps in kthread_stop() ?
> >
> > Fair point indeed. Now I had a look at __refrigerator() and is there any
> > reason we should not remove that .check_kthr_stop argument and replace
> > it with an unconditional (current->flags & PF_KTHREAD) ?
>
> Hmm, doesn't kthread_freezable_should_stop() suffer the same problem? It
> should not refrigerate when should_stop.

Oh never you mind, i've got my head on backwards it seems, it uses
__refrigerator(.check_kthr_stop = true), which does another should_stop
test.