Ingo Molnar <mingo@xxxxxxxxxx> writes: > * Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> wrote: > >> Merge commit 26d05b368a5c0 ("Merge branch 'kvm-async-pf-int' into HEAD") >> tried to adapt the new interrupt based async PF mechanism to the newly >> introduced IDTENTRY magic but unfortunately it missed the fact that >> DEFINE_IDTENTRY_SYSVEC() doesn't call ack_APIC_irq() on its own and >> all DEFINE_IDTENTRY_SYSVEC() users have to call it manually. >> >> As the result all multi-CPU KVM guest hang on boot when >> KVM_FEATURE_ASYNC_PF_INT is present. The breakage went unnoticed because no >> KVM userspace (e.g. QEMU) currently set it (and thus async PF mechanism >> is currently disabled) but we're about to change that. >> >> Fixes: 26d05b368a5c0 ("Merge branch 'kvm-async-pf-int' into HEAD") >> Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> > > This also fixes a kvmtool regression, but interestingly it does not set > KVM_FEATURE_ASYNC_PF_INT either AFAICS: > > kepler:~/kvmtool.git> git grep KVM_FEATURE_ASYNC_PF_INT > kepler:~/kvmtool.git> My wild guess would be that kvmtool doesn't manually set any of the KVM PV features: [vitty@vitty kvmtool]$ git grep KVM_FEATURE_ [vitty@vitty kvmtool]$ it just blindly passes whatever it gets from KVM via KVM_GET_SUPPORTED_CPUID to KVM_SET_CPUID2 and KVM_FEATURE_ASYNC_PF_INT among other PV features is set there by default. > > kepler:~/kvmtool.git> grep url .git/config > url = https://git.kernel.org/pub/scm/linux/kernel/git/will/kvmtool.git > > So either I missed the flag-setting in the kvmtools.git source, or maybe > there's some other way to trigger this bug? > > Anyway, please handle this as a v5.9 regression: > > Tested-by: Ingo Molnar <mingo@xxxxxxxxxx> Thanks! -- Vitaly