stable.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Re: [PATCH] KVM: nVMX: Morph notification vector IRQ on nested VM-Enter to pending PI
       [not found] <20200812175129.12172-1-sean.j.christopherson@intel.com>
@ 2020-08-19 23:56 ` Sasha Levin
  2020-08-26 13:54 ` Sasha Levin
  1 sibling, 0 replies; 4+ messages in thread
From: Sasha Levin @ 2020-08-19 23:56 UTC (permalink / raw)
  To: Sasha Levin, Sean Christopherson, Paolo Bonzini
  Cc: Sean Christopherson, stable, Liran Alon, stable

Hi

[This is an automated email]

This commit has been processed because it contains a "Fixes:" tag
fixing commit: 705699a13994 ("KVM: nVMX: Enable nested posted interrupt processing").

The bot has tested the following trees: v5.8.1, v5.7.15, v5.4.58, v4.19.139, v4.14.193, v4.9.232, v4.4.232.

v5.8.1: Build OK!
v5.7.15: Build OK!
v5.4.58: Failed to apply! Possible dependencies:
    59508b303e4e ("KVM: X86: Move irrelevant declarations out of ioapic.h")
    5c69d5c113f1 ("KVM: X86: Fix callers of kvm_apic_match_dest() to use correct macros")

v4.19.139: Failed to apply! Possible dependencies:
    0b0a31badb2d ("KVM: x86: hyperv: valid_bank_mask should be 'u64'")
    214ff83d4473 ("KVM: x86: hyperv: implement PV IPI send hypercalls")
    2cefc5feb80c ("KVM: x86: hyperv: optimize kvm_hv_flush_tlb() for vp_index == vcpu_idx case")
    360cae313702 ("KVM: PPC: Book3S HV: Nested guest entry via hypercall")
    59508b303e4e ("KVM: X86: Move irrelevant declarations out of ioapic.h")
    5c69d5c113f1 ("KVM: X86: Fix callers of kvm_apic_match_dest() to use correct macros")
    89329c0be8bd ("KVM: PPC: Book3S HV: Clear partition table entry on vm teardown")
    8e3f5fc1045d ("KVM: PPC: Book3S HV: Framework and hcall stubs for nested virtualization")
    a812297c4fd9 ("KVM: x86: hyperv: optimize 'all cpus' case in kvm_hv_flush_tlb()")
    aa069a996951 ("KVM: PPC: Book3S HV: Add a VM capability to enable nested virtualization")
    e6b6c483ebe9 ("KVM: x86: hyperv: fix 'tlb_lush' typo")
    f21dd494506a ("KVM: x86: hyperv: optimize sparse VP set processing")

v4.14.193: Failed to apply! Possible dependencies:
    0234bf885236 ("KVM: x86: introduce ISA specific SMM entry/exit callbacks")
    05cade71cf3b ("KVM: nSVM: fix SMI injection in guest mode")
    44883f01fe6a ("KVM: x86: ensure all MSRs can always be KVM_GET/SET_MSR'd")
    59508b303e4e ("KVM: X86: Move irrelevant declarations out of ioapic.h")
    5acc5c063196 ("KVM: Introduce KVM_MEMORY_ENCRYPT_OP ioctl")
    5c69d5c113f1 ("KVM: X86: Fix callers of kvm_apic_match_dest() to use correct macros")
    69eaedee411c ("KVM: Introduce KVM_MEMORY_ENCRYPT_{UN,}REG_REGION ioctl")
    72d7b374b14d ("KVM: x86: introduce ISA specific smi_allowed callback")
    a2e164e7f45a ("x86/kvm/hyper-v: add reenlightenment MSRs support")
    cc3d967f7e32 ("KVM: SVM: detect opening of SMI window using STGI intercept")
    f21dd494506a ("KVM: x86: hyperv: optimize sparse VP set processing")
    faeb7833eee0 ("kvm: x86: hyperv: guest->host event signaling via eventfd")

v4.9.232: Failed to apply! Possible dependencies:
    004172bdad64 ("sched/core: Remove unnecessary #include headers")
    174cd4b1e5fb ("sched/headers: Prepare to move signal wakeup & sigpending methods from <linux/sched.h> into <linux/sched/signal.h>")
    3aa53859d23e ("KVM: Documentation: document MCE ioctls")
    3ca0ff571b09 ("locking/mutex: Rework mutex::owner")
    4036e3874a1c ("KVM: s390: ioctls to get and set guest storage attributes")
    44883f01fe6a ("KVM: x86: ensure all MSRs can always be KVM_GET/SET_MSR'd")
    59508b303e4e ("KVM: X86: Move irrelevant declarations out of ioapic.h")
    5acc5c063196 ("KVM: Introduce KVM_MEMORY_ENCRYPT_OP ioctl")
    5c69d5c113f1 ("KVM: X86: Fix callers of kvm_apic_match_dest() to use correct macros")
    69eaedee411c ("KVM: Introduce KVM_MEMORY_ENCRYPT_{UN,}REG_REGION ioctl")
    a2e164e7f45a ("x86/kvm/hyper-v: add reenlightenment MSRs support")
    ae7e81c077d6 ("sched/headers: Prepare for new header dependencies before moving code to <uapi/linux/sched/types.h>")
    b3c045d33218 ("KVM: lapic: remove unnecessary KVM_REQ_EVENT on PPR update")
    c92701322711 ("KVM: PPC: Book3S HV: Add userspace interfaces for POWER9 MMU")
    ea8b1c4a6019 ("drivers: psci: PSCI checker module")
    eb90f3417a0c ("KVM: vmx: speed up TPR below threshold vmexits")
    ef1ead0c3b1d ("KVM: PPC: Book3S HV: HPT resizing documentation and reserved numbers")
    f21dd494506a ("KVM: x86: hyperv: optimize sparse VP set processing")
    faeb7833eee0 ("kvm: x86: hyperv: guest->host event signaling via eventfd")

v4.4.232: Failed to apply! Possible dependencies:
    1e6e2755b635 ("KVM: x86: Misc LAPIC changes to expose helper functions")
    520040146a0a ("KVM: x86: Use vector-hashing to deliver lowest-priority interrupts")
    5c919412fe61 ("kvm/x86: Hyper-V synthetic interrupt controller")
    6308630bd3db ("kvm/x86: split ioapic-handled and EOI exit bitmaps")
    b3c045d33218 ("KVM: lapic: remove unnecessary KVM_REQ_EVENT on PPR update")
    d62caabb41f3 ("kvm/x86: per-vcpu apicv deactivation support")


NOTE: The patch will not be queued to stable trees until it is upstream.

How should we proceed with this patch?

-- 
Thanks
Sasha

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

