On Fri, 25 Nov 2016 13:48:36 +0100 Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> wrote: > 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(-) > As a temporary solution this is ok, but long term we need to support dynamic CPU online/offline. _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel