On 09/09/20 10:49, Vitaly Kuznetsov wrote: > 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! > Queued, thanks. Paolo