summaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/intel/igb/igb.h
diff options
context:
space:
mode:
authorAlexander Duyck2011-08-26 09:45:20 +0200
committerJeff Kirsher2011-10-08 07:34:13 +0200
commit81c2fc22323f461aee30cf7028a79eb67426e4b6 (patch)
tree07fd37eb5ca417ca24a25bb1615183944fd13a1a /drivers/net/ethernet/intel/igb/igb.h
parentigb: push data into first igb_tx_buffer sooner to reduce stack usage (diff)
downloadkernel-qcow2-linux-81c2fc22323f461aee30cf7028a79eb67426e4b6.tar.gz
kernel-qcow2-linux-81c2fc22323f461aee30cf7028a79eb67426e4b6.tar.xz
kernel-qcow2-linux-81c2fc22323f461aee30cf7028a79eb67426e4b6.zip
igb: Use node specific allocations for the q_vectors and rings
This change is meant to update the ring and vector allocations so that they are per node instead of allocating everything on the node that ifconfig/modprobe is called on. By doing this we can cut down significantly on cross node traffic. Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com> Tested-by: Aaron Brown <aaron.f.brown@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Diffstat (limited to 'drivers/net/ethernet/intel/igb/igb.h')
-rw-r--r--drivers/net/ethernet/intel/igb/igb.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/ethernet/intel/igb/igb.h b/drivers/net/ethernet/intel/igb/igb.h
index de35c02876aa..9e4bed37d9be 100644
--- a/drivers/net/ethernet/intel/igb/igb.h
+++ b/drivers/net/ethernet/intel/igb/igb.h
@@ -185,6 +185,8 @@ struct igb_q_vector {
u16 cpu;
u16 tx_work_limit;
+ int numa_node;
+
u16 itr_val;
u8 set_itr;
void __iomem *itr_register;
@@ -232,6 +234,7 @@ struct igb_ring {
};
/* Items past this point are only used during ring alloc / free */
dma_addr_t dma; /* phys address of the ring */
+ int numa_node; /* node to alloc ring memory on */
};
#define IGB_RING_FLAG_RX_CSUM 0x00000001 /* RX CSUM enabled */
@@ -341,6 +344,7 @@ struct igb_adapter {
int vf_rate_link_speed;
u32 rss_queues;
u32 wvbr;
+ int node;
};
#define IGB_FLAG_HAS_MSI (1 << 0)