staging/hfi1: Move s_sde to read mostly section of hfi1_qp
authorHarish Chegondi <harish.chegondi@intel.com>
Mon, 11 Jan 2016 23:30:53 +0000 (18:30 -0500)
committerDoug Ledford <dledford@redhat.com>
Tue, 1 Mar 2016 15:36:26 +0000 (10:36 -0500)
This would reduce L2 cache misses on s_sde in the _hfi1_schedule_send
function when invoked from post_send thereby improving performance of
post_send.

Reviewed-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: Harish Chegondi <harish.chegondi@intel.com>
Signed-off-by: Jubin John <jubin.john@intel.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
drivers/staging/rdma/hfi1/verbs.h

index 286e468..a163fc2 100644 (file)
@@ -441,6 +441,7 @@ struct hfi1_qp {
        struct hfi1_swqe *s_wq;  /* send work queue */
        struct hfi1_mmap_info *ip;
        struct ahg_ib_header *s_hdr;     /* next packet header to send */
+       struct sdma_engine *s_sde; /* current sde */
        /* sc for UC/RC QPs - based on ah for UD */
        u8 s_sc;
        unsigned long timeout_jiffies;  /* computed from timeout */
@@ -506,7 +507,6 @@ struct hfi1_qp {
        struct hfi1_swqe *s_wqe;
        struct hfi1_sge_state s_sge;     /* current send request data */
        struct hfi1_mregion *s_rdma_mr;
-       struct sdma_engine *s_sde; /* current sde */
        u32 s_cur_size;         /* size of send packet in bytes */
        u32 s_len;              /* total length of s_sge */
        u32 s_rdma_read_len;    /* total length of s_rdma_read_sge */