diff options
| author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-09-13 11:22:10 -0700 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-09-13 11:22:10 -0700 |
| commit | 719d631363a9728e4b082cb689b802ece4476f6c (patch) | |
| tree | f0ea8e8c62621b7536f5216242bdc5dc5781a28e /f08.patch | |
| parent | 44ea8a3f679a11e5ac3c5b174b645669e33fd8cf (diff) | |
| download | patches-719d631363a9728e4b082cb689b802ece4476f6c.tar.gz | |
rename hv patches and document them better.
Diffstat (limited to 'f08.patch')
| -rw-r--r-- | f08.patch | 171 |
1 files changed, 0 insertions, 171 deletions
diff --git a/f08.patch b/f08.patch deleted file mode 100644 index cae0173c15be61..00000000000000 --- a/f08.patch +++ /dev/null @@ -1,171 +0,0 @@ -From foo@baz Mon Sep 9 14:40:42 PDT 2013 -Date: Mon, 09 Sep 2013 14:40:42 -0700 -To: Greg KH <gregkh@linuxfoundation.org> -From: Greg Kroah-Hartman <gregkh@linuxfoundation.org> -Subject: hv: move "client/server_monitor_pending" bus attributes to dev_groups - -This moves the "client_monitor_pending" and "server_monitor_pending" bus -attributes to the dev_groups structure, removing the need for it to be in a -temporary structure. - -Cc: "K. Y. Srinivasan" <kys@microsoft.com> -Cc: Haiyang Zhang <haiyangz@microsoft.com> -Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> ---- - drivers/hv/channel.c | 4 --- - drivers/hv/vmbus_drv.c | 56 ++++++++++++++++++++++++++++++++++++++++--------- - include/linux/hyperv.h | 2 - - 3 files changed, 46 insertions(+), 16 deletions(-) - ---- a/drivers/hv/channel.c -+++ b/drivers/hv/channel.c -@@ -70,8 +70,6 @@ void vmbus_get_debug_info(struct vmbus_c - u8 monitor_offset = (u8)channel->offermsg.monitorid % 32; - - monitorpage = vmbus_connection.monitor_pages[0]; -- debuginfo->servermonitor_pending = -- monitorpage->trigger_group[monitor_group].pending; - debuginfo->servermonitor_latency = - monitorpage->latency[monitor_group][monitor_offset]; - debuginfo->servermonitor_connectionid = -@@ -79,8 +77,6 @@ void vmbus_get_debug_info(struct vmbus_c - [monitor_offset].connectionid.u.id; - - monitorpage = vmbus_connection.monitor_pages[1]; -- debuginfo->clientmonitor_pending = -- monitorpage->trigger_group[monitor_group].pending; - debuginfo->clientmonitor_latency = - monitorpage->latency[monitor_group][monitor_offset]; - debuginfo->clientmonitor_connectionid = ---- a/drivers/hv/vmbus_drv.c -+++ b/drivers/hv/vmbus_drv.c -@@ -47,10 +47,8 @@ static struct completion probe_event; - static int irq; - - struct hv_device_info { -- u32 server_monitor_pending; - u32 server_monitor_latency; - u32 server_monitor_conn_id; -- u32 client_monitor_pending; - u32 client_monitor_latency; - u32 client_monitor_conn_id; - -@@ -77,11 +75,9 @@ static void get_channel_info(struct hv_d - - vmbus_get_debug_info(device->channel, &debug_info); - -- info->server_monitor_pending = debug_info.servermonitor_pending; - info->server_monitor_latency = debug_info.servermonitor_latency; - info->server_monitor_conn_id = debug_info.servermonitor_connectionid; - -- info->client_monitor_pending = debug_info.clientmonitor_pending; - info->client_monitor_latency = debug_info.clientmonitor_latency; - info->client_monitor_conn_id = debug_info.clientmonitor_connectionid; - -@@ -155,15 +151,11 @@ static ssize_t vmbus_show_device_attr(st - } else if (!strcmp(dev_attr->attr.name, "in_write_bytes_avail")) { - ret = sprintf(buf, "%d\n", - device_info->inbound.bytes_avail_towrite); -- } else if (!strcmp(dev_attr->attr.name, "server_monitor_pending")) { -- ret = sprintf(buf, "%d\n", device_info->server_monitor_pending); - } else if (!strcmp(dev_attr->attr.name, "server_monitor_latency")) { - ret = sprintf(buf, "%d\n", device_info->server_monitor_latency); - } else if (!strcmp(dev_attr->attr.name, "server_monitor_conn_id")) { - ret = sprintf(buf, "%d\n", - device_info->server_monitor_conn_id); -- } else if (!strcmp(dev_attr->attr.name, "client_monitor_pending")) { -- ret = sprintf(buf, "%d\n", device_info->client_monitor_pending); - } else if (!strcmp(dev_attr->attr.name, "client_monitor_latency")) { - ret = sprintf(buf, "%d\n", device_info->client_monitor_latency); - } else if (!strcmp(dev_attr->attr.name, "client_monitor_conn_id")) { -@@ -175,6 +167,23 @@ static ssize_t vmbus_show_device_attr(st - return ret; - } - -+static u8 channel_monitor_group(struct vmbus_channel *channel) -+{ -+ return (u8)channel->offermsg.monitorid / 32; -+} -+ -+static u8 channel_monitor_offset(struct vmbus_channel *channel) -+{ -+ return (u8)channel->offermsg.monitorid % 32; -+} -+ -+static u32 channel_pending(struct vmbus_channel *channel, -+ struct hv_monitor_page *monitor_page) -+{ -+ u8 monitor_group = channel_monitor_group(channel); -+ return monitor_page->trigger_group[monitor_group].pending; -+} -+ - static ssize_t id_show(struct device *dev, struct device_attribute *dev_attr, - char *buf) - { -@@ -243,6 +252,33 @@ static ssize_t modalias_show(struct devi - } - static DEVICE_ATTR_RO(modalias); - -+static ssize_t server_monitor_pending_show(struct device *dev, -+ struct device_attribute *dev_attr, -+ char *buf) -+{ -+ struct hv_device *hv_dev = device_to_hv_device(dev); -+ -+ if (!hv_dev->channel) -+ return -ENODEV; -+ return sprintf(buf, "%d\n", -+ channel_pending(hv_dev->channel, -+ vmbus_connection.monitor_pages[1])); -+} -+static DEVICE_ATTR_RO(server_monitor_pending); -+ -+static ssize_t client_monitor_pending_show(struct device *dev, -+ struct device_attribute *dev_attr, -+ char *buf) -+{ -+ struct hv_device *hv_dev = device_to_hv_device(dev); -+ -+ if (!hv_dev->channel) -+ return -ENODEV; -+ return sprintf(buf, "%d\n", -+ channel_pending(hv_dev->channel, -+ vmbus_connection.monitor_pages[1])); -+} -+static DEVICE_ATTR_RO(client_monitor_pending); - - static struct attribute *vmbus_attrs[] = { - &dev_attr_id.attr, -@@ -251,17 +287,17 @@ static struct attribute *vmbus_attrs[] = - &dev_attr_class_id.attr, - &dev_attr_device_id.attr, - &dev_attr_modalias.attr, -+ &dev_attr_server_monitor_pending.attr, -+ &dev_attr_client_monitor_pending.attr, - NULL, - }; - ATTRIBUTE_GROUPS(vmbus); - - /* Set up per device attributes in /sys/bus/vmbus/devices/<bus device> */ - static struct device_attribute vmbus_device_attrs[] = { -- __ATTR(server_monitor_pending, S_IRUGO, vmbus_show_device_attr, NULL), - __ATTR(server_monitor_latency, S_IRUGO, vmbus_show_device_attr, NULL), - __ATTR(server_monitor_conn_id, S_IRUGO, vmbus_show_device_attr, NULL), - -- __ATTR(client_monitor_pending, S_IRUGO, vmbus_show_device_attr, NULL), - __ATTR(client_monitor_latency, S_IRUGO, vmbus_show_device_attr, NULL), - __ATTR(client_monitor_conn_id, S_IRUGO, vmbus_show_device_attr, NULL), - ---- a/include/linux/hyperv.h -+++ b/include/linux/hyperv.h -@@ -900,10 +900,8 @@ enum vmbus_channel_state { - }; - - struct vmbus_channel_debug_info { -- u32 servermonitor_pending; - u32 servermonitor_latency; - u32 servermonitor_connectionid; -- u32 clientmonitor_pending; - u32 clientmonitor_latency; - u32 clientmonitor_connectionid; - |
