summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/intel/iwlwifi/pcie/internal.h
diff options
context:
space:
mode:
authorHaim Dreyfuss <haim.dreyfuss@intel.com>2016-03-13 17:51:59 +0200
committerLuca Coelho <luciano.coelho@intel.com>2016-09-16 09:10:27 +0300
commit7c8d91eb312f30e96db04c710988394242a83565 (patch)
treea6c2aef0936c55ed51edbe3ce5de4cbaffcfe0aa /drivers/net/wireless/intel/iwlwifi/pcie/internal.h
parenta0315dea9091d1ebc1534f6129b3fc9942b8ca99 (diff)
downloadblackbird-obmc-linux-7c8d91eb312f30e96db04c710988394242a83565.tar.gz
blackbird-obmc-linux-7c8d91eb312f30e96db04c710988394242a83565.zip
iwlwifi: pcie: Set affinity mask for rx interrupt vectors per cpu
In order to utilize the host's CPUs in the most efficient way we bind each rx interrupt vector to each CPU on the host. Each rx interrupt is prioritized to execute only on the designated CPU rather than any CPU. Processor affinity takes advantage of the fact that some remnants of a process that was run on a given processor may remain in that processor's memory state for example, data in the CPU cache after another process is run on that CPU. Scheduling that process to execute on the same processor could result in an efficient use of process by reducing performance-degrading situations such as cache misses and parallel processing. Signed-off-by: Haim Dreyfuss <haim.dreyfuss@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Diffstat (limited to 'drivers/net/wireless/intel/iwlwifi/pcie/internal.h')
-rw-r--r--drivers/net/wireless/intel/iwlwifi/pcie/internal.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/internal.h b/drivers/net/wireless/intel/iwlwifi/pcie/internal.h
index 8ad92fac8592..987a0770fb5b 100644
--- a/drivers/net/wireless/intel/iwlwifi/pcie/internal.h
+++ b/drivers/net/wireless/intel/iwlwifi/pcie/internal.h
@@ -37,6 +37,7 @@
#include <linux/wait.h>
#include <linux/pci.h>
#include <linux/timer.h>
+#include <linux/cpu.h>
#include "iwl-fh.h"
#include "iwl-csr.h"
@@ -426,6 +427,7 @@ struct iwl_trans_pcie {
u32 hw_init_mask;
u32 fh_mask;
u32 hw_mask;
+ cpumask_t affinity_mask[IWL_MAX_RX_HW_QUEUES];
};
static inline struct iwl_trans_pcie *
OpenPOWER on IntegriCloud