[PATCH 0/7] hv: CPU onlining/offlining fixes and improvements

Vitaly Kuznetsov vkuznets at redhat.com
Fri Nov 25 12:48:36 UTC 2016


Some time ago we forbade CPU offlining for Hyper-V and this was sufficient
if you boot with all CPUs onlined. Turns out, people may want to limit the
number online CPUs by passing 'maxcpus=' kernel parameter and we hit a
crash in Hyper-V code in this case. After some thinking, I think we may not
only fix the crash but also make the offlining prevention fine-grained: we
need to prevent from offlining CPUs which have VMBus channels attached
only. All offlined CPUs may always be onlined.

PATCH1 fixes a bug which is not directly related to the series, I hit it
while testing hv_vmbus module unload with this series.

Vitaly Kuznetsov (7):
  hv: acquire vmbus_connection.channel_mutex in vmbus_free_channels()
  hv: allocate synic pages for all present CPUs
  hv: init percpu_list in hv_synic_alloc()
  hv: change clockevents unbind tactics
  hv: check all present cpus in vmbus_wait_for_unload()
  hv: switch to cpuhp state machine for synic init/cleanup
  hv: make CPU offlining prevention fine-grained

 drivers/hv/channel_mgmt.c |  6 +++--
 drivers/hv/hv.c           | 60 ++++++++++++++++++++++++++++++++++++-----------
 drivers/hv/hyperv_vmbus.h |  4 ++--
 drivers/hv/vmbus_drv.c    | 28 ++++++++++++----------
 4 files changed, 67 insertions(+), 31 deletions(-)

-- 
2.7.4



More information about the devel mailing list