Re: workqueue_set_max_active(wq, 0)?

From: Johannes Berg
Date: Fri Dec 09 2011 - 11:59:24 EST


Hi Tejun,

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

Right, it's a little more complicated though because it has to wait etc.

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

Yeah, that would probably be useful, in particular if one tries to
freeze a paused workqueue...

johannes

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