[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