mbox series

[v4,0/2] VMD MSI Remapping Bypass

Message ID 20210210161315.316097-1-jonathan.derrick@intel.com
Headers show
Series VMD MSI Remapping Bypass | expand

Message

Jon Derrick Feb. 10, 2021, 4:13 p.m. UTC
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) 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.

V3->V4:
Integrated wording suggestions; no functional changes

V2->V3:
Trivial comment fixes
Added acks

V1->V2:
Updated for 5.12-next
Moved IRQ allocation and remapping enable/disable to a more logical location

V1 patches 1-4 were already merged
V1, 5/6: https://patchwork.kernel.org/project/linux-pci/patch/20200728194945.14126-6-jonathan.derrick@intel.com/
V1, 6/6: https://patchwork.kernel.org/project/linux-pci/patch/20200728194945.14126-7-jonathan.derrick@intel.com/


Jon Derrick (2):
  iommu/vt-d: Use Real PCI DMA device for IRTE
  PCI: vmd: Disable MSI-X remapping when possible

 drivers/iommu/intel/irq_remapping.c |  3 +-
 drivers/pci/controller/vmd.c        | 63 +++++++++++++++++++++++------
 2 files changed, 53 insertions(+), 13 deletions(-)

Comments

Jon Derrick March 17, 2021, 7:14 p.m. UTC | #1
Gentle reminder, for v5.13 ?

On Wed, 2021-02-10 at 09:13 -0700, 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) 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.
> 
> V3->V4:
> Integrated wording suggestions; no functional changes
> 
> V2->V3:
> Trivial comment fixes
> Added acks
> 
> V1->V2:
> Updated for 5.12-next
> Moved IRQ allocation and remapping enable/disable to a more logical location
> 
> V1 patches 1-4 were already merged
> V1, 5/6: https://patchwork.kernel.org/project/linux-pci/patch/20200728194945.14126-6-jonathan.derrick@intel.com/
> V1, 6/6: https://patchwork.kernel.org/project/linux-pci/patch/20200728194945.14126-7-jonathan.derrick@intel.com/
> 
> 
> Jon Derrick (2):
>   iommu/vt-d: Use Real PCI DMA device for IRTE
>   PCI: vmd: Disable MSI-X remapping when possible
> 
>  drivers/iommu/intel/irq_remapping.c |  3 +-
>  drivers/pci/controller/vmd.c        | 63 +++++++++++++++++++++++------
>  2 files changed, 53 insertions(+), 13 deletions(-)
>
Joerg Roedel March 18, 2021, 9:07 a.m. UTC | #2
On Wed, Mar 17, 2021 at 07:14:17PM +0000, Derrick, Jonathan wrote:
> Gentle reminder, for v5.13 ?

This should go through the PCI tree, Bjorn?
Lorenzo Pieralisi March 18, 2021, 12:38 p.m. UTC | #3
On Thu, Mar 18, 2021 at 10:07:38AM +0100, joro@8bytes.org wrote:
> On Wed, Mar 17, 2021 at 07:14:17PM +0000, Derrick, Jonathan wrote:
> > Gentle reminder, for v5.13 ?
> 
> This should go through the PCI tree, Bjorn?

I will start queuing code next week, noted.

Thanks,
Lorenzo
Lorenzo Pieralisi March 22, 2021, 2:11 p.m. UTC | #4
On Wed, 10 Feb 2021 09:13:13 -0700, 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) 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.
> 
> [...]

Applied to pci/vmd, thanks!

[1/2] iommu/vt-d: Use Real PCI DMA device for IRTE
      https://git.kernel.org/lpieralisi/pci/c/9b4a824b88
[2/2] PCI: vmd: Disable MSI-X remapping when possible
      https://git.kernel.org/lpieralisi/pci/c/ee81ee84f8

Thanks,
Lorenzo