From: Leon Romanovsky <leon@kernel.org>
To: Logan Gunthorpe <logang@deltatee.com>
Cc: "Popov, Pavel E" <pavel.e.popov@intel.com>,
Bjorn Helgaas <bhelgaas@google.com>,
Jim Chow <jim.chow@broadcom.com>,
Radu Rugina <radu.rugina@broadcom.com>,
Alexey Makhalov <alexey.makhalov@broadcom.com>,
Wei Liu <wei.liu@kernel.org>,
Michael Kelley <mhklinux@outlook.com>,
Lukas Wunner <lukas@wunner.de>,
Nathan Ciobanu <nathan.d.ciobanu@linux.intel.com>,
"bcm-kernel-feedback-list@broadcom.com"
<bcm-kernel-feedback-list@broadcom.com>,
"virtualization@lists.linux.dev" <virtualization@lists.linux.dev>,
"linux-hyperv@vger.kernel.org" <linux-hyperv@vger.kernel.org>,
"linux-pci@vger.kernel.org" <linux-pci@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v2 1/2] PCI/P2PDMA: Allow P2PDMA in VMware guests on Intel hosts
Date: Sat, 17 Oct 2026 10:48:20 +0300 [thread overview]
Message-ID: <20261017074820.GD219304@unreal> (raw)
In-Reply-To: <LV2PR11MB6070CE9CCA125C290C0F8209B29A2@LV2PR11MB6070.namprd11.prod.outlook.com>
On Sat, Oct 17, 2026 at 12:31:49AM +0000, Popov, Pavel E wrote:
> Logan,
>
> > Why does this now need to be related to the hypervisor? Wouldn't it
> > make sense to do this check regardless of whether VMware is involved?
>
> The whitelist decides per host bridge, and a global CPU check would
> override it on these CPUs, for example:
>
> - It allows VMD domains, CXL 1.1 devices and other RCiEPs, which are
> not whitelisted.
> - It overrides the emulated topology in KVM/QEMU guests, which already
> decides P2P there.
> - It makes the existing QAT, DSA and IAA whitelist entries pointless,
> since any RCiEP would be allowed.
>
> Limiting it to the hypervisor keeps the whitelist logic unchanged on
> bare metal and in other guests.
Logan,
You can see how convoluted and illogical this discussion has become.
Initially, Pavel was told that P2P inside a VM is not working reliably
(to put it mildly). His response was that he wanted Intel to provide
the same poor experience that AMD currently provides. We agreed.
Now he points out that AMD's solution does not work well and proposes
keeping his hack, which will not work any better.
Moreover, it is unrealistic to expect users to run this software and VMware's
code only on machines certified by Broadcom. It shows complete
misunderstanding of users.
His claim that HMAT's future is unclear is also inaccurate. Half the work
had already been done: p2p ACS had been cleaned up and was waiting for
Bjorn to pick it up; an initial version of the HMAT specification had
been drafted and verified against the current kernel implementation;
and the community had been consulted and had endorsed the approach at
LPC. The remaining work is to update the specification, move it through
the code-first process, and implement it in QEMU.
The direction is clear, and developer time has been allocated. This will
happen.
Thanks
>
> Thanks,
> Pavel
>
> > -----Original Message-----
> > From: Logan Gunthorpe <logang@deltatee.com>
> > Sent: Friday, October 16, 2026 3:55 PM
> > To: Popov, Pavel E <pavel.e.popov@intel.com>; Bjorn Helgaas
> > <bhelgaas@google.com>
> > Cc: Jim Chow <jim.chow@broadcom.com>; Radu Rugina
> > <radu.rugina@broadcom.com>; Alexey Makhalov
> > <alexey.makhalov@broadcom.com>; Wei Liu <wei.liu@kernel.org>; Michael
> > Kelley <mhklinux@outlook.com>; Lukas Wunner <lukas@wunner.de>; Leon
> > Romanovsky <leonro@nvidia.com>; Nathan Ciobanu
> > <nathan.d.ciobanu@linux.intel.com>; bcm-kernel-feedback-
> > list@broadcom.com; virtualization@lists.linux.dev; linux-
> > hyperv@vger.kernel.org; linux-pci@vger.kernel.org; linux-
> > kernel@vger.kernel.org
> > Subject: Re: [PATCH v2 1/2] PCI/P2PDMA: Allow P2PDMA in VMware guests
> > on Intel hosts
> >
> >
> >
> > On 2026-10-16 16:34, Pavel Popov wrote:
> > > +#ifdef CONFIG_X86
> > > +/* CPUs whose host bridges support p2pdma, see pci_p2pdma_whitelist[]
> > > +*/ static const struct x86_cpu_id hypervisor_p2pdma_cpu_ids[] = {
> > > + X86_MATCH_VFM(INTEL_SKYLAKE_X, NULL),
> > > + X86_MATCH_VFM(INTEL_ICELAKE_X, NULL),
> > > + X86_MATCH_VFM(INTEL_ICELAKE_D, NULL),
> > > + X86_MATCH_VFM(INTEL_SAPPHIRERAPIDS_X, NULL),
> > > + X86_MATCH_VFM(INTEL_EMERALDRAPIDS_X, NULL),
> > > + X86_MATCH_VFM(INTEL_GRANITERAPIDS_X, NULL),
> > > + X86_MATCH_VFM(INTEL_GRANITERAPIDS_D, NULL),
> > > + X86_MATCH_VFM(INTEL_ATOM_CRESTMONT_X, NULL),
> > > + X86_MATCH_VFM(INTEL_ATOM_DARKMONT_X, NULL),
> > > + X86_MATCH_VFM(INTEL_DIAMONDRAPIDS_X, NULL),
> > > + {}
> > > +};
> > > +
> > > +static bool hypervisor_supports_p2pdma(void) {
> > > + /* Hypervisor hides host topology, allow p2pdma on whitelisted CPUs
> > */
> > > + if (hypervisor_is_type(X86_HYPER_VMWARE))
> > > + return x86_match_cpu(hypervisor_p2pdma_cpu_ids);
> > > +
> > > + return false;
> > > +}
> > One quick thought, after a very quick pass at this:
> >
> > Why does this now need to be related to the hypervisor? Wouldn't it make
> > sense to do this check regardless of whether VMWare is involved?
> >
> > Logan
next prev parent reply other threads:[~2026-10-17 7:48 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-16 22:34 [PATCH v2 0/2] PCI/P2PDMA: Allow P2PDMA in VMware and Hyper-V guests on Intel hosts Pavel Popov
2026-10-16 22:34 ` [PATCH v2 1/2] PCI/P2PDMA: Allow P2PDMA in VMware " Pavel Popov
2026-10-16 22:55 ` Logan Gunthorpe
2026-10-17 0:31 ` Popov, Pavel E
2026-10-17 7:48 ` Leon Romanovsky [this message]
2026-10-16 22:34 ` [PATCH v2 2/2] PCI/P2PDMA: Allow P2PDMA in Hyper-V " Pavel Popov
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=20261017074820.GD219304@unreal \
--to=leon@kernel.org \
--cc=alexey.makhalov@broadcom.com \
--cc=bcm-kernel-feedback-list@broadcom.com \
--cc=bhelgaas@google.com \
--cc=jim.chow@broadcom.com \
--cc=linux-hyperv@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=logang@deltatee.com \
--cc=lukas@wunner.de \
--cc=mhklinux@outlook.com \
--cc=nathan.d.ciobanu@linux.intel.com \
--cc=pavel.e.popov@intel.com \
--cc=radu.rugina@broadcom.com \
--cc=virtualization@lists.linux.dev \
--cc=wei.liu@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox