diff options
author | Dwip N. Banerjee <dnbanerg@us.ibm.com> | 2020-11-18 19:12:22 -0600 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2020-11-20 19:50:34 -0800 |
commit | 9a87c3fca2372af3177cb454c7aa381c7080307f (patch) | |
tree | 8d0b50e08a3b90fc46f2530ecaaa9c7ac19518f8 /drivers/net/ethernet/ibm/ibmvnic.h | |
parent | ibmvnic: Remove send_subcrq function (diff) | |
download | linux-dev-9a87c3fca2372af3177cb454c7aa381c7080307f.tar.xz linux-dev-9a87c3fca2372af3177cb454c7aa381c7080307f.zip |
ibmvnic: Ensure that device queue memory is cache-line aligned
PCI bus slowdowns were observed on IBM VNIC devices as a result
of partial cache line writes and non-cache aligned full cache line writes.
Ensure that packet data buffers are cache-line aligned to avoid these
slowdowns.
Signed-off-by: Dwip N. Banerjee <dnbanerg@us.ibm.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'drivers/net/ethernet/ibm/ibmvnic.h')
-rw-r--r-- | drivers/net/ethernet/ibm/ibmvnic.h | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/net/ethernet/ibm/ibmvnic.h b/drivers/net/ethernet/ibm/ibmvnic.h index 16d892c3db0f..9911d926dd7f 100644 --- a/drivers/net/ethernet/ibm/ibmvnic.h +++ b/drivers/net/ethernet/ibm/ibmvnic.h @@ -883,7 +883,7 @@ struct ibmvnic_sub_crq_queue { atomic_t used; char name[32]; u64 handle; -}; +} ____cacheline_aligned; struct ibmvnic_long_term_buff { unsigned char *buff; @@ -907,7 +907,7 @@ struct ibmvnic_tx_pool { struct ibmvnic_long_term_buff long_term_buff; int num_buffers; int buf_size; -}; +} ____cacheline_aligned; struct ibmvnic_rx_buff { struct sk_buff *skb; @@ -928,7 +928,7 @@ struct ibmvnic_rx_pool { int next_alloc; int active; struct ibmvnic_long_term_buff long_term_buff; -}; +} ____cacheline_aligned; struct ibmvnic_vpd { unsigned char *buff; @@ -1015,8 +1015,8 @@ struct ibmvnic_adapter { atomic_t running_cap_crqs; bool wait_capability; - struct ibmvnic_sub_crq_queue **tx_scrq; - struct ibmvnic_sub_crq_queue **rx_scrq; + struct ibmvnic_sub_crq_queue **tx_scrq ____cacheline_aligned; + struct ibmvnic_sub_crq_queue **rx_scrq ____cacheline_aligned; /* rx structs */ struct napi_struct *napi; |