[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1282646268.3695.9.camel@jlt3.sipsolutions.net>
Date: Tue, 24 Aug 2010 12:37:48 +0200
From: Johannes Berg <johannes@...solutions.net>
To: Tejun Heo <tj@...nel.org>
Cc: LKML <linux-kernel@...r.kernel.org>
Subject: Re: workqueue destruction BUG_ON
Hi,
> > In our testing with iwlwifi, we keep running into this BUG_ON:
> >
> > BUG_ON(cwq->nr_active);
> >
> > in destroy_workqueue(). This is quite unhelpful, and since the code
> > flushes the workqueue I really don't see how this could be happening,
> > unless maybe there's cross-talk between this and other workqueues?
>
> Flushing the workqueue doesn't guarantee that the workqueue stays
> empty.
True.
> It just flushes the currently pending works. If there are
> requeueing works or something else is queueing new works, workqueue
> won't be empty. The check is new. Previously, workqueue code didn't
> check whether the workqueue is actually empty. Now that the worklist
> is shared, we need such check in place. There was also a similar
> report on ath9k. I think it's most likely that something is queueing
> works on a dying wokrqueue in the wireless common code.
I think in my iwlwifi case it's actually destroying the iwlwifi
workqueue (not sure why it even exists though).
> I'll prep a
> debug patch to print out some details.
That'd be helpful, thanks!
johannes
--
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