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

Vitaly Kuznetsov vkuznets at redhat.com
Mon Nov 28 09:12:05 UTC 2016


Dexuan Cui <decui at microsoft.com> writes:

>> From: Stephen Hemminger [mailto:stephen at networkplumber.org]
>> Sent: Sunday, November 27, 2016 01:06
>> To: Vitaly Kuznetsov <vkuznets at redhat.com>
>> Cc: devel at linuxdriverproject.org; linux-kernel at vger.kernel.org; KY Srinivasan
>> <kys at microsoft.com>; Haiyang Zhang <haiyangz at microsoft.com>; Dexuan Cui
>> <decui at microsoft.com>
>> Subject: Re: [PATCH 0/7] hv: CPU onlining/offlining fixes and improvements
>> 
>> On Fri, 25 Nov 2016 13:48:36 +0100
>> Vitaly Kuznetsov <vkuznets at redhat.com> 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.
>> >
>> 
>> As a temporary solution this is ok, but long term we need to support
>> dynamic CPU online/offline.
>
> If a CPU is bound to some channels, it seems impossible to make it offline,
> unless Hyper-V supplies a mechanism to dynamically rebind  the channels (i.e.
> without closing & opening the channels) to another CPU, e.g. CPU0.
> Currently it looks there is no such mechanism.
>

Exactly. Offlining a CPU with an attached active VMBus channel means
killing the device and unless we're offereed an API to rebind it to some
other CPU there is no point in allowing that. We may, however, allow
offlining CPUs with sub-channels attached by closing these sub-channels,
not sure if we want to.

-- 
  Vitaly


More information about the devel mailing list