On Mon, Aug 08, 2016 at 10:30:18AM -0600, Jason Gunthorpe wrote: > On Sat, Aug 06, 2016 at 02:48:23PM -0400, Jarod Wilson wrote: > > On Fri, Aug 05, 2016 at 12:01:07PM -0600, Jason Gunthorpe wrote: > > > On Fri, Aug 05, 2016 at 01:33:59PM -0400, Jarod Wilson wrote: > > > > - return _mlx5_post_send(ibqp, wr, bad_wr); > > > > + errno = _mlx5_post_send(ibqp, wr, bad_wr); > > > > + return errno; > > > > > > Why still set errno? It was wrong in the first place.. > > > > > > Likely every use of errno in this provider should be reviewed. > > > > Wasn't sure if something else might actually consume errno elsewhere, > > since it's a global, and the other code path in that function set errno. > > Could certainly just stick with returning the _mlx5_post_send() result > > directly. > > If the man page doesn't document the function destroying errno, then > it should preserve it. Do not just randomly set errno. $ man ibv_post_send ... RETURN VALUE ibv_post_send() returns 0 on success, or the value of errno on failure (which indicates the failure reason). ... This is a little bit terse, but looks to me like it means to say do set errno in ibv_post_send. I really am not terribly familiar with this code though, so I have no idea for sure if my interpretation is correct. Looks like libmlx4 does NOT twiddle errno though. I can certainly update the patch if consensus is that errno shouldn't be touched. Looks like mlx5_post_send() will need some additional work as well if that's the case though. -- Jarod Wilson jarod@xxxxxxxxxx -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html