<br><font size=2 face="sans-serif">Hello Roland,</font>
<br>
<br><font size=2 face="sans-serif">thanks for your comments. We will include
the changes it in our code and do then a new OpenIB SVN check-in.</font>
<br><font size=2 face="sans-serif"><br>
Mit freundlichen Gruessen / Kind Regards<br>
Heiko Joerg Schick<br>
<br>
IBM Deutschland Entwicklung GmbH<br>
I/O Firmware Development II<br>
Linux Infiniband Device Drivers<br>
<br>
Schoenaicher Str. 220<br>
71032 Boeblingen<br>
E-Mail: schickhj@de.ibm.com<br>
External: 49-7031-16-0 x4219,   t/l: 120-4219<br>
</font>
<br>
<br>
<br>
<table width=100%>
<tr valign=top>
<td width=40%><font size=1 face="sans-serif"><b>Roland Dreier <rdreier@cisco.com></b>
</font>
<p><font size=1 face="sans-serif">01/17/2006 01:59 PM</font>
<td width=59%>
<table width=100%>
<tr>
<td>
<div align=right><font size=1 face="sans-serif">To</font></div>
<td valign=top><font size=1 face="sans-serif">Heiko J Schick/Germany/IBM@IBMDE,
Christoph Raisch/Germany/IBM@IBMDE, Marcus Eder/Germany/IBM@IBMDE</font>
<tr>
<td>
<div align=right><font size=1 face="sans-serif">cc</font></div>
<td valign=top><font size=1 face="sans-serif">openib-general@openib.org</font>
<tr>
<td>
<div align=right><font size=1 face="sans-serif">Subject</font></div>
<td valign=top><font size=1 face="sans-serif">Comments on ehca updates</font></table>
<br>
<table>
<tr valign=top>
<td>
<td></table>
<br></table>
<br>
<br>
<br><font size=2><tt>Hi, I noticed that you checked in some ehca changes.
 A couple of comments:<br>
<br>
1) While most of the changes to your #includes are correct, like<br>
<br>
                
-#include <hipz_fns_core.h><br>
                
+#include "hipz_fns_core.h"<br>
<br>
since you should use "" instead of <> for includes in your
own local<br>
directory to make the kernel build work, things in the kernel's own<br>
include/ directory should still use <>, so for example<br>
<br>
                
-#include <linux/version.h><br>
                
+#include "linux/version.h"<br>
<br>
Also, I never noticed this before but<br>
<br>
                
-#include <ib_mad.h><br>
                
+#include "ib_mad.h"<br>
<br>
should really just be #include <rdma/ib_mad.h>.<br>
<br>
2) How can the changes like<br>
<br>
@@ -75,7 +74,7 @@ int ehca_post_send(struct ib_qp *qp,<br>
                  
               
my_qp, qp->qp_num, send_wr, bad_send_wr);<br>
 <br>
                  /*
LOCK the QUEUE */<br>
-                
spin_lock_irqsave(&my_qp->spinlock_s, spin_flags);<br>
+                
spin_lock(&my_qp->spinlock_s);<br>
<br>
be correct?  ehca_post_send() is called directly as your device's<br>
post_send method, which means that a consumer can call it from both<br>
process and interrupt context.  So using plain spin_lock() can<br>
deadlock if a process context call is interrupted by an interrupt<br>
context call.<br>
<br>
The same comment applies to your other changes like this, at least in<br>
your post_recv and poll_cq methods.<br>
<br>
 - R.<br>
</tt></font>
<br>