Re: non-sleepable locks held (xl0)

From: Bill Paul <wpaul_at_FreeBSD.ORG>
Date: Tue, 24 May 2005 05:07:13 +0000 (GMT)
>   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_at_windriver.com | Wind River Systems
=============================================================================
              <adamw> you're just BEGGING to face the moose
=============================================================================
Received on Tue May 24 2005 - 03:07:13 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:35 UTC