[ofw] [PATCH] Support for I/O completion ports
Fab Tillier
ftillier at windows.microsoft.com
Tue Jul 1 13:32:55 PDT 2008
> From: Sean Hefty [mailto:sean.hefty at intel.com]
> Sent: Tuesday, July 01, 2008 1:29 PM
>
>> Memory registrations in IBAL require a user-mode structure. However,
>> registration and deregistration operations in NetworkDirect (and
>> WinVerbs) are defined as overlapped operations (overlapped means
>> asynchronous). Clients that use I/O completion ports (IOCP) expect
>> these operations to complete to said IOCP.
>>
>> Add code to allow user-mode code to register memory via the existing
>> IBAL IOCTLs, and if that succeeds, issue a no-op IOCTL that completes
>> the user's overlapped request to their IOCP (or whatever mechanism they
>> are using - the I/O manager will take care of it).
> If you have to add a new IOCTL, why not make it an async registration
> call, rather than a "no-op"?
Because that would be more surgery than desired. The current implementation of NetworkDirect support reuses existing IOCTLs to the maximum extent possible.
> In fact, why isn't ND implemented above WinVerbs? If it eventually
> will be,
> then why make these changes to IBAL now?
Because WinVerbs isn't ready. Once WinVerbs is ready and baked, I would expect a lot of IBAL could go away.
-Fab
More information about the ofw
mailing list