IB/hfi1: Optimize pio_buf and send_context structs
authorSebastian Sanchez <sebastian.sanchez@intel.com>
Tue, 25 Oct 2016 20:12:34 +0000 (13:12 -0700)
committerDoug Ledford <dledford@redhat.com>
Tue, 15 Nov 2016 21:37:27 +0000 (16:37 -0500)
commit8af8d2970ed98493a2db88dfcad88b0065e55e79
tree57841ee0bdf580dc5c23fe6de9a52dfe20cf005d
parent2474d775d9e2f935ff6840c8b21b4262afacc821
IB/hfi1: Optimize pio_buf and send_context structs

Both pio_buf and send_context structs have oversized
fields and have cachelines that can be optimized.

Reduce oversized fields for both structs.
Make sure pio_buf struct fits within a cacheline.
Move read-only fields to their own cacheline in
send_context struct.

All of this will avoid cacheline trading as the ring
progresses and pio buffers/send contexts are used.

Reviewed-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: Sebastian Sanchez <sebastian.sanchez@intel.com>
Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
drivers/infiniband/hw/hfi1/pio.c
drivers/infiniband/hw/hfi1/pio.h
drivers/infiniband/hw/hfi1/pio_copy.c