Commit f0fa2974 authored by Stephen Hemminger's avatar Stephen Hemminger Committed by Greg Kroah-Hartman
Browse files

vmbus: add monitor_id and subchannel_id to sysfs per channel



Useful to identify which network queue is associated with
which vmbus channel.

Signed-off-by: default avatarStephen Hemminger <sthemmin@microsoft.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent b4ea81ee
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -118,3 +118,17 @@ KernelVersion: 4.14
Contact:	Stephen Hemminger <sthemmin@microsoft.com>
Description:	Number of times we have taken an interrupt (incoming)
Users:		Debugging tools

What:		/sys/bus/vmbus/devices/vmbus_*/channels/NN/subchannel_id
Date:		January. 2018
KernelVersion:	4.16
Contact:	Stephen Hemminger <sthemmin@microsoft.com>
Description:	Subchannel ID associated with VMBUS channel
Users:		Debugging tools and userspace drivers

What:		/sys/bus/vmbus/devices/vmbus_*/channels/NN/monitor_id
Date:		January. 2018
KernelVersion:	4.16
Contact:	Stephen Hemminger <sthemmin@microsoft.com>
Description:	Monitor bit associated with channel
Users:		Debugging tools and userspace drivers
+17 −0
Original line number Diff line number Diff line
@@ -1254,6 +1254,21 @@ static ssize_t channel_events_show(const struct vmbus_channel *channel, char *bu
}
static VMBUS_CHAN_ATTR(events, S_IRUGO, channel_events_show, NULL);

static ssize_t subchannel_monitor_id_show(const struct vmbus_channel *channel,
					  char *buf)
{
	return sprintf(buf, "%u\n", channel->offermsg.monitorid);
}
static VMBUS_CHAN_ATTR(monitor_id, S_IRUGO, subchannel_monitor_id_show, NULL);

static ssize_t subchannel_id_show(const struct vmbus_channel *channel,
				  char *buf)
{
	return sprintf(buf, "%u\n",
		       channel->offermsg.offer.sub_channel_index);
}
static VMBUS_CHAN_ATTR_RO(subchannel_id);

static struct attribute *vmbus_chan_attrs[] = {
	&chan_attr_out_mask.attr,
	&chan_attr_in_mask.attr,
@@ -1264,6 +1279,8 @@ static struct attribute *vmbus_chan_attrs[] = {
	&chan_attr_latency.attr,
	&chan_attr_interrupts.attr,
	&chan_attr_events.attr,
	&chan_attr_monitor_id.attr,
	&chan_attr_subchannel_id.attr,
	NULL
};