summaryrefslogtreecommitdiff
path: root/drivers/infiniband/hw/hfi1/pio.h
diff options
context:
space:
mode:
authorSebastian Sanchez <sebastian.sanchez@intel.com>2016-10-25 23:12:28 +0300
committerDoug Ledford <dledford@redhat.com>2016-11-16 00:37:27 +0300
commit2474d775d9e2f935ff6840c8b21b4262afacc821 (patch)
tree488fd7bff5f3edf1eafec2434ff6b3564cb1202c /drivers/infiniband/hw/hfi1/pio.h
parentfe4d924396a861937256293ff4a84b76b84854d8 (diff)
downloadlinux-2474d775d9e2f935ff6840c8b21b4262afacc821.tar.xz
IB/hfi1: Get rid of divide in pio buffer allocator
The div instruction shows costly in profiles. 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>
Diffstat (limited to 'drivers/infiniband/hw/hfi1/pio.h')
-rw-r--r--drivers/infiniband/hw/hfi1/pio.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/infiniband/hw/hfi1/pio.h b/drivers/infiniband/hw/hfi1/pio.h
index bd19507b6bb0..498b548055e0 100644
--- a/drivers/infiniband/hw/hfi1/pio.h
+++ b/drivers/infiniband/hw/hfi1/pio.h
@@ -119,6 +119,7 @@ struct send_context {
unsigned long fill; /* official alloc count */
unsigned long alloc_free; /* copy of free (less cache thrash) */
u32 __percpu *buffers_allocated;/* count of buffers allocated */
+ u32 fill_wrap; /* tracks fill within ring */
/* releaser fields */
spinlock_t release_lock ____cacheline_aligned_in_smp;
u32 sr_tail; /* shadow ring tail */