public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/7] hv: CPU onlining/offlining fixes and improvements
@ 2016-11-25 12:48 Vitaly Kuznetsov
  2016-11-25 12:48 ` [PATCH 1/7] hv: acquire vmbus_connection.channel_mutex in vmbus_free_channels() Vitaly Kuznetsov
                   ` (8 more replies)
  0 siblings, 9 replies; 13+ messages in thread
From: Vitaly Kuznetsov @ 2016-11-25 12:48 UTC (permalink / raw)
  To: devel
  Cc: linux-kernel, K. Y. Srinivasan, Haiyang Zhang, Dexuan Cui,
	Stephen Hemminger

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

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2017-01-02 19:50 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-11-25 12:48 [PATCH 0/7] hv: CPU onlining/offlining fixes and improvements Vitaly Kuznetsov
2016-11-25 12:48 ` [PATCH 1/7] hv: acquire vmbus_connection.channel_mutex in vmbus_free_channels() Vitaly Kuznetsov
2016-11-28  6:20   ` Dexuan Cui
2016-11-25 12:48 ` [PATCH 2/7] hv: allocate synic pages for all present CPUs Vitaly Kuznetsov
2016-11-25 12:48 ` [PATCH 3/7] hv: init percpu_list in hv_synic_alloc() Vitaly Kuznetsov
2016-11-25 12:48 ` [PATCH 4/7] hv: change clockevents unbind tactics Vitaly Kuznetsov
2016-11-25 12:48 ` [PATCH 5/7] hv: check all present cpus in vmbus_wait_for_unload() Vitaly Kuznetsov
2016-11-25 12:48 ` [PATCH 6/7] hv: switch to cpuhp state machine for synic init/cleanup Vitaly Kuznetsov
2016-11-25 12:48 ` [PATCH 7/7] hv: make CPU offlining prevention fine-grained Vitaly Kuznetsov
2016-11-26 17:05 ` [PATCH 0/7] hv: CPU onlining/offlining fixes and improvements Stephen Hemminger
2016-11-28  6:56   ` Dexuan Cui
2016-11-28  9:12     ` Vitaly Kuznetsov
2017-01-02 19:49 ` Vitaly Kuznetsov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox