net-sysfs: Drop support for XPS and traffic_class on single queue device
authorAlexander Duyck <alexander.h.duyck@intel.com>
Mon, 9 Jul 2018 16:19:32 +0000 (12:19 -0400)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Mon, 9 Jul 2018 18:33:41 +0000 (11:33 -0700)
This patch makes it so that we do not report the traffic class or allow XPS
configuration on single queue devices. This is mostly to avoid unnecessary
complexity with changes I have planned that will allow us to reuse
the unused tc_to_txq and XPS configuration on a single queue device to
allow it to make use of a subset of queues on an underlying device.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
net/core/net-sysfs.c

index f25ac5ff48a647fc17c772bc1028d4ea1785925a..dce3ae0fbca2a1a54fbabf62f506d86b827b7482 100644 (file)
@@ -1047,9 +1047,14 @@ static ssize_t traffic_class_show(struct netdev_queue *queue,
                                  char *buf)
 {
        struct net_device *dev = queue->dev;
-       int index = get_netdev_queue_index(queue);
-       int tc = netdev_txq_to_tc(dev, index);
+       int index;
+       int tc;
 
+       if (!netif_is_multiqueue(dev))
+               return -ENOENT;
+
+       index = get_netdev_queue_index(queue);
+       tc = netdev_txq_to_tc(dev, index);
        if (tc < 0)
                return -EINVAL;
 
@@ -1214,6 +1219,9 @@ static ssize_t xps_cpus_show(struct netdev_queue *queue,
        cpumask_var_t mask;
        unsigned long index;
 
+       if (!netif_is_multiqueue(dev))
+               return -ENOENT;
+
        index = get_netdev_queue_index(queue);
 
        if (dev->num_tc) {
@@ -1260,6 +1268,9 @@ static ssize_t xps_cpus_store(struct netdev_queue *queue,
        cpumask_var_t mask;
        int err;
 
+       if (!netif_is_multiqueue(dev))
+               return -ENOENT;
+
        if (!capable(CAP_NET_ADMIN))
                return -EPERM;