Re: [PATCH] workqueue: not allow recursion run_workqueue

From: Ingo Molnar
Date: Wed Jan 21 2009 - 05:56:52 EST



* Lai Jiangshan <laijs@xxxxxxxxxxxxxx> wrote:

> 1) lockdep will complain when recursion run_workqueue
> 2) works is not run orderly when recursion run_workqueue
>
> 3) BUG!
> We use recursion run_workqueue to hidden deadlock when
> keventd trying to flush its own queue.
>
> It's bug. When flush_workqueue()(nested in a work callback)returns,
> the workqueue is not really flushed, the sequence statement of
> this work callback will do some thing bad.
>
> So we should not allow workqueue trying to flush its own queue.

That's a nice change. I'm wondering what the existing users are though and
how difficult they are to fix.

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