Re: [PATCH v3 04/11] xprtrdma: Move struct ib_send_wr off the stack

2015-12-16 Thread Sagi Grimberg
diff --git a/net/sunrpc/xprtrdma/xprt_rdma.h b/net/sunrpc/xprtrdma/xprt_rdma.h index 4197191..e60d817 100644 --- a/net/sunrpc/xprtrdma/xprt_rdma.h +++ b/net/sunrpc/xprtrdma/xprt_rdma.h @@ -206,6 +206,8 @@ struct rpcrdma_frmr { enum rpcrdma_frmr_state fr_state; struct

Re: [PATCH v3 04/11] xprtrdma: Move struct ib_send_wr off the stack

2015-12-16 Thread Chuck Lever
> On Dec 16, 2015, at 9:00 AM, Sagi Grimberg wrote: > > >> diff --git a/net/sunrpc/xprtrdma/xprt_rdma.h >> b/net/sunrpc/xprtrdma/xprt_rdma.h >> index 4197191..e60d817 100644 >> --- a/net/sunrpc/xprtrdma/xprt_rdma.h >> +++ b/net/sunrpc/xprtrdma/xprt_rdma.h >> @@

Re: [PATCH v3 04/11] xprtrdma: Move struct ib_send_wr off the stack

2015-12-16 Thread Christoph Hellwig
On Wed, Dec 16, 2015 at 10:06:33AM -0500, Chuck Lever wrote: > > Would it make sense to unionize these as they are guaranteed not to > > execute together? Some people don't like this sort of savings. > > I dislike unions because they make the code that uses > them less readable. I can define

Re: [PATCH v3 04/11] xprtrdma: Move struct ib_send_wr off the stack

2015-12-16 Thread Chuck Lever
> On Dec 16, 2015, at 10:11 AM, Christoph Hellwig wrote: > > On Wed, Dec 16, 2015 at 10:06:33AM -0500, Chuck Lever wrote: >>> Would it make sense to unionize these as they are guaranteed not to >>> execute together? Some people don't like this sort of savings. >> >> I

Re: [PATCH v3 04/11] xprtrdma: Move struct ib_send_wr off the stack

2015-12-16 Thread Christoph Hellwig
On Wed, Dec 16, 2015 at 10:13:31AM -0500, Chuck Lever wrote: > > Shouldn't be an issue with transparent unions these days: > > > > union { > > struct ib_reg_wrfr_regwr; > > struct ib_send_wr fr_invwr; > > }; > > Right, but isn't that

[PATCH v3 04/11] xprtrdma: Move struct ib_send_wr off the stack

2015-12-14 Thread Chuck Lever
For FRWR FASTREG and LOCAL_INV, move the ib_*_wr structure off the stack. This allows frwr_op_map and frwr_op_unmap to chain WRs together without limit to register or invalidate a set of MRs with a single ib_post_send(). (This will be for chaining LOCAL_INV requests). Signed-off-by: Chuck Lever