diff options
author | Johannes Berg <johannes.berg@intel.com> | 2012-03-19 17:12:06 +0100 |
---|---|---|
committer | Wey-Yi Guy <wey-yi.w.guy@intel.com> | 2012-04-18 07:32:28 -0700 |
commit | bf8440e6a6f5fabf7843dbfecb1745e49182fa1c (patch) | |
tree | 7c7e8168f65d4af3bf89617d7727264e81d4fc83 /drivers/net/wireless/iwlwifi/iwl-trans-pcie-rx.c | |
parent | 682e5f64de0ab5be3fb2de9f66a1da87de48ec09 (diff) | |
download | blackbird-op-linux-bf8440e6a6f5fabf7843dbfecb1745e49182fa1c.tar.gz blackbird-op-linux-bf8440e6a6f5fabf7843dbfecb1745e49182fa1c.zip |
iwlwifi: improve TX cache footprint
Having cmd[], meta[] and skbs[] as separate arrays
in the TX queue structure is cache inefficient as
we need the data for a given entry together.
To improve this, create an array with these three
members (allocate meta as part of that struct) so
we have the data we need together located together
improving cache footprint.
The downside is that we need to allocate a lot of
memory in one chunk, about 10KiB (on 64-bit) which
isn't very efficient.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-trans-pcie-rx.c')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-trans-pcie-rx.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-trans-pcie-rx.c b/drivers/net/wireless/iwlwifi/iwl-trans-pcie-rx.c index 390490bb7f10..47c1f0a572a9 100644 --- a/drivers/net/wireless/iwlwifi/iwl-trans-pcie-rx.c +++ b/drivers/net/wireless/iwlwifi/iwl-trans-pcie-rx.c @@ -425,7 +425,7 @@ static void iwl_rx_handle_rxbuf(struct iwl_trans *trans, cmd_index = get_cmd_index(&txq->q, index); if (reclaim) - cmd = txq->cmd[cmd_index]; + cmd = txq->entries[cmd_index].cmd; else cmd = NULL; |