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 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel