Re: [PATCH 1/1]: Thaws refrigerated bdi flusher threads before invoking kthread_stop on them

Rafael J. Wysocki
2009-11-11T20:41:12Z

On Wednesday 11 November 2009, Jens Axboe wrote:
> On Wed, Nov 11 2009, Rafael J. Wysocki wrote:
> > On Wednesday 11 November 2009, Pavel Machek wrote:
> > > On Wed 2009-11-11 14:00:16, Romit Dasgupta wrote:
> > > > Kicks out frozen bdi flusher task out of the refrigerator when the flusher task
> > > > needs to exit.
> > >
> > >
> > > > Signed-off-by: Romit Dasgupta <romit@ti.com>
> > >
> > > Ok, its slightly "interesting", but better than modifying common
> > > code. Looks ok to me.
> > >
> > > ACK.
> >
> > Agreed.
> >
> > Jens, any objections?
>
> Nope, looks fine to me. Though I'd probably prefer just doing an
> unconditional PF_FROZEN clear.
>
> /*
> * Force unfreeze of the bdi threads before stopping it, since otherwise
> * it would never exit if it is stuck in the refrigerator.
> */
> list_for_each_entry(wb, &bdi->wb_list, list) {
> wb->task->flags &= ~PF_FROZEN;
> kthread_stop(wb->task);
> }
>
> And the comment too, it's not enough to stuff this into the commit.

The last version had the changelog fixed.

Romit, please rework as suggested by Jens and resubmit.

Thanks,
Rafael