summaryrefslogtreecommitdiffstats
path: root/drivers/hv/vmbus_drv.c
diff options
context:
space:
mode:
authorVitaly Kuznetsov <vkuznets@redhat.com>2016-12-03 12:34:35 -0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2016-12-06 11:10:54 +0100
commit6ffc4b85358f6b7d252420cfa5862312cf5f83d8 (patch)
tree9bc986f48eda08bc03c8e7f54a29090c727748d5 /drivers/hv/vmbus_drv.c
parentabd1026da4a7700a8db370947f75cd17b6ae6f76 (diff)
hv: change clockevents unbind tactics
To get prepared to CPU offlining support we need co change the way how we unbind clockevent devices. As one CPU may go online/offline multiple times we need to bind it in hv_synic_init() and unbind it in hv_synic_cleanup(). There is an additional corner case: when we unload the module completely we need to switch to some other clockevent mechanism before stopping VMBus or we will hang. We can't call hv_synic_cleanup() before unloading VMBus as we won't be able to send UNLOAD request and get a response so hv_synic_clockevents_cleanup() has to live. Luckily, we can always call clockevents_unbind_device(), even if it wasn't bound before and there is no issue if we call it twice. Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com> Signed-off-by: K. Y. Srinivasan <kys@microsoft.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/hv/vmbus_drv.c')
0 files changed, 0 insertions, 0 deletions