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>
This commit is contained in:
K. Y. Srinivasan 2015-12-14 16:01:56 -08:00 committed by Greg Kroah-Hartman
parent c35b82ef02
commit b282e4c06f

View File

@ -83,10 +83,13 @@ static int vmbus_negotiate_version(struct vmbus_channel_msginfo *msginfo,
msg->interrupt_page = virt_to_phys(vmbus_connection.int_page); msg->interrupt_page = virt_to_phys(vmbus_connection.int_page);
msg->monitor_page1 = virt_to_phys(vmbus_connection.monitor_pages[0]); msg->monitor_page1 = virt_to_phys(vmbus_connection.monitor_pages[0]);
msg->monitor_page2 = virt_to_phys(vmbus_connection.monitor_pages[1]); msg->monitor_page2 = virt_to_phys(vmbus_connection.monitor_pages[1]);
if (version >= VERSION_WIN8_1) { /*
msg->target_vcpu = hv_context.vp_index[get_cpu()]; * We want all channel messages to be delivered on CPU 0.
put_cpu(); * This has been the behavior pre-win8. This is not
} * perf issue and having all channel messages delivered on CPU 0
* would be ok.
*/
msg->target_vcpu = 0;
/* /*
* Add to list before we send the request since we may * Add to list before we send the request since we may