* Re: [PATCH] KVM: nVMX: Morph notification vector IRQ on nested VM-Enter to pending PI
       [not found] <20200812175129.12172-1-sean.j.christopherson@intel.com>
  2020-08-19 23:56 ` [PATCH] KVM: nVMX: Morph notification vector IRQ on nested VM-Enter to pending PI Sasha Levin
@ 2020-08-26 13:54 ` Sasha Levin
  2020-09-23 14:44   ` Paolo Bonzini
  1 sibling, 1 reply; 4+ messages in thread
From: Sasha Levin @ 2020-08-26 13:54 UTC (permalink / raw)
  To: Sasha Levin, Sean Christopherson, Paolo Bonzini
  Cc: Sean Christopherson, stable, Liran Alon, stable

Hi

[This is an automated email]

This commit has been processed because it contains a "Fixes:" tag
fixing commit: 705699a13994 ("KVM: nVMX: Enable nested posted interrupt processing").

The bot has tested the following trees: v5.8.2, v5.7.16, v5.4.59, v4.19.140, v4.14.193, v4.9.232, v4.4.232.

v5.8.2: Build OK!
v5.7.16: Build OK!
v5.4.59: Failed to apply! Possible dependencies:
    59508b303e4e ("KVM: X86: Move irrelevant declarations out of ioapic.h")
    5c69d5c113f1 ("KVM: X86: Fix callers of kvm_apic_match_dest() to use correct macros")

v4.19.140: Failed to apply! Possible dependencies:
    0b0a31badb2d ("KVM: x86: hyperv: valid_bank_mask should be 'u64'")
    214ff83d4473 ("KVM: x86: hyperv: implement PV IPI send hypercalls")
    2cefc5feb80c ("KVM: x86: hyperv: optimize kvm_hv_flush_tlb() for vp_index == vcpu_idx case")
    360cae313702 ("KVM: PPC: Book3S HV: Nested guest entry via hypercall")
    59508b303e4e ("KVM: X86: Move irrelevant declarations out of ioapic.h")
    5c69d5c113f1 ("KVM: X86: Fix callers of kvm_apic_match_dest() to use correct macros")
    89329c0be8bd ("KVM: PPC: Book3S HV: Clear partition table entry on vm teardown")
    8e3f5fc1045d ("KVM: PPC: Book3S HV: Framework and hcall stubs for nested virtualization")
    a812297c4fd9 ("KVM: x86: hyperv: optimize 'all cpus' case in kvm_hv_flush_tlb()")
    aa069a996951 ("KVM: PPC: Book3S HV: Add a VM capability to enable nested virtualization")
    e6b6c483ebe9 ("KVM: x86: hyperv: fix 'tlb_lush' typo")
    f21dd494506a ("KVM: x86: hyperv: optimize sparse VP set processing")

v4.14.193: Failed to apply! Possible dependencies:
    0234bf885236 ("KVM: x86: introduce ISA specific SMM entry/exit callbacks")
    05cade71cf3b ("KVM: nSVM: fix SMI injection in guest mode")
    44883f01fe6a ("KVM: x86: ensure all MSRs can always be KVM_GET/SET_MSR'd")
    59508b303e4e ("KVM: X86: Move irrelevant declarations out of ioapic.h")
    5acc5c063196 ("KVM: Introduce KVM_MEMORY_ENCRYPT_OP ioctl")
    5c69d5c113f1 ("KVM: X86: Fix callers of kvm_apic_match_dest() to use correct macros")
    69eaedee411c ("KVM: Introduce KVM_MEMORY_ENCRYPT_{UN,}REG_REGION ioctl")
    72d7b374b14d ("KVM: x86: introduce ISA specific smi_allowed callback")
    a2e164e7f45a ("x86/kvm/hyper-v: add reenlightenment MSRs support")
    cc3d967f7e32 ("KVM: SVM: detect opening of SMI window using STGI intercept")
    f21dd494506a ("KVM: x86: hyperv: optimize sparse VP set processing")
    faeb7833eee0 ("kvm: x86: hyperv: guest->host event signaling via eventfd")

v4.9.232: Failed to apply! Possible dependencies:
    004172bdad64 ("sched/core: Remove unnecessary #include headers")
    174cd4b1e5fb ("sched/headers: Prepare to move signal wakeup & sigpending methods from <linux/sched.h> into <linux/sched/signal.h>")
    3aa53859d23e ("KVM: Documentation: document MCE ioctls")
    3ca0ff571b09 ("locking/mutex: Rework mutex::owner")
    4036e3874a1c ("KVM: s390: ioctls to get and set guest storage attributes")
    44883f01fe6a ("KVM: x86: ensure all MSRs can always be KVM_GET/SET_MSR'd")
    59508b303e4e ("KVM: X86: Move irrelevant declarations out of ioapic.h")
    5acc5c063196 ("KVM: Introduce KVM_MEMORY_ENCRYPT_OP ioctl")
    5c69d5c113f1 ("KVM: X86: Fix callers of kvm_apic_match_dest() to use correct macros")
    69eaedee411c ("KVM: Introduce KVM_MEMORY_ENCRYPT_{UN,}REG_REGION ioctl")
    a2e164e7f45a ("x86/kvm/hyper-v: add reenlightenment MSRs support")
    ae7e81c077d6 ("sched/headers: Prepare for new header dependencies before moving code to <uapi/linux/sched/types.h>")
    b3c045d33218 ("KVM: lapic: remove unnecessary KVM_REQ_EVENT on PPR update")
    c92701322711 ("KVM: PPC: Book3S HV: Add userspace interfaces for POWER9 MMU")
    ea8b1c4a6019 ("drivers: psci: PSCI checker module")
    eb90f3417a0c ("KVM: vmx: speed up TPR below threshold vmexits")
    ef1ead0c3b1d ("KVM: PPC: Book3S HV: HPT resizing documentation and reserved numbers")
    f21dd494506a ("KVM: x86: hyperv: optimize sparse VP set processing")
    faeb7833eee0 ("kvm: x86: hyperv: guest->host event signaling via eventfd")

v4.4.232: Failed to apply! Possible dependencies:
    1e6e2755b635 ("KVM: x86: Misc LAPIC changes to expose helper functions")
    520040146a0a ("KVM: x86: Use vector-hashing to deliver lowest-priority interrupts")
    5c919412fe61 ("kvm/x86: Hyper-V synthetic interrupt controller")
    6308630bd3db ("kvm/x86: split ioapic-handled and EOI exit bitmaps")
    b3c045d33218 ("KVM: lapic: remove unnecessary KVM_REQ_EVENT on PPR update")
    d62caabb41f3 ("kvm/x86: per-vcpu apicv deactivation support")


NOTE: The patch will not be queued to stable trees until it is upstream.

How should we proceed with this patch?

-- 
Thanks
Sasha

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

* Re: [PATCH] KVM: nVMX: Morph notification vector IRQ on nested VM-Enter to pending PI
  2020-08-26 13:54 ` Sasha Levin
