Re: PREEMPTION vs ndisulator

From: Andrew Gallatin <gallatin_at_cs.duke.edu>
Date: Fri, 16 Dec 2005 17:12:21 -0500 (EST)
John Baldwin writes:
 > 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:
 > >  > 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?

It looks like the ithread is looping:

db> show intrcnt
irq4: sio0              1007
irq14: ata0             33
irq17: fwohci0          1
irq18: ndis0            757379
irq21: ohci0+           382
cpu0: timer             1254872
db> c           
[halt - sent]
KDB: enter: Line break on console
[thread pid 76 tid 100049 ]
Stopped at      kdb_enter+0x2f: nop     
db> show intrcnt
irq4: sio0              1009
irq14: ata0             33
irq17: fwohci0          1
irq18: ndis0            992263
irq21: ohci0+           382
cpu0: timer             1259314


I know the interrupt is actually disabled in the DPC, and
not in the interrupt handler.  That's probably the problem.
The DPC is just never getting scheduled, so the interrupt
line is never lowered.

Thanks!

Drew
Received on Fri Dec 16 2005 - 21:12:27 UTC

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