Re: [PATCH v3 00/22] KVM: hardware enable/disable reorganize

From: Isaku Yamahata
Date: Tue Sep 06 2022 - 18:26:57 EST


On Mon, Sep 05, 2022 at 04:38:39PM +0100,
Marc Zyngier <maz@xxxxxxxxxx> wrote:

> On Fri, 02 Sep 2022 03:17:35 +0100,
> isaku.yamahata@xxxxxxxxx wrote:
> >
> > From: Isaku Yamahata <isaku.yamahata@xxxxxxxxx>
> >
> > Changes from v2:
> > - Replace the first patch("KVM: x86: Drop kvm_user_return_msr_cpu_online()")
> > with Sean's implementation
> > - Included all patches of "Improve KVM's interaction with CPU hotplug" [2]
> > Until v2, Tried to cherry-pick the least patches of it. It turned out that
> > all the patches are desirable.
> >
> > This patch series is to implement the suggestion by Sean Christopherson [1]
> > to reorganize enable/disable cpu virtualization feature by replacing
> > the arch-generic current enable/disable logic with PM related hooks. And
> > convert kvm/x86 to use new hooks.
>
> This series totally breaks on arm64 when playing with CPU hotplug. It
> very much looks like preemption is now enabled in situations where we
> don't expect it to (see below for the full-blown horror show). And
> given the way it shows up in common code, I strongly suspect this
> affects other architectures too.
>
> Note that if I only take patch #6 (with the subsequent fix that I
> posted this morning), the system is perfectly happy with CPUs being
> hotplugged on/off ad-nauseam.
>

Thanks for testing. As the discussion in 10/22, it seems like we need to relax
the condition of WARN_ON or BUG_ON of preemptible(). Let me cook a version
to relax it.

--
Isaku Yamahata <isaku.yamahata@xxxxxxxxx>