i40evf: Use numa_mem_id() to better support memoryless node
authorJiang Liu <jiang.liu@linux.intel.com>
Mon, 17 Aug 2015 03:19:03 +0000 (11:19 +0800)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Sun, 4 Oct 2015 02:02:53 +0000 (19:02 -0700)
Function i40e_clean_rx_irq() tries to reuse memory pages allocated
from the nearest node. To better support memoryless node, use
numa_mem_id() instead of numa_node_id() to get the nearest node with
memory.

This change should only affect performance.

Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/i40evf/i40e_txrx.c

index aaee89fd6526094e4fa93a629dc26dd3956c47ee..0e1a4d6e4e6e48a73d79ce911e96a606300acd4b 100644 (file)
@@ -917,7 +917,7 @@ static int i40e_clean_rx_irq_ps(struct i40e_ring *rx_ring, int budget)
        unsigned int total_rx_bytes = 0, total_rx_packets = 0;
        u16 rx_packet_len, rx_header_len, rx_sph, rx_hbo;
        u16 cleaned_count = I40E_DESC_UNUSED(rx_ring);
-       const int current_node = numa_node_id();
+       const int current_node = numa_mem_id();
        struct i40e_vsi *vsi = rx_ring->vsi;
        u16 i = rx_ring->next_to_clean;
        union i40e_rx_desc *rx_desc;