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

From: Jens Axboe
Date: Wed Nov 11 2009 - 14:37:29 EST


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@xxxxxx>
> >
> > 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.

--
Jens Axboe

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/