diff options
author | Vitaly Kuznetsov <vkuznets@redhat.com> | 2016-12-03 12:34:35 -0800 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2016-12-06 11:10:54 +0100 |
commit | 6ffc4b85358f6b7d252420cfa5862312cf5f83d8 (patch) | |
tree | 9bc986f48eda08bc03c8e7f54a29090c727748d5 /drivers/hv/vmbus_drv.c | |
parent | abd1026da4a7700a8db370947f75cd17b6ae6f76 (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