[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20110911034851.GA6428@mtj.dyndns.org>
Date: Sun, 11 Sep 2011 12:48:51 +0900
From: Tejun Heo <tj@...nel.org>
To: Thomas Tuttle <ttuttle@...omium.org>
Cc: linux-kernel@...r.kernel.org, akpm@...ux-foundation.org,
stable@...nel.org
Subject: Re: [PATCH v3] workqueue: lock cwq access in drain_workqueue
On Sat, Sep 10, 2011 at 11:39:53PM -0400, Thomas Tuttle wrote:
> Take cwq->gcwq->lock to avoid racing between drain_workqueue checking
> to make sure the workqueues are empty and cwq_dec_nr_in_flight
> decrementing and then incrementing nr_active when it activates a
> delayed work.
>
> We discovered this when a corner case in one of our drivers resulted in
> us trying to destroy a workqueue in which the remaining work would
> always requeue itself again in the same workqueue. We would hit this
> race condition and trip the BUG_ON on workqueue.c:3080.
>
> Signed-off-by: Thomas Tuttle <ttuttle@...omium.org>
> Acked-by: Tejun Heo <tj@...nel.org>
> Cc: stable@...nel.org
Andrew, can you please route this patch through -mm? korg is still
down and wq is unlikely to receive many more patches in this cycle.
Thank you.
--
tejun
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists