Message ID | 20200728194945.14126-1-jonathan.derrick@intel.com |
---|---|
Headers | show |
Series | VMD MSI Remapping Bypass | expand |
Hi Lorenzo, On Tue, 2020-07-28 at 13:49 -0600, Jon Derrick wrote: > 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 Gentle reminder. Please don't forget about this. We have a few more patches coming soon that I'd prefer to stage upon this set.