* [PATCH/libmlx4] Return ERRNO codes from ibv_post_send/recv instead of -1
@ 2011-03-09 1:28 Jason Gunthorpe
[not found] ` <20110309012810.GM22729-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
0 siblings, 1 reply; 4+ messages in thread
From: Jason Gunthorpe @ 2011-03-09 1:28 UTC (permalink / raw)
To: Roland Dreier, linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
The man pages for these functions document a positive return of errno
not -1.
Signed-off-by: Jason Gunthorpe <jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
---
src/qp.c | 13 +++++++------
1 files changed, 7 insertions(+), 6 deletions(-)
Noticed this.. What do you think?
I did not check the other drivers.
diff --git a/src/qp.c b/src/qp.c
index d194ae3..ec138cd 100644
--- a/src/qp.c
+++ b/src/qp.c
@@ -40,6 +40,7 @@
#include <netinet/in.h>
#include <pthread.h>
#include <string.h>
+#include <errno.h>
#include "mlx4.h"
#include "doorbell.h"
@@ -206,19 +207,19 @@ int mlx4_post_send(struct ibv_qp *ibqp, struct ibv_send_wr *wr,
for (nreq = 0; wr; ++nreq, wr = wr->next) {
if (wq_overflow(&qp->sq, nreq, to_mcq(qp->ibv_qp.send_cq))) {
- ret = -1;
+ ret = ENOMEM;
*bad_wr = wr;
goto out;
}
if (wr->num_sge > qp->sq.max_gs) {
- ret = -1;
+ ret = ENOMEM;
*bad_wr = wr;
goto out;
}
if (wr->opcode >= sizeof mlx4_ib_opcode / sizeof mlx4_ib_opcode[0]) {
- ret = -1;
+ ret = EINVAL;
*bad_wr = wr;
goto out;
}
@@ -309,7 +310,7 @@ int mlx4_post_send(struct ibv_qp *ibqp, struct ibv_send_wr *wr,
if (inl > qp->max_inline_data) {
inl = 0;
- ret = -1;
+ ret = ENOMEM;
*bad_wr = wr;
goto out;
}
@@ -450,13 +451,13 @@ int mlx4_post_recv(struct ibv_qp *ibqp, struct ibv_recv_wr *wr,
for (nreq = 0; wr; ++nreq, wr = wr->next) {
if (wq_overflow(&qp->rq, nreq, to_mcq(qp->ibv_qp.recv_cq))) {
- ret = -1;
+ ret = ENOMEM;
*bad_wr = wr;
goto out;
}
if (wr->num_sge > qp->rq.max_gs) {
- ret = -1;
+ ret = ENOMEM;
*bad_wr = wr;
goto out;
}
--
1.7.1
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] 4+ messages in thread
* RE: [PATCH/libmlx4] Return ERRNO codes from ibv_post_send/recv instead of -1
[not found] ` <20110309012810.GM22729-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
@ 2011-03-09 14:02 ` Mike Heinz
2011-03-09 16:04 ` Bart Van Assche
1 sibling, 0 replies; 4+ messages in thread
From: Mike Heinz @ 2011-03-09 14:02 UTC (permalink / raw)
To: Jason Gunthorpe, Roland Dreier,
linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Returning an errno is always better than just returning -1. (Assuming it's an appropriate error number...)
-----Original Message-----
From: linux-rdma-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org [mailto:linux-rdma-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org] On Behalf Of Jason Gunthorpe
Sent: Tuesday, March 08, 2011 8:28 PM
To: Roland Dreier; linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: [PATCH/libmlx4] Return ERRNO codes from ibv_post_send/recv instead of -1
The man pages for these functions document a positive return of errno not -1.
Signed-off-by: Jason Gunthorpe <jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
---
src/qp.c | 13 +++++++------
1 files changed, 7 insertions(+), 6 deletions(-)
Noticed this.. What do you think?
I did not check the other drivers.
diff --git a/src/qp.c b/src/qp.c
index d194ae3..ec138cd 100644
--- a/src/qp.c
+++ b/src/qp.c
@@ -40,6 +40,7 @@
#include <netinet/in.h>
#include <pthread.h>
#include <string.h>
+#include <errno.h>
#include "mlx4.h"
#include "doorbell.h"
@@ -206,19 +207,19 @@ int mlx4_post_send(struct ibv_qp *ibqp, struct ibv_send_wr *wr,
for (nreq = 0; wr; ++nreq, wr = wr->next) {
if (wq_overflow(&qp->sq, nreq, to_mcq(qp->ibv_qp.send_cq))) {
- ret = -1;
+ ret = ENOMEM;
*bad_wr = wr;
goto out;
}
if (wr->num_sge > qp->sq.max_gs) {
- ret = -1;
+ ret = ENOMEM;
*bad_wr = wr;
goto out;
}
if (wr->opcode >= sizeof mlx4_ib_opcode / sizeof mlx4_ib_opcode[0]) {
- ret = -1;
+ ret = EINVAL;
*bad_wr = wr;
goto out;
}
@@ -309,7 +310,7 @@ int mlx4_post_send(struct ibv_qp *ibqp, struct ibv_send_wr *wr,
if (inl > qp->max_inline_data) {
inl = 0;
- ret = -1;
+ ret = ENOMEM;
*bad_wr = wr;
goto out;
}
@@ -450,13 +451,13 @@ int mlx4_post_recv(struct ibv_qp *ibqp, struct ibv_recv_wr *wr,
for (nreq = 0; wr; ++nreq, wr = wr->next) {
if (wq_overflow(&qp->rq, nreq, to_mcq(qp->ibv_qp.recv_cq))) {
- ret = -1;
+ ret = ENOMEM;
*bad_wr = wr;
goto out;
}
if (wr->num_sge > qp->rq.max_gs) {
- ret = -1;
+ ret = ENOMEM;
*bad_wr = wr;
goto out;
}
--
1.7.1
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html
This message and any attached documents contain information from QLogic Corporation or its wholly-owned subsidiaries that may be confidential. If you are not the intended recipient, you may not read, copy, distribute, or use this information. If you have received this transmission in error, please notify the sender immediately by reply e-mail and then delete this message.
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH/libmlx4] Return ERRNO codes from ibv_post_send/recv instead of -1
[not found] ` <20110309012810.GM22729-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2011-03-09 14:02 ` Mike Heinz
@ 2011-03-09 16:04 ` Bart Van Assche
[not found] ` <AANLkTikfGw=ORf=B9x0Z8rrfnxOV=j0ynaSvRZ6j1sVt-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
1 sibling, 1 reply; 4+ messages in thread
From: Bart Van Assche @ 2011-03-09 16:04 UTC (permalink / raw)
To: Jason Gunthorpe
Cc: Roland Dreier, linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
On Wed, Mar 9, 2011 at 2:28 AM, Jason Gunthorpe
<jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org> wrote:
> - ret = -1;
> + ret = ENOMEM;
I'm afraid that this will break any code that tests return values with
the test "< 0". Introducing error codes is good, but why to change
negative return codes into positive ?
Bart.
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH/libmlx4] Return ERRNO codes from ibv_post_send/recv instead of -1
[not found] ` <AANLkTikfGw=ORf=B9x0Z8rrfnxOV=j0ynaSvRZ6j1sVt-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
@ 2011-03-09 17:00 ` Jason Gunthorpe
0 siblings, 0 replies; 4+ messages in thread
From: Jason Gunthorpe @ 2011-03-09 17:00 UTC (permalink / raw)
To: Bart Van Assche
Cc: Roland Dreier, linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
On Wed, Mar 09, 2011 at 05:04:30PM +0100, Bart Van Assche wrote:
> On Wed, Mar 9, 2011 at 2:28 AM, Jason Gunthorpe
> <jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org> wrote:
> > - ? ? ? ? ? ? ? ? ? ? ? ret = -1;
> > + ? ? ? ? ? ? ? ? ? ? ? ret = ENOMEM;
>
> I'm afraid that this will break any code that tests return values with
> the test "< 0". Introducing error codes is good, but why to change
> negative return codes into positive ?
Any code that checks for < 0 is already broken. This is just the mlx4
userspace driver, other drivers correctly return positive errno, eg
any driver that uses the ibv_cmd_post_send path returns positive
errno.
The standard convention for ibverbs, clearly stated in the manual
is that 0 is success and everything else is errno.
Jason
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2011-03-09 17:00 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-03-09 1:28 [PATCH/libmlx4] Return ERRNO codes from ibv_post_send/recv instead of -1 Jason Gunthorpe
[not found] ` <20110309012810.GM22729-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2011-03-09 14:02 ` Mike Heinz
2011-03-09 16:04 ` Bart Van Assche
[not found] ` <AANLkTikfGw=ORf=B9x0Z8rrfnxOV=j0ynaSvRZ6j1sVt-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2011-03-09 17:00 ` Jason Gunthorpe
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox