diff options
author | Stephen Hemminger <stephen@networkplumber.org> | 2018-07-28 23:58:48 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2018-07-29 08:09:56 +0200 |
commit | 7ceb1c37533e2298797188087796dd44931d86af (patch) | |
tree | 47884db68d2b080bf3bfb87c33b10ec6809a6af3 /drivers/hv | |
parent | Drivers: hv: vmbus: Get rid of MSR access from vmbus_drv.c (diff) | |
download | linux-7ceb1c37533e2298797188087796dd44931d86af.tar.xz linux-7ceb1c37533e2298797188087796dd44931d86af.zip |
Drivers: hv: vmbus: add numa_node to sysfs
Being able to find the numa_node for a device is useful for userspace
drivers (DPDK) and also for diagnosing performance issues. This makes
vmbus similar to pci.
Signed-off-by: Stephen Hemminger <sthemmin@microsoft.com>
Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/hv')
-rw-r--r-- | drivers/hv/vmbus_drv.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/drivers/hv/vmbus_drv.c b/drivers/hv/vmbus_drv.c index db145e1a7049..b1b548a21f91 100644 --- a/drivers/hv/vmbus_drv.c +++ b/drivers/hv/vmbus_drv.c @@ -210,6 +210,20 @@ static ssize_t modalias_show(struct device *dev, } static DEVICE_ATTR_RO(modalias); +#ifdef CONFIG_NUMA +static ssize_t numa_node_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + struct hv_device *hv_dev = device_to_hv_device(dev); + + if (!hv_dev->channel) + return -ENODEV; + + return sprintf(buf, "%d\n", hv_dev->channel->numa_node); +} +static DEVICE_ATTR_RO(numa_node); +#endif + static ssize_t server_monitor_pending_show(struct device *dev, struct device_attribute *dev_attr, char *buf) @@ -492,6 +506,9 @@ static struct attribute *vmbus_dev_attrs[] = { &dev_attr_class_id.attr, &dev_attr_device_id.attr, &dev_attr_modalias.attr, +#ifdef CONFIG_NUMA + &dev_attr_numa_node.attr, +#endif &dev_attr_server_monitor_pending.attr, &dev_attr_client_monitor_pending.attr, &dev_attr_server_monitor_latency.attr, |