Commit 73f5e52b authored by Antoine Tenart's avatar Antoine Tenart Committed by David S. Miller

net-sysfs: make xps_cpus_show and xps_rxqs_show consistent

Make the implementations of xps_cpus_show and xps_rxqs_show to converge,
as the two share the same logic but diverted over time. This should not
modify their behaviour but will help future changes and improve
maintenance.
Signed-off-by: default avatarAntoine Tenart <atenart@kernel.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent d9a063d2
...@@ -1364,7 +1364,7 @@ static const struct attribute_group dql_group = { ...@@ -1364,7 +1364,7 @@ static const struct attribute_group dql_group = {
static ssize_t xps_cpus_show(struct netdev_queue *queue, static ssize_t xps_cpus_show(struct netdev_queue *queue,
char *buf) char *buf)
{ {
int cpu, len, ret, num_tc = 1, tc = 0; int j, len, ret, num_tc = 1, tc = 0;
struct net_device *dev = queue->dev; struct net_device *dev = queue->dev;
struct xps_dev_maps *dev_maps; struct xps_dev_maps *dev_maps;
unsigned long *mask; unsigned long *mask;
...@@ -1404,23 +1404,26 @@ static ssize_t xps_cpus_show(struct netdev_queue *queue, ...@@ -1404,23 +1404,26 @@ static ssize_t xps_cpus_show(struct netdev_queue *queue,
rcu_read_lock(); rcu_read_lock();
dev_maps = rcu_dereference(dev->xps_cpus_map); dev_maps = rcu_dereference(dev->xps_cpus_map);
if (dev_maps) { if (!dev_maps)
for_each_possible_cpu(cpu) { goto out_no_maps;
int i, tci = cpu * num_tc + tc;
struct xps_map *map; for (j = -1; j = netif_attrmask_next(j, NULL, nr_cpu_ids),
j < nr_cpu_ids;) {
map = rcu_dereference(dev_maps->attr_map[tci]); int i, tci = j * num_tc + tc;
if (!map) struct xps_map *map;
continue;
map = rcu_dereference(dev_maps->attr_map[tci]);
for (i = map->len; i--;) { if (!map)
if (map->queues[i] == index) { continue;
set_bit(cpu, mask);
break; for (i = map->len; i--;) {
} if (map->queues[i] == index) {
set_bit(j, mask);
break;
} }
} }
} }
out_no_maps:
rcu_read_unlock(); rcu_read_unlock();
rtnl_unlock(); rtnl_unlock();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment