<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=US-ASCII">
<META NAME="Generator" CONTENT="MS Exchange Server version 5.5.2654.45">
<TITLE>RE: CA capabilities</TITLE>
</HEAD>
<BODY>

<P><FONT SIZE=2>I agree that the access layer should not modify the maximum for each resource that application takes</FONT>
<BR><FONT SIZE=2>But one can say that the same way as the low level driver keep some resource for its own use and change the maximum values,</FONT></P>

<P><FONT SIZE=2>same should be with the IBAL, if its need resources for its own use it should change the maximum.</FONT>
<BR><FONT SIZE=2>That because its not client application but the driver to that CA device.</FONT>
<BR><FONT SIZE=2>If the CA capable to open x resources but the IBAL take y ,in systems with memory limits that can be problem.</FONT>
<BR><FONT SIZE=2> </FONT>
<BR><FONT SIZE=2>And I agree about other drivers/applications that you can enable/disable (like IPoIB/SRP) or that not loaded by default.</FONT></P>

<P><FONT SIZE=2>Yossi </FONT>
</P>
<BR>
<BR>

<P><FONT SIZE=2>> -----Original Message-----</FONT>
<BR><FONT SIZE=2>> From: Fab Tillier [<A HREF="mailto:ftillier@silverstorm.com">mailto:ftillier@silverstorm.com</A>]</FONT>
<BR><FONT SIZE=2>> Sent: Wednesday, August 10, 2005 7:40 PM</FONT>
<BR><FONT SIZE=2>> To: 'Yossi Leybovich'</FONT>
<BR><FONT SIZE=2>> Cc: openib-windows@openib.org; Ami Parlmuter</FONT>
<BR><FONT SIZE=2>> Subject: RE: CA capabilities</FONT>
<BR><FONT SIZE=2>> </FONT>
<BR><FONT SIZE=2>> </FONT>
<BR><FONT SIZE=2>> Please send emails in plain text.</FONT>
<BR><FONT SIZE=2>> </FONT>
<BR><FONT SIZE=2>> > From: Yossi Leybovich [<A HREF="mailto:sleybo@mellanox.co.il">mailto:sleybo@mellanox.co.il</A>]</FONT>
<BR><FONT SIZE=2>> > Sent: Wednesday, August 10, 2005 4:06 AM</FONT>
<BR><FONT SIZE=2>> > </FONT>
<BR><FONT SIZE=2>> > Simple test that try to allocate max PDs (as reported form query ca)</FONT>
<BR><FONT SIZE=2>> > discovered that it can allocate only the max_pds -1.</FONT>
<BR><FONT SIZE=2>> ></FONT>
<BR><FONT SIZE=2>> > I checked it and found that:</FONT>
<BR><FONT SIZE=2>> > The user ask for 0x4000 PDs</FONT>
<BR><FONT SIZE=2>> > The THH layer keep 2 PDs for itself so the IBAL report on </FONT>
<BR><FONT SIZE=2>> 0x3ffe PDs available</FONT>
<BR><FONT SIZE=2>> > while the IBAL is loaded (in creat_ci_ca) IBAL take one </FONT>
<BR><FONT SIZE=2>> more PD (for SQP..) so</FONT>
<BR><FONT SIZE=2>> > the user can allocate only 0x3ffd PDs</FONT>
<BR><FONT SIZE=2>> > Do you think that IBAL should report 1 PD less so the user </FONT>
<BR><FONT SIZE=2>> will know exactly</FONT>
<BR><FONT SIZE=2>> > how many resources he actually can allocate ?</FONT>
<BR><FONT SIZE=2>> > Personally I think that if IBAL take resource (PDs, Avs, </FONT>
<BR><FONT SIZE=2>> QPS) for its own use,</FONT>
<BR><FONT SIZE=2>> > then it should subtract them from the ca capabilities.</FONT>
<BR><FONT SIZE=2>> > What do you think ?</FONT>
<BR><FONT SIZE=2>> </FONT>
<BR><FONT SIZE=2>> The maximum number of PDs is what the CA supports.  The </FONT>
<BR><FONT SIZE=2>> access layer, as a</FONT>
<BR><FONT SIZE=2>> client, uses a PD.  So does each IPoIB and SRP instance, as </FONT>
<BR><FONT SIZE=2>> well as every</FONT>
<BR><FONT SIZE=2>> user-mode process that uses sockets when WSD is enabled.  An </FONT>
<BR><FONT SIZE=2>> application cannot</FONT>
<BR><FONT SIZE=2>> rely being able to allocate the maximum reported in the </FONT>
<BR><FONT SIZE=2>> attributes since the CA</FONT>
<BR><FONT SIZE=2>> is a shared resource.</FONT>
<BR><FONT SIZE=2>> </FONT>
<BR><FONT SIZE=2>> Should the access layer keep modifying the maximum reported </FONT>
<BR><FONT SIZE=2>> to account for</FONT>
<BR><FONT SIZE=2>> client usage?  I think not.  The maximum values are there to </FONT>
<BR><FONT SIZE=2>> indicate what the</FONT>
<BR><FONT SIZE=2>> hardware is capable of, and is not a guarantee to the </FONT>
<BR><FONT SIZE=2>> application that it will</FONT>
<BR><FONT SIZE=2>> be able to allocate all of them.</FONT>
<BR><FONT SIZE=2>> </FONT>
<BR><FONT SIZE=2>> - Fab</FONT>
<BR><FONT SIZE=2>> </FONT>
</P>

</BODY>
</HTML>