net: restore call to netdev_queue_numa_node_write when resetting XPS
Before commit80d19669ec
("net: Refactor XPS for CPUs and Rx queues"), netif_reset_xps_queues() did netdev_queue_numa_node_write() for all the queues being reset. Now, this is only done when the "active" variable in clean_xps_maps() is false, ie when on all the CPUs, there's no active XPS mapping left. Fixes:80d19669ec
("net: Refactor XPS for CPUs and Rx queues") Signed-off-by: Sabrina Dubroca <sd@queasysnail.net> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
d7f7e0018b
commit
f28c020fb4
|
@ -2187,18 +2187,20 @@ static void clean_xps_maps(struct net_device *dev, const unsigned long *mask,
|
|||
active |= remove_xps_queue_cpu(dev, dev_maps, j, offset,
|
||||
count);
|
||||
if (!active) {
|
||||
if (is_rxqs_map) {
|
||||
if (is_rxqs_map)
|
||||
RCU_INIT_POINTER(dev->xps_rxqs_map, NULL);
|
||||
} else {
|
||||
else
|
||||
RCU_INIT_POINTER(dev->xps_cpus_map, NULL);
|
||||
|
||||
for (i = offset + (count - 1); count--; i--)
|
||||
netdev_queue_numa_node_write(
|
||||
netdev_get_tx_queue(dev, i),
|
||||
NUMA_NO_NODE);
|
||||
}
|
||||
kfree_rcu(dev_maps, rcu);
|
||||
}
|
||||
|
||||
if (!is_rxqs_map) {
|
||||
for (i = offset + (count - 1); count--; i--) {
|
||||
netdev_queue_numa_node_write(
|
||||
netdev_get_tx_queue(dev, i),
|
||||
NUMA_NO_NODE);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void netif_reset_xps_queues(struct net_device *dev, u16 offset,
|
||||
|
|
Loading…
Reference in New Issue