Re: workqueue_set_max_active(wq, 0)?

From: Tejun Heo
Date: Fri Dec 09 2011 - 11:57:09 EST


Hello, Johannes. :)

On Fri, Dec 09, 2011 at 10:54:42AM +0100, Johannes Berg wrote:
> And then I found workqueue_set_max_active() but passing 0 isn't allowed.
>
> Before I dive in more deeply I figured I'd ask if you think what a good
> way of doing this would be (and whether I'm completely insane) :-)

Hmmm... yeah, actually, that's what wq uses internally to implement
freezable workqueues. It sets max_active to 0 temporarily and waits
for all in-flight works to finish. On thaw, the original value is
restored.

Updating workqueue_set_max_active() to return the old value would be a
nice API update which goes together, I think.

Thanks.

--
tejun
--
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/