[Openib-windows] Using of fast mutexes in WinIb
Jan Bottorff
jbottorff at xsigo.com
Wed Nov 16 19:06:23 PST 2005
> BTW, have you had a chance to look over the new verb API that
> would allow calls at IRQL <= DISPATCH_LEVEL? Any comments?
> I'd really like to get past these IRQL limitations.
Are there any docs on what the current IRQL limitations are?
A frequent reason for wanting I/O initiation to work at DISPATCH_LEVEL
is so you can initiate new I/O in a completion handler. Certainly having
SOME functions work at DISPATCH_LEVEL is highly desirable. Initiating
new I/O from a completion callback (like IRP completion) is a common
hidden bug in Windows drivers. There are many samples of code on the
Internet that do this, and those chunks of code will on occasion fail
with a crash. The issue is kernel stack overflow can happen if the
callback happens before even returning from the call that initiated the
I/O, and you nest down the stack with many pairs of initiate/callback.
- Jan
More information about the ofw
mailing list