[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20200728194945.14126-1-jonathan.derrick@intel.com>
Date: Tue, 28 Jul 2020 13:49:39 -0600
From: Jon Derrick <jonathan.derrick@...el.com>
To: <linux-pci@...r.kernel.org>,
Lorenzo Pieralisi <lorenzo.pieralisi@....com>
Cc: Bjorn Helgaas <helgaas@...nel.org>, Christoph Hellwig <hch@....de>,
Andrzej Jakowski <andrzej.jakowski@...ux.intel.com>,
Sushma Kalakota <sushmax.kalakota@...el.com>,
<linux-kernel@...r.kernel.org>, <x86@...nel.org>,
Jon Derrick <jonathan.derrick@...el.com>
Subject: [PATCH 0/6] VMD MSI Remapping Bypass
The Intel Volume Management Device acts similar to a PCI-to-PCI bridge in that
it changes downstream devices' requester-ids to its own. As VMD supports PCIe
devices, it has its own MSI/X table and transmits child device MSI/X by
remapping child device MSI/X and handling like a demultiplexer.
Some newer VMD devices (Icelake Server and client) have an option to bypass the
VMD MSI/X remapping table. This allows for better performance scaling as the
child device MSI/X won't be limited by VMD's MSI/X count and IRQ handler.
It's expected that most users don't want MSI/X remapping when they can get
better performance without this limitation. This set includes some long overdue
cleanup of overgrown VMD code and introduces the MSI/X remapping disable.
Applies on top of e3beca48a45b ("irqdomain/treewide: Keep firmware node
unconditionally allocated") and ec0160891e38 ("irqdomain/treewide: Free
firmware node after domain removal") in tip/urgent
Jon Derrick (6):
PCI: vmd: Create physical offset helper
PCI: vmd: Create bus offset configuration helper
PCI: vmd: Create IRQ Domain configuration helper
PCI: vmd: Create IRQ allocation helper
x86/apic/msi: Use Real PCI DMA device when configuring IRTE
PCI: vmd: Disable MSI/X remapping when possible
arch/x86/kernel/apic/msi.c | 2 +-
drivers/pci/controller/vmd.c | 344 +++++++++++++++++++++++------------
2 files changed, 224 insertions(+), 122 deletions(-)
base-commit: ec0160891e387f4771f953b888b1fe951398e5d9
--
2.27.0
Powered by blists - more mailing lists