[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