[PATCH v1 0/2] More xprt header XDR encoding clean up

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Anna-

Transport header encoding indexes some arrays. gcc doesn't seem to
be able to optimize the use of these arrays correctly (as it does in
other areas), and is instead using expensive integer multiplication
to compute array indices.

These two patches refactor the logic used during transport header
construction to eliminate the use of array[index] and instead use
*array++. This eliminates the use of imul instructions on x86.

As before, this is strictly a change to XDR encoding, so I have not
copied linux-rdma on these patches. Please have a look at these and
let me know if they are not acceptable for v4.14.

---

Chuck Lever (2):
      xprtrdma: Remove imul instructions from rpcrdma_convert_iovs()
      xprtrdma: Remove imul instructions from chunk list encoders


 net/sunrpc/xprtrdma/fmr_ops.c   |   10 +--
 net/sunrpc/xprtrdma/frwr_ops.c  |   12 ++-
 net/sunrpc/xprtrdma/rpc_rdma.c  |  150 ++++++++++++++++++---------------------
 net/sunrpc/xprtrdma/xprt_rdma.h |    3 +
 4 files changed, 82 insertions(+), 93 deletions(-)

--
Chuck Lever
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux