Hello Roland,
thanks for your comments. We will include the changes it in our code and do then a new OpenIB SVN check-in.
Mit freundlichen Gruessen / Kind Regards
Heiko Joerg Schick
IBM Deutschland Entwicklung GmbH
I/O Firmware Development II
Linux Infiniband Device Drivers
Schoenaicher Str. 220
71032 Boeblingen
E-Mail: [EMAIL PROTECTED]
External: 49-7031-16-0 x4219, t/l: 120-4219
Roland Dreier <[EMAIL PROTECTED]>
01/17/2006 01:59 PM |
|
Hi, I noticed that you checked in some ehca changes. A couple of comments:
1) While most of the changes to your #includes are correct, like
-#include <hipz_fns_core.h>
+#include "hipz_fns_core.h"
since you should use "" instead of <> for includes in your own local
directory to make the kernel build work, things in the kernel's own
include/ directory should still use <>, so for example
-#include <linux/version.h>
+#include "linux/version.h"
Also, I never noticed this before but
-#include <ib_mad.h>
+#include "ib_mad.h"
should really just be #include <rdma/ib_mad.h>.
2) How can the changes like
@@ -75,7 +74,7 @@ int ehca_post_send(struct ib_qp *qp,
my_qp, qp->qp_num, send_wr, bad_send_wr);
/* LOCK the QUEUE */
- spin_lock_irqsave(&my_qp->spinlock_s, spin_flags);
+ spin_lock(&my_qp->spinlock_s);
be correct? ehca_post_send() is called directly as your device's
post_send method, which means that a consumer can call it from both
process and interrupt context. So using plain spin_lock() can
deadlock if a process context call is interrupted by an interrupt
context call.
The same comment applies to your other changes like this, at least in
your post_recv and poll_cq methods.
- R.
_______________________________________________ openib-general mailing list openib-general@openib.org http://openib.org/mailman/listinfo/openib-general
To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general