@ 2020-09-23 14:44   ` Paolo Bonzini
  2020-09-23 15:49     ` Sean Christopherson
  0 siblings, 1 reply; 4+ messages in thread
From: Paolo Bonzini @ 2020-09-23 14:44 UTC (permalink / raw)
  To: Sasha Levin, Sean Christopherson; +Cc: stable, Liran Alon

Queued, thanks.

I cannot think of a "nicer" way to do this, we could perhaps move

+		vmx->nested.pi_pending = true;
+		kvm_make_request(KVM_REQ_EVENT, vcpu);
+		kvm_apic_clear_irr(vcpu, vmx->nested.posted_intr_nv);

to a separate function (possibly with the IRR clear made conditional, so
that we can reuse the function for regular posted interrupt injection)
but that is it.

Paolo

On 26/08/20 15:54, Sasha Levin wrote:
> Hi
> 
> [This is an automated email]
> 
> This commit has been processed because it contains a "Fixes:" tag
> fixing commit: 705699a13994 ("KVM: nVMX: Enable nested posted interrupt processing").
> 
> The bot has tested the following trees: v5.8.2, v5.7.16, v5.4.59, v4.19.140, v4.14.193, v4.9.232, v4.4.232.
> 
> v5.8.2: Build OK!
> v5.7.16: Build OK!
> v5.4.59: Failed to apply! Possible dependencies:
>     59508b303e4e ("KVM: X86: Move irrelevant declarations out of ioapic.h")
>     5c69d5c113f1 ("KVM: X86: Fix callers of kvm_apic_match_dest() to use correct macros")
> 
> v4.19.140: Failed to apply! Possible dependencies:
>     0b0a31badb2d ("KVM: x86: hyperv: valid_bank_mask should be 'u64'")
>     214ff83d4473 ("KVM: x86: hyperv: implement PV IPI send hypercalls")
>     2cefc5feb80c ("KVM: x86: hyperv: optimize kvm_hv_flush_tlb() for vp_index == vcpu_idx case")
>     360cae313702 ("KVM: PPC: Book3S HV: Nested guest entry via hypercall")
>     59508b303e4e ("KVM: X86: Move irrelevant declarations out of ioapic.h")
>     5c69d5c113f1 ("KVM: X86: Fix callers of kvm_apic_match_dest() to use correct macros")
>     89329c0be8bd ("KVM: PPC: Book3S HV: Clear partition table entry on vm teardown")
>     8e3f5fc1045d ("KVM: PPC: Book3S HV: Framework and hcall stubs for nested virtualization")
>     a812297c4fd9 ("KVM: x86: hyperv: optimize 'all cpus' case in kvm_hv_flush_tlb()")
>     aa069a996951 ("KVM: PPC: Book3S HV: Add a VM capability to enable nested virtualization")
>     e6b6c483ebe9 ("KVM: x86: hyperv: fix 'tlb_lush' typo")
>     f21dd494506a ("KVM: x86: hyperv: optimize sparse VP set processing")
> 
> v4.14.193: Failed to apply! Possible dependencies:
>     0234bf885236 ("KVM: x86: introduce ISA specific SMM entry/exit callbacks")
>     05cade71cf3b ("KVM: nSVM: fix SMI injection in guest mode")
>     44883f01fe6a ("KVM: x86: ensure all MSRs can always be KVM_GET/SET_MSR'd")
>     59508b303e4e ("KVM: X86: Move irrelevant declarations out of ioapic.h")
>     5acc5c063196 ("KVM: Introduce KVM_MEMORY_ENCRYPT_OP ioctl")
>     5c69d5c113f1 ("KVM: X86: Fix callers of kvm_apic_match_dest() to use correct macros")
>     69eaedee411c ("KVM: Introduce KVM_MEMORY_ENCRYPT_{UN,}REG_REGION ioctl")
>     72d7b374b14d ("KVM: x86: introduce ISA specific smi_allowed callback")
>     a2e164e7f45a ("x86/kvm/hyper-v: add reenlightenment MSRs support")
>     cc3d967f7e32 ("KVM: SVM: detect opening of SMI window using STGI intercept")
>     f21dd494506a ("KVM: x86: hyperv: optimize sparse VP set processing")
>     faeb7833eee0 ("kvm: x86: hyperv: guest->host event signaling via eventfd")
> 
> v4.9.232: Failed to apply! Possible dependencies:
>     004172bdad64 ("sched/core: Remove unnecessary #include headers")
>     174cd4b1e5fb ("sched/headers: Prepare to move signal wakeup & sigpending methods from <linux/sched.h> into <linux/sched/signal.h>")
>     3aa53859d23e ("KVM: Documentation: document MCE ioctls")
>     3ca0ff571b09 ("locking/mutex: Rework mutex::owner")
>     4036e3874a1c ("KVM: s390: ioctls to get and set guest storage attributes")
>     44883f01fe6a ("KVM: x86: ensure all MSRs can always be KVM_GET/SET_MSR'd")
>     59508b303e4e ("KVM: X86: Move irrelevant declarations out of ioapic.h")
>     5acc5c063196 ("KVM: Introduce KVM_MEMORY_ENCRYPT_OP ioctl")
>     5c69d5c113f1 ("KVM: X86: Fix callers of kvm_apic_match_dest() to use correct macros")
>     69eaedee411c ("KVM: Introduce KVM_MEMORY_ENCRYPT_{UN,}REG_REGION ioctl")
>     a2e164e7f45a ("x86/kvm/hyper-v: add reenlightenment MSRs support")
>     ae7e81c077d6 ("sched/headers: Prepare for new header dependencies before moving code to <uapi/linux/sched/types.h>")
>     b3c045d33218 ("KVM: lapic: remove unnecessary KVM_REQ_EVENT on PPR update")
>     c92701322711 ("KVM: PPC: Book3S HV: Add userspace interfaces for POWER9 MMU")
>     ea8b1c4a6019 ("drivers: psci: PSCI checker module")
>     eb90f3417a0c ("KVM: vmx: speed up TPR below threshold vmexits")
>     ef1ead0c3b1d ("KVM: PPC: Book3S HV: HPT resizing documentation and reserved numbers")
>     f21dd494506a ("KVM: x86: hyperv: optimize sparse VP set processing")
>     faeb7833eee0 ("kvm: x86: hyperv: guest->host event signaling via eventfd")
> 
> v4.4.232: Failed to apply! Possible dependencies:
>     1e6e2755b635 ("KVM: x86: Misc LAPIC changes to expose helper functions")
>     520040146a0a ("KVM: x86: Use vector-hashing to deliver lowest-priority interrupts")
>     5c919412fe61 ("kvm/x86: Hyper-V synthetic interrupt controller")
>     6308630bd3db ("kvm/x86: split ioapic-handled and EOI exit bitmaps")
>     b3c045d33218 ("KVM: lapic: remove unnecessary KVM_REQ_EVENT on PPR update")
>     d62caabb41f3 ("kvm/x86: per-vcpu apicv deactivation support")
> 
> 
> NOTE: The patch will not be queued to stable trees until it is upstream.
> 
> How should we proceed with this patch?
> 


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

* Re: [PATCH] KVM: nVMX: Morph notification vector IRQ on nested VM-Enter to pending PI
  2020-09-23 14:44   ` Paolo Bonzini
@ 2020-09-23 15:49     ` Sean Christopherson
  0 siblings, 0 replies; 4+ messages in thread
From: Sean Christopherson @ 2020-09-23 15:49 UTC (permalink / raw)
  To: Paolo Bonzini; +Cc: Sasha Levin, stable, Liran Alon

On Wed, Sep 23, 2020 at 04:44:01PM +0200, Paolo Bonzini wrote:
> Queued, thanks.
> 
> I cannot think of a "nicer" way to do this, we could perhaps move
> 
> +		vmx->nested.pi_pending = true;
> +		kvm_make_request(KVM_REQ_EVENT, vcpu);
> +		kvm_apic_clear_irr(vcpu, vmx->nested.posted_intr_nv);
> 
> to a separate function (possibly with the IRR clear made conditional, so
> that we can reuse the function for regular posted interrupt injection)
> but that is it.

Ya, I played around with similar approaches and didn't particular like any
of them :-/

For the record, I suspect there may be additional issues with a doubly nested
scenario, i.e. when running L3 and L2 is using the self-IPI method for
triggering posted interrupts.  I sort of tested once, and it appeared to be
broken, but it's entirely possible that there was an issue somewhere else in
my stack (L0, L1 and L2 all had non-trivial KVM changes), and I haven't yet
had time to dig in.  That, and I suspect I'm the only person that would care
about L3 functioning properly in this scenario :-)

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

end of thread, other threads:[~2020-09-23 15:49 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <20200812175129.12172-1-sean.j.christopherson@intel.com>
2020-08-19 23:56 ` [PATCH] KVM: nVMX: Morph notification vector IRQ on nested VM-Enter to pending PI Sasha Levin
2020-08-26 13:54 ` Sasha Levin
2020-09-23 14:44   ` Paolo Bonzini
2020-09-23 15:49     ` Sean Christopherson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).