From: Sean Christopherson <seanjc@google.com>
To: David Woodhouse <dwmw2@infradead.org>
Cc: Khushit Shah <khushit.shah@nutanix.com>,
pbonzini@redhat.com, kai.huang@intel.com, mingo@redhat.com,
x86@kernel.org, bp@alien8.de, hpa@zytor.com,
linux-kernel@vger.kernel.org, kvm@vger.kernel.org,
dave.hansen@linux.intel.com, tglx@linutronix.de,
jon@nutanix.com, shaju.abraham@nutanix.com,
stable@vger.kernel.org
Subject: Re: [PATCH v6] KVM: x86: Add x2APIC "features" to control EOI broadcast suppression
Date: Tue, 27 Jan 2026 13:49:03 -0800 [thread overview]
Message-ID: <aXkyz3IbBOphjNEi@google.com> (raw)
In-Reply-To: <feb11efd6bfbc5e7d5f6f430f40d4df5544f1d39.camel@infradead.org>
On Tue, Jan 27, 2026, David Woodhouse wrote:
> On Fri, 2026-01-23 at 12:56 +0000, Khushit Shah wrote:
> >
> > @@ -4931,6 +4933,8 @@ int kvm_vm_ioctl_check_extension(struct kvm *kvm, long ext)
> > break;
> > case KVM_CAP_X2APIC_API:
> > r = KVM_X2APIC_API_VALID_FLAGS;
> > + if (kvm && !irqchip_split(kvm))
> > + r &= ~KVM_X2APIC_ENABLE_SUPPRESS_EOI_BROADCAST;
> > break;
> > case KVM_CAP_NESTED_STATE:
> > r = kvm_x86_ops.nested_ops->get_state ?
> > @@ -6748,11 +6752,24 @@ int kvm_vm_ioctl_enable_cap(struct kvm *kvm,
> > if (cap->args[0] & ~KVM_X2APIC_API_VALID_FLAGS)
> > break;
> >
> > + if ((cap->args[0] & KVM_X2APIC_ENABLE_SUPPRESS_EOI_BROADCAST) &&
> > + (cap->args[0] & KVM_X2APIC_DISABLE_SUPPRESS_EOI_BROADCAST))
> > + break;
> > +
> > + if ((cap->args[0] & KVM_X2APIC_ENABLE_SUPPRESS_EOI_BROADCAST) &&
> > + !irqchip_split(kvm))
> > + break;
> > +
> > if (cap->args[0] & KVM_X2APIC_API_USE_32BIT_IDS)
>
> Is it possible to set KVM_X2APIC_ENABLE_SUPPRESS_EOI_BROADCAST and
> *then* create the in-kernel I/O APIC?
Nope, we should be good on that front, kvm->arch.irqchip_mode can't be changed
once its set. I.e. the irqchip_split() check could get a false negative if it's
racing with KVM_CREATE_IRQCHIP, but it can't get a false positive and thus
incorrectly allow KVM_X2APIC_ENABLE_SUPPRESS_EOI_BROADCAST.
next prev parent reply other threads:[~2026-01-27 21:49 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-23 12:56 [PATCH v6] KVM: x86: Add x2APIC "features" to control EOI broadcast suppression Khushit Shah
2026-01-27 2:21 ` Khushit Shah
2026-01-27 2:41 ` Khushit Shah
2026-01-27 21:09 ` David Woodhouse
2026-01-27 21:49 ` Sean Christopherson [this message]
2026-01-27 22:36 ` David Woodhouse
2026-01-28 2:22 ` Huang, Kai
2026-01-28 3:48 ` David Woodhouse
[not found] ` <SA2PR02MB756478359EE9185285ACE6158891A@SA2PR02MB7564.namprd02.prod.outlook.com>
2026-01-28 5:17 ` Khushit Shah
2026-01-28 5:32 ` David Woodhouse
2026-01-28 6:40 ` Huang, Kai
2026-01-28 15:04 ` Sean Christopherson
2026-01-28 6:15 ` Huang, Kai
2026-01-28 14:57 ` Sean Christopherson
2026-01-28 21:10 ` Huang, Kai
2026-01-28 14:44 ` Sean Christopherson
2026-02-04 0:10 ` Sean Christopherson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=aXkyz3IbBOphjNEi@google.com \
--to=seanjc@google.com \
--cc=bp@alien8.de \
--cc=dave.hansen@linux.intel.com \
--cc=dwmw2@infradead.org \
--cc=hpa@zytor.com \
--cc=jon@nutanix.com \
--cc=kai.huang@intel.com \
--cc=khushit.shah@nutanix.com \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=pbonzini@redhat.com \
--cc=shaju.abraham@nutanix.com \
--cc=stable@vger.kernel.org \
--cc=tglx@linutronix.de \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.