What *IS* happening is I am calling KeGetCurrentIrql() at the entry to my
HwStartIo routine, and it is 13. Since my IRQ is 14, I would expect, based
on the information in my previous note, DIRQL == 27 -14 = 13. Hence, I am
called at DIRQL. I stated below that it wasn’t always true. I think I was
remembering what I had seen on Win98, because it’s always DIRQL on NT.
Always.
Phil
-----Original Message-----
From: Nemiroff, Daniel [mailto:xxxxx@intel.com]
Sent: Friday, January 12, 2001 10:34 AM
To: NT Developers Interest List
Subject: [ntdev] RE: What determines the IRQL of SCSI Miniport StartIo
routine?
it is highly unlikely that your HwStartIo routine is being executed at
DIRQL. Based on my understanding of ScsiPort, HwStartIo gets called in the
ScsiPort’s StartIo routine, which is always at DISPATCH_LEVEL.
There is no way ScsiPort would deque SRB’s and send them to you at DIRQL.
What is probably happening is that you are trying to deque your own irps
from your own internal queues inside your ISR.
-d
-----Original Message-----
From: Barila, Phil [mailto:xxxxx@intel.com]
Sent: Friday, January 12, 2001 9:13 AM
To: NT Developers Interest List
Subject: [ntdev] RE: What determines the IRQL of SCSI Miniport StartIo
routine?
I’ve rarely seen it at DISPATCH_LEVEL. It’s most commonly at DIRQL. I
stated below that it was just below DIRQL, but that was before I read in
Inside Windows 2000 that (DIRQL = 27 - IRQ) on a uniprocessor system. If
that is true, then it’s almost always at DIRQL, on Win2K SP1.
Thanks,
Phil
-----Original Message-----
From: Nemiroff, Daniel [mailto:xxxxx@intel.com]
Sent: Friday, January 12, 2001 8:01 AM
To: NT Developers Interest List
Subject: [ntdev] RE: What determines the IRQL of SCSI Miniport StartIo
rou tine?
HwStartIo should always come in at DISPATCH_LEVEL.
-----Original Message-----
From: Barila, Phil [mailto:xxxxx@intel.com]
Sent: Thursday, January 11, 2001 5:01 PM
To: NT Developers Interest List
Subject: [ntdev] What determines the IRQL of SCSI Miniport StartIo
routine?
I’m seeking to satisfy curiosity about the IRQL, and the answer could have
some effect on how I do some things I may be doing in the future.
Using KeGetCurrentIrql(), I have discovered that the IRQL is not always the
same, is mostly just below DIRQL, but never actually DIRQL. Does anyone
have any rhyme or reason to how a given SRB arrives at a given IRQL?
Thanks,
Phil
* Philip D. Barila | (503) 264-8386
* Intel Corp. | M/S JF2-53 Office JF2-2-G6
* Storage Architecture and Performance
* Internet Systems Lab
You are currently subscribed to ntdev as: xxxxx@intel.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
You are currently subscribed to ntdev as: xxxxx@intel.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
You are currently subscribed to ntdev as: xxxxx@intel.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
You are currently subscribed to ntdev as: xxxxx@intel.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com