<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML xmlns="http://www.w3.org/TR/REC-html40" xmlns:st1 = 
"urn:schemas-microsoft-com:office:smarttags" xmlns:w = 
"urn:schemas-microsoft-com:office:word" xmlns:o = 
"urn:schemas-microsoft-com:office:office"><HEAD><!--[if !mso]> 
<META http-equiv=Content-Type content="text/html; charset=us-ascii">
<STYLE>st1\:* {
        BEHAVIOR: url(#default#ieooui)
}
</STYLE>
<![endif]-->
<STYLE>@font-face {
        font-family: Tahoma;
}
@page Section1 {size: 8.5in 11.0in; margin: 1.0in 1.25in 1.0in 1.25in; }
P.MsoNormal {
        FONT-SIZE: 12pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Times New Roman"
}
LI.MsoNormal {
        FONT-SIZE: 12pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Times New Roman"
}
DIV.MsoNormal {
        FONT-SIZE: 12pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Times New Roman"
}
A:link {
        COLOR: blue; TEXT-DECORATION: underline
}
SPAN.MsoHyperlink {
        COLOR: blue; TEXT-DECORATION: underline
}
A:visited {
        COLOR: purple; TEXT-DECORATION: underline
}
SPAN.MsoHyperlinkFollowed {
        COLOR: purple; TEXT-DECORATION: underline
}
SPAN.EmailStyle17 {
        FONT-WEIGHT: normal; COLOR: windowtext; FONT-STYLE: normal; FONT-FAMILY: Tahoma; TEXT-DECORATION: none; mso-style-type: personal
}
SPAN.EmailStyle18 {
        FONT-WEIGHT: normal; COLOR: blue; FONT-STYLE: normal; FONT-FAMILY: Tahoma; TEXT-DECORATION: none; mso-style-type: personal
}
SPAN.EmailStyle19 {
        COLOR: navy; FONT-FAMILY: Arial; mso-style-type: personal-reply
}
DIV.Section1 {
        page: Section1
}
</STYLE>

<META content="MSHTML 6.00.2900.3243" name=GENERATOR></HEAD>
<BODY lang=EN-US vLink=purple link=blue>
<DIV><SPAN class=589481708-03082008><FONT face=Arial color=#0000ff size=2>I 
agree with the comment, but it is a separate issue.</FONT></SPAN></DIV>
<DIV><SPAN class=589481708-03082008><FONT face=Arial color=#0000ff size=2>It's 
worth to change it in all the verbs.</FONT></SPAN></DIV><BR>
<BLOCKQUOTE dir=ltr 
style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #0000ff 2px solid; MARGIN-RIGHT: 0px">
  <DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left>
  <HR tabIndex=-1>
  <FONT face=Tahoma size=2><B>From:</B> Sean Hefty [mailto:sean.hefty@intel.com] 
  <BR><B>Sent:</B> Friday, August 01, 2008 8:33 PM<BR><B>To:</B> Leonid Keller; 
  Anatoly Greenblatt; ofw@lists.openfabrics.org<BR><B>Subject:</B> RE: [ofw] 
  ConnectX functionality is completely broken<BR></FONT><BR></DIV>
  <DIV></DIV>
  <DIV class=Section1>
  <DIV 
  style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0in; BORDER-TOP: medium none; PADDING-LEFT: 4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: blue 1.5pt solid; PADDING-TOP: 0in; BORDER-BOTTOM: medium none">
  <DIV>
  <P class=MsoNormal><FONT face=Arial color=blue size=2><SPAN 
  style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Arial">To recall, 1435 patch 
  has improved event notification mechanism for cq, qp and srq 
  objects.</SPAN></FONT><o:p></o:p></P></DIV>
  <DIV>
  <P class=MsoNormal><FONT face=Arial color=blue size=2><SPAN 
  style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Arial">I found one problem 
  in the patch, which repeats itself for all three objects and for both drivers: 
  new event handlers get the old (and wrong) context 
  values.</SPAN></FONT><o:p></o:p></P></DIV>
  <DIV>
  <P class=MsoNormal><FONT face=Arial color=blue size=2><SPAN 
  style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Arial">The new (and right) 
  context values are nor used. As a result, IBAL callbacks are called 
  with wrong handle parameter, which ends up with c<st1:PersonName 
  w:st="on">ras</st1:PersonName>h.</SPAN></FONT><o:p></o:p></P></DIV>
  <DIV>
  <P class=MsoNormal><FONT face="Times New Roman" color=navy size=3><SPAN 
  style="FONT-SIZE: 12pt; COLOR: navy"><o:p> </o:p></SPAN></FONT></P>
  <P class=MsoNormal><FONT face=Arial size=2><SPAN 
  style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">I tested the patch below on mthca, 
  and it’s working fine for me.  If anyone knows how to force the CQ, QP, 
  or SRQ async events with an existing test, let me know and I will run it. 
   I do have one comment below:<o:p></o:p></SPAN></FONT></P>
  <P class=MsoNormal><FONT face="Times New Roman" size=3><SPAN 
  style="FONT-SIZE: 12pt"> <o:p></o:p></SPAN></FONT></P></DIV>
  <DIV>
  <P class=MsoNormal><FONT face="Times New Roman" size=3><SPAN 
  style="FONT-SIZE: 12pt"> <o:p></o:p></SPAN></FONT></P></DIV>
  <DIV>
  <P class=MsoNormal><FONT face=Arial color=blue size=2><SPAN 
  style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Arial">Index: 
  hw/mthca/kernel/hca_verbs.c<BR>===================================================================<BR>@@ 
  -906,12 +904,8 @@<BR>   goto 
  err_create_srq;<BR>  }<BR> <BR>- // fill the 
  object<BR>- srq_p = (struct mthca_srq 
  *)ib_srq_p;<BR>- srq_p->srq_context = 
  (void*)srq_context;<BR>- <BR>  // return the 
  result<BR>- if (ph_srq) *ph_srq = (ib_srq_handle_t)srq_p;<BR>+ if 
  (ph_srq) *ph_srq = (ib_srq_handle_t)ib_srq_p;<BR><BR></SPAN></FONT><FONT 
  face=Arial color=navy size=2><SPAN 
  style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial"><o:p></o:p></SPAN></FONT></P>
  <P class=MsoNormal><FONT face=Arial size=2><SPAN 
  style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">ph_srq isn’t really optional here. 
   If one isn’t provided, we end up leaking memory.  Personally, I 
  would just remove the if check, but it could also be moved to the top of the 
  function with a failure return if the output parameter is not 
  provided.<o:p></o:p></SPAN></FONT></P>
  <P class=MsoNormal><FONT face=Arial size=2><SPAN 
  style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><o:p> </o:p></SPAN></FONT></P>
  <P class=MsoNormal><FONT face=Arial size=2><SPAN 
  style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">Similar checks are provided in 
  _create_qp() and mthca_create_cq().<o:p></o:p></SPAN></FONT></P>
  <P class=MsoNormal><FONT face=Arial size=2><SPAN 
  style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><o:p> </o:p></SPAN></FONT></P>
  <P class=MsoNormal><FONT face=Arial size=2><SPAN 
  style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">- Sean<FONT color=navy><SPAN 
  style="COLOR: navy"><o:p></o:p></SPAN></FONT></SPAN></FONT></P></DIV></DIV></DIV></BLOCKQUOTE></BODY></HTML>