Re: PREEMPTION vs ndisulator

From: John Baldwin <jhb_at_freebsd.org>
Date: Fri, 16 Dec 2005 16:38:02 -0500
On Friday 16 December 2005 03:52 pm, Andrew Gallatin wrote:
> John Baldwin writes:
>  > On Friday 16 December 2005 11:34 am, Andrew Gallatin wrote:
>  > > I'm trying to use an ndis driver on an amd64 machine running
>  > > FreeBSD/amd64 -current from yesterday.  If I enable PREEMPTION, the
>  > > machine hangs when loading the driver (kldload never returns):
>  > >
>  > > ndis0: <Myricom Myri-10G Ethernet Adapter> mem
>  > > 0xfc000000-0xfcffffff,0xfdf00000-0xfdffffff irq 18 at device 0.0 on
>  > > pci5 ndis0: NDIS API version: 5.1
>  > > <hang>
>  > >
>  > > Witness detects no problems, and if I disable PREEMPTION, the driver
>  > > seems to work fine.  Is PREEMPTION not safe to be used with the
>  > > ndisulator, or is there a problem with the ndis driver itself?
>  > >
>  > > I've included some very brief debugging info below..
>  >
>  > Looks like an ithread has preempted your driver's start routine.  If you
>  > let it run some more and then break into ddb is the same thread (pid 11)
>  > still running?  Also, which process is pid 11?
>
> Naturally, I no longer have that kernel :(
>
> I just built a new, PREEMPTION enabled kernel.  Booting in
> single user,  I see a hang in the irq thread.  It seems to
> always be in this thread.
>
> I think the difference is that I don't have the if_sk driver loaded,
> which shares that irq.
>
> Can you remind me how to get irq counts from ddb?  It
> would be intersting to see if the irq hander was called
> repeatedly, or if it was just stuck in the handler.

show intrcnt

-- 
John Baldwin <jhb_at_FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve"  =  http://www.FreeBSD.org
Received on Fri Dec 16 2005 - 20:38:10 UTC

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