summaryrefslogtreecommitdiffstats
path: root/drivers/hv
diff options
context:
space:
mode:
authorK. Y. Srinivasan <kys@microsoft.com>2015-12-14 19:01:56 -0500
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2015-12-14 22:15:05 -0500
commitb282e4c06fe89fc750fb26791c0bd7b25315973a (patch)
treec5afed57ae08d315779b2da771ff41ce5ce68697 /drivers/hv
parentc35b82ef0294ae5052120615f5cfcef17c5a6bf7 (diff)
Drivers: hv: vmbus: Force all channel messages to be delivered on CPU 0
Force all channel messages to be delivered on CPU0. These messages are not performance critical and are used during the setup and teardown of the channel. 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/connection.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/drivers/hv/connection.c b/drivers/hv/connection.c
index 521f48ed188e..3dc5a9c7fad6 100644
--- a/drivers/hv/connection.c
+++ b/drivers/hv/connection.c
@@ -83,10 +83,13 @@ static int vmbus_negotiate_version(struct vmbus_channel_msginfo *msginfo,
83 msg->interrupt_page = virt_to_phys(vmbus_connection.int_page); 83 msg->interrupt_page = virt_to_phys(vmbus_connection.int_page);
84 msg->monitor_page1 = virt_to_phys(vmbus_connection.monitor_pages[0]); 84 msg->monitor_page1 = virt_to_phys(vmbus_connection.monitor_pages[0]);
85 msg->monitor_page2 = virt_to_phys(vmbus_connection.monitor_pages[1]); 85 msg->monitor_page2 = virt_to_phys(vmbus_connection.monitor_pages[1]);
86 if (version >= VERSION_WIN8_1) { 86 /*
87 msg->target_vcpu = hv_context.vp_index[get_cpu()]; 87 * We want all channel messages to be delivered on CPU 0.
88 put_cpu(); 88 * This has been the behavior pre-win8. This is not
89 } 89 * perf issue and having all channel messages delivered on CPU 0
90 * would be ok.
91 */
92 msg->target_vcpu = 0;
90 93
91 /* 94 /*
92 * Add to list before we send the request since we may 95 * Add to list before we send the request since we may