<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML xmlns="http://www.w3.org/TR/REC-html40" xmlns:w = 
"urn:schemas-microsoft-com:office:word" xmlns:o = 
"urn:schemas-microsoft-com:office:office"><HEAD>
<META http-equiv=Content-Type content="text/html; charset=us-ascii">
<STYLE>@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
}
P {
        FONT-SIZE: 12pt; MARGIN-LEFT: 0in; MARGIN-RIGHT: 0in; FONT-FAMILY: "Times New Roman"; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto
}
SPAN.EmailStyle18 {
        COLOR: navy; FONT-FAMILY: Arial; mso-style-type: personal-reply
}
DIV.Section1 {
        page: Section1
}
</STYLE>

<META content="MSHTML 6.00.6000.16587" name=GENERATOR></HEAD>
<BODY lang=EN-US vLink=purple link=blue>
<DIV><SPAN class=557201015-21052008><FONT face=Arial color=#0000ff size=2>The 
main reason for this changes is to allow including this files from 
C++.</FONT></SPAN></DIV>
<DIV><SPAN class=557201015-21052008><FONT face=Arial color=#0000ff 
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=557201015-21052008><FONT face=Arial color=#0000ff size=2>Since 
new is a keyword in C++ things simply don't compile.</FONT></SPAN></DIV>
<DIV><SPAN class=557201015-21052008><FONT face=Arial color=#0000ff 
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=557201015-21052008><FONT face=Arial color=#0000ff size=2>As for 
the option to remove this lists all together:</FONT></SPAN></DIV>
<DIV><SPAN class=557201015-21052008><FONT face=Arial color=#0000ff size=2>In an 
ideal world you are probably right. Given the limited time that we had, we have 
found that using the </FONT></SPAN></DIV>
<DIV><SPAN class=557201015-21052008><FONT face=Arial color=#0000ff size=2>Linux 
code without changes saves us a lot of time.</FONT></SPAN></DIV>
<DIV><SPAN class=557201015-21052008><FONT face=Arial color=#0000ff 
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=557201015-21052008><FONT face=Arial color=#0000ff 
size=2>Thanks</FONT></SPAN></DIV>
<DIV><SPAN class=557201015-21052008><FONT face=Arial color=#0000ff 
size=2>Tzachi</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> Wednesday, May 21, 2008 6:09 PM<BR><B>To:</B> Tzachi Dar; 
  ofw@lists.openfabrics.org<BR><B>Subject:</B> RE: [ofw] patch: [mlx4] Add minor 
  function (is_power_of_2) and fixcompilation issues on 
C++.<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 size=2><SPAN 
  style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">Index: 
  mlx4/kernel/inc/l2w_list.h<BR>===================================================================<BR>--- 
  mlx4/kernel/inc/l2w_list.h (revision 1197)<BR>+++ 
  mlx4/kernel/inc/l2w_list.h (working copy)<BR>@@ -38,14 +38,14 
  @@<BR> * This is only for internal list manipulation where we 
  know<BR> * the prev/next entries already!<BR> */<BR>-static inline 
  void __list_add(struct list_head *new,<BR>+static inline void 
  __list_add(struct list_head 
  *new1,<BR>                              
  struct list_head 
  *prev,<BR>                              
  struct list_head *next)<BR> {<BR>-       
  next->prev = new;<BR>-       new->next = 
  next;<BR>-       new->prev = 
  prev;<BR>-       prev->next = 
  new;<BR>+       next->prev = 
  new1;<BR>+       new1->next = 
  next;<BR>+       new1->prev = 
  prev;<BR>+       prev->next = 
  new1;<BR> }<BR> <BR> /**<BR>@@ -56,9 +56,9 @@<BR> * Insert 
  a new entry after the specified head.<BR> * This is good for implementing 
  stacks.<BR> */<BR>-static inline void list_add(struct list_head *new, 
  struct list_head *head)<BR>+static inline void list_add(struct list_head 
  *new1, struct list_head 
  *head)<BR> {<BR>-       __list_add(new, 
  head, head->next);<BR>+       
  __list_add(new1, head, head->next);<BR> }<BR> <BR> /**<BR>@@ 
  -69,9 +69,9 @@<BR> * Insert a new entry before the specified 
  head.<BR> * This is useful for implementing 
  queues.<BR> */<BR>-static inline void list_add_tail(struct list_head 
  *new, struct list_head *head)<BR>+static inline void list_add_tail(struct 
  list_head *new1, struct list_head 
  *head)<BR> {<BR>-       __list_add(new, 
  head->prev, head);<BR>+       
  __list_add(new1, head->prev, head);<BR> }<BR><BR><FONT 
  color=navy><SPAN 
  style="COLOR: navy"><o:p></o:p></SPAN></FONT></SPAN></FONT></P>
  <P class=MsoNormal><FONT face=Arial color=blue size=2><SPAN 
  style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Arial">I don’t understand 
  the need for these changes.  Also, Windows provides list management 
  functions that we should use, rather than porting the calls from 
  Linux.<o:p></o:p></SPAN></FONT></P>
  <P class=MsoNormal><FONT face=Arial color=blue size=2><SPAN 
  style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Arial"><o:p> </o:p></SPAN></FONT></P>
  <P class=MsoNormal><FONT face=Arial color=blue size=2><SPAN 
  style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Arial">- 
  Sean<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></DIV></DIV></DIV></BLOCKQUOTE></BODY></HTML>