<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE></TITLE>
<META content="text/html; charset=us-ascii" http-equiv=Content-Type>
<META name=GENERATOR content="MSHTML 8.00.6001.18783"></HEAD>
<BODY bgColor=#ffffff text=#000000>
<DIV dir=ltr align=left>
<HR tabIndex=-1>
<FONT size=2 face=Tahoma><B>From:</B> Sivaselvam Narayanasamy
[mailto:sivaselvam.narayanasamy@oracle.com] <BR><B>Sent:</B> Tuesday, July 21,
2009 11:36 AM<BR><B>To:</B> Smith, Stan<BR><B>Cc:</B> Prasanna Vv;
ofw@lists.openfabrics.org; Sivaselvam Narayanasamy<BR><B>Subject:</B> RE: [ofw]
choice between IBAL and winverbs<BR></FONT><BR></DIV>
<DIV></DIV>
<DIV><SPAN class=593542618-21072009><FONT color=#0000ff size=4
face=Arial>Stan,</FONT></SPAN></DIV>
<DIV><SPAN class=593542618-21072009><FONT color=#0000ff size=4
face=Arial></FONT></SPAN> </DIV>
<DIV><SPAN class=593542618-21072009><FONT color=#0000ff size=4
face=Arial>Prasanna's question may be : From a kernel mode driver,
which is the preferred route, to talk to the layers below
:- </FONT></SPAN></DIV>
<DIV><SPAN class=593542618-21072009><FONT color=#0000ff size=4
face=Arial></FONT></SPAN> </DIV>
<DIV><SPAN class=593542618-21072009><FONT color=#0000ff size=4
face=Arial>a) through the winverbs.sys driver ( available in WinOF 2.1
) or </FONT></SPAN></DIV>
<DIV><SPAN class=593542618-21072009><FONT color=#0000ff size=4 face=Arial>b)
through the IBAL kernel driver </FONT></SPAN></DIV>
<DIV><SPAN class=593542618-21072009><FONT color=#0000ff size=4
face=Arial></FONT></SPAN> </DIV>
<DIV><SPAN class=593542618-21072009><FONT size=4><FONT face=Arial><FONT
color=#0000ff>?<SPAN class=481140323-21072009><FONT
size=2> </FONT></SPAN></FONT></FONT></FONT></SPAN></DIV>
<DIV><SPAN class=593542618-21072009><FONT size=4><FONT face=Arial><FONT
color=#0000ff><SPAN
class=481140323-21072009></SPAN></FONT></FONT></FONT></SPAN> </DIV>
<DIV><SPAN class=593542618-21072009><FONT face=Arial><SPAN
class=481140323-21072009>I'm not a Windows driver or winverbs expert, Sean and
Fab are the guys who wrote the code - guys please chime
in.</SPAN></FONT></SPAN></DIV>
<DIV><SPAN class=593542618-21072009><FONT face=Arial><SPAN
class=481140323-21072009></SPAN></FONT></SPAN> </DIV>
<DIV><SPAN class=593542618-21072009><FONT face=Arial><SPAN
class=481140323-21072009>Kernel mode IB verbs clients in the WinOF stack
use a direct call interface. The IPoIB driver requests an IBAL kernel interface
based on a well-known GUID. IBAL returns an interface struct populated at
runtime with IBAL function pointers from the ibal verbs driver (aka ibbus.sys)
memory image. </SPAN></FONT></SPAN></DIV>
<DIV><SPAN class=593542618-21072009><FONT face=Arial><SPAN
class=481140323-21072009></SPAN></FONT></SPAN> </DIV>
<DIV><SPAN class=593542618-21072009><FONT face=Arial><SPAN
class=481140323-21072009>The ibbus.sys driver (an upper class filter driver
for an InfiniBand Controller (aka HCA)) creates a DOS file/ IOCTL()
interface so user-mode apps can access IBAL verbs functionality.
</SPAN></FONT></SPAN></DIV>
<DIV><SPAN class=593542618-21072009><FONT face=Arial><SPAN
class=481140323-21072009>The difference between user-mode IBAL and kernel mode
IBAL is IOCTL() vs. direct-call interfaces.</SPAN></FONT></SPAN></DIV>
<DIV><SPAN class=593542618-21072009><FONT face=Arial><SPAN
class=481140323-21072009>Other considerations:</SPAN></FONT></SPAN></DIV>
<DIV><SPAN class=593542618-21072009><FONT face=Arial><SPAN
class=481140323-21072009> Marshalling of
arguments</SPAN></FONT></SPAN></DIV>
<DIV><SPAN class=593542618-21072009><FONT face=Arial><SPAN
class=481140323-21072009> accessibility of
args</SPAN></FONT></SPAN></DIV>
<DIV><SPAN class=593542618-21072009><FONT face=Arial><SPAN
class=481140323-21072009> inputs -[direct access
or copyin()].</SPAN></FONT></SPAN></DIV>
<DIV><SPAN class=593542618-21072009><FONT face=Arial><SPAN
class=481140323-21072009> outputs - [direct
access or copyout()].</SPAN></FONT></SPAN></DIV>
<DIV><SPAN class=593542618-21072009><FONT face=Arial><SPAN
class=481140323-21072009></SPAN></FONT></SPAN> </DIV>
<DIV><SPAN class=593542618-21072009><FONT face=Arial><SPAN
class=481140323-21072009>Winverbs does not export a kernel mode direct-call
interface at this time; winverbs only exports an IOCTL() interface accessible
only from user mode.</SPAN></FONT></SPAN></DIV>
<DIV><SPAN class=593542618-21072009><FONT face=Arial><SPAN
class=481140323-21072009></SPAN></FONT></SPAN> </DIV>
<DIV><SPAN class=593542618-21072009><FONT face=Arial><SPAN
class=481140323-21072009>The</SPAN></FONT></SPAN><FONT face=Arial><FONT
color=#0000ff><FONT size=2><SPAN
class=481140323-21072009> </SPAN></FONT></FONT><SPAN
class=593542618-21072009><SPAN class=481140323-21072009> only kernel mode
verbs interface choice at this time is to use IBAL.</SPAN></SPAN></FONT></DIV>
<DIV><FONT face=Arial><SPAN class=593542618-21072009><SPAN
class=481140323-21072009></SPAN></SPAN></FONT> </DIV>
<DIV><FONT face=Arial><SPAN class=593542618-21072009><SPAN
class=481140323-21072009>Hopefully this clears up any
confusion.</SPAN></SPAN></FONT></DIV>
<DIV><FONT face=Arial><SPAN class=593542618-21072009><SPAN
class=481140323-21072009></SPAN></SPAN></FONT> </DIV>
<DIV><FONT face=Arial><SPAN class=593542618-21072009><SPAN
class=481140323-21072009>stan.</SPAN></SPAN></FONT></DIV>
<DIV><SPAN class=593542618-21072009><FONT color=#0000ff size=4
face=Arial></FONT></SPAN> </DIV>
<DIV><SPAN class=593542618-21072009><FONT color=#0000ff size=4
face=Arial>Thanks</FONT></SPAN></DIV>
<DIV><SPAN class=593542618-21072009><FONT color=#0000ff size=4
face=Arial>Siva</FONT></SPAN></DIV>
<BLOCKQUOTE>
<DIV dir=ltr class=OutlookMessageHeader align=left><FONT size=2
face=Tahoma>-----Original Message-----<BR><B>From:</B>
ofw-bounces@lists.openfabrics.org
[mailto:ofw-bounces@lists.openfabrics.org]<B>On Behalf Of </B>Smith,
Stan<BR><B>Sent:</B> Tuesday, July 21, 2009 10:52 PM<BR><B>To:</B> Prasanna
Vv; ofw@lists.openfabrics.org<BR><B>Subject:</B> RE: [ofw] choice between IBAL
and winverbs<BR><BR></FONT></DIV>
<DIV dir=ltr align=left>
<HR tabIndex=-1>
<FONT size=2 face=Tahoma><B>From:</B> ofw-bounces@lists.openfabrics.org
[mailto:ofw-bounces@lists.openfabrics.org] <B>On Behalf Of </B>Prasanna
Vv<BR><B>Sent:</B> Tuesday, July 21, 2009 10:16 AM<BR><B>To:</B>
ofw@lists.openfabrics.org<BR><B>Subject:</B> Re: [ofw] choice between IBAL and
winverbs<BR></FONT><BR></DIV>
<DIV></DIV>
<DIV>Thanks Stan.<BR>For kernel mode IB interface, whether
winverbs-driver IOCTL can be used or IBAL is the only choice?<SPAN
class=075411717-21072009><FONT color=#0000ff size=2
face=Arial> </FONT></SPAN></DIV>
<DIV><SPAN class=075411717-21072009></SPAN> </DIV>
<DIV><SPAN class=075411717-21072009><FONT color=#0000ff size=2
face=Arial>Unfortunately I was not clear w.r.t. user-mode or kernel mode POV
(Point-Of-View).</FONT></SPAN></DIV>
<DIV><SPAN class=075411717-21072009><FONT color=#0000ff size=2 face=Arial>A
kernel mode implementation of winverbs is not available today. The work is
being discussed and will be available in the WinOF 2.2 release (late
Q4'09/Q1'10).</FONT></SPAN></DIV>
<DIV><SPAN class=075411717-21072009><FONT color=#0000ff size=2
face=Arial>Kernel mode winverbs will not be available in the upcoming
WinOF 2.1 release.</FONT></SPAN></DIV>
<DIV><SPAN class=075411717-21072009></SPAN> </DIV>
<DIV><SPAN class=075411717-21072009><FONT color=#0000ff size=2
face=Arial>stan.</FONT> </SPAN><BR><BR>Regards,<BR>Prasanna<BR><BR>Smith,
Stan wrote: </DIV>
<BLOCKQUOTE
cite=mid:3F6F638B8D880340AB536D29CD4C1E194E149619@orsmsx501.amr.corp.intel.com
type="cite"><PRE wrap="">Prasanna Vv wrote:
</PRE>
<BLOCKQUOTE type="cite"><PRE wrap="">Hello All,
In WINOF 2.1, most of the ULPs are based on Winverbs, while IPoIB
driver continues to use IBAL .
</PRE></BLOCKQUOTE><PRE wrap=""><!---->
Actually most of the ULPs are based on IBAL for historical reasons.
It's only newer DAPL providers (Socket-CM & rdma-CM) plus OFED diags which are using OFED compatibility (aka libibverbs/winverbs).
NetworkDirect continues to use the IBAL IF although there is work-in-progress to switch over to winverbs to take advantage of overlapped I/O ops.
</PRE>
<BLOCKQUOTE type="cite"><PRE wrap="">I wish to know if OFED will continue to support and enhance IBAL as
complimentary approach for Winverbs for IB verbs interface ? Or IBAL
may be phased out ?
</PRE></BLOCKQUOTE><PRE wrap=""><!---->
The IBAL interface will be supported well into the future, measured in years.
Under the covers, how the IBAL interface is implemented may change such that an IBAL function could transparently become a wrapper for a call into winverbs.
The 'BIG" deal with IBAL is how it implements PNP and how IPoIB and drivers rely on this implementation.
There are no current plans to change all drivers and IPoIB to use Microsoft PNP and remove this functionality from IBAL; although it would be an excellent idea (very large task). For the PNP reasons, IBAL will stick around for some time.
For future development, I would recommend the OFED compatibility layer (libibverbs/winverbs).
Stan.
</PRE>
<BLOCKQUOTE type="cite"><PRE wrap="">Thanks,
Prasanna
_______________________________________________
ofw mailing list
<A class=moz-txt-link-abbreviated href="mailto:ofw@lists.openfabrics.org">ofw@lists.openfabrics.org</A>
<A class=moz-txt-link-freetext href="http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ofw">http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ofw</A>
</PRE></BLOCKQUOTE><PRE wrap=""><!---->
</PRE></BLOCKQUOTE><BR></BLOCKQUOTE></BODY></HTML>