Date: Tue, 24 May 2005 05:07:13 +0000 (GMT) From: wpaul@FreeBSD.ORG (Bill Paul) To: glebius@FreeBSD.org (Gleb Smirnoff) Cc: mikej@rogers.com, freebsd-current@FreeBSD.org Subject: Re: non-sleepable locks held (xl0) Message-ID: <20050524050713.0935F16A41F@hub.freebsd.org> In-Reply-To: <20050524030802.GD61461@cell.sick.ru> from Gleb Smirnoff at "May 24, 2005 07:08:02 am"
next in thread | previous in thread | raw e-mail | index | archive | help
> Mike, Bill,
>
> On Mon, May 23, 2005 at 04:55:34PM -0400, Mike Jakubik wrote:
> M> Not sure if this is reported already, but i got this on a recently cvsuped
> M> -current system while booting.
>
> ACK, my fault.
>
> We can't just zero ta_pending flag, since task may have alredy been
> triggered, and now is being waiting on driver lock at xl_rxeof_task().
>
> Probably we need to run taskqueue_drain() before locking driver
> mutex, that is before call to xl_lock().
>
> Bill, what is your opinion?
You can't sleep in taskqueue_drain() with a lock held (clowns
will eat you). Wait for the taskqueue to drain first, then lock.
-Bill
--
=============================================================================
-Bill Paul (510) 749-2329 | Senior Engineer, Master of Unix-Fu
wpaul@windriver.com | Wind River Systems
=============================================================================
<adamw> you're just BEGGING to face the moose
=============================================================================
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050524050713.0935F16A41F>
