mbox series

[v3,0/2] msi: extend msi_irqs sysfs entries to platform devices

Message ID 20210813035628.6844-1-21cnbao@gmail.com (mailing list archive)
Headers show
Series msi: extend msi_irqs sysfs entries to platform devices | expand

Message

Barry Song Aug. 13, 2021, 3:56 a.m. UTC
From: Barry Song <song.bao.hua@hisilicon.com>

-v3:
  added Acked-by of Greg Kroah-Hartman and Bjorn Helgaas, thanks!
  refined commit log with respect to Bjorn's comments

  Hi Thomas & Marc,
  Would you please handle this series? Thanks!

-v2:
  extract common code for msi_irqs sysfs populate/destory from PCI to MSI core,
  platform_device can directly reuse common code;
  https://lore.kernel.org/lkml/20210812105341.51657-1-21cnbao@gmail.com/

-v1:
  https://lore.kernel.org/lkml/20210811105020.12980-1-song.bao.hua@hisilicon.com/

Just like pci devices have msi_irqs which can be used by userspace irq affinity
tools or applications to bind irqs, platform devices also widely support msi
irqs.
For platform devices, for example ARM SMMU, userspaces also care about its msi
irqs as applications can know the mapping between devices and irqs and then
make smarter decision on handling irq affinity. For example, for SVA mode,
it is better to pin io page fault to the numa node applications are running
on. Otherwise, io page fault will get a remote page from the node iopf happens
rather than from the node applications are running on.

The first patch extracts the sysfs populate/destory code from PCI to
MSI core. The 2nd patch lets platform-msi export msi_irqs entry so that
userspace can know the mapping between devices and irqs for platform
devices.

Barry Song (2):
  genirq/msi: Extract common sysfs populate entries to MSI core from PCI
  platform-msi: Add ABI to show msi_irqs of platform devices

 Documentation/ABI/testing/sysfs-bus-platform |  14 +++
 drivers/base/platform-msi.c                  |  10 ++
 drivers/pci/msi.c                            | 124 ++-----------------------
 include/linux/msi.h                          |   4 +
 kernel/irq/msi.c                             | 134 +++++++++++++++++++++++++++
 5 files changed, 171 insertions(+), 115 deletions(-)

Comments

Marc Zyngier Aug. 14, 2021, 9:45 a.m. UTC | #1
On Fri, 13 Aug 2021 04:56:26 +0100,
Barry Song <21cnbao@gmail.com> wrote:
> 
> From: Barry Song <song.bao.hua@hisilicon.com>
> 
> -v3:
>   added Acked-by of Greg Kroah-Hartman and Bjorn Helgaas, thanks!
>   refined commit log with respect to Bjorn's comments
> 
>   Hi Thomas & Marc,
>   Would you please handle this series? Thanks!
> 
> -v2:
>   extract common code for msi_irqs sysfs populate/destory from PCI to MSI core,
>   platform_device can directly reuse common code;
>   https://lore.kernel.org/lkml/20210812105341.51657-1-21cnbao@gmail.com/
> 
> -v1:
>   https://lore.kernel.org/lkml/20210811105020.12980-1-song.bao.hua@hisilicon.com/
> 
> Just like pci devices have msi_irqs which can be used by userspace irq affinity
> tools or applications to bind irqs, platform devices also widely support msi
> irqs.
> For platform devices, for example ARM SMMU, userspaces also care about its msi
> irqs as applications can know the mapping between devices and irqs and then
> make smarter decision on handling irq affinity. For example, for SVA mode,
> it is better to pin io page fault to the numa node applications are running
> on. Otherwise, io page fault will get a remote page from the node iopf happens
> rather than from the node applications are running on.
> 
> The first patch extracts the sysfs populate/destory code from PCI to
> MSI core. The 2nd patch lets platform-msi export msi_irqs entry so that
> userspace can know the mapping between devices and irqs for platform
> devices.

Although I'm not in a position to test it right now, this looks
reasonable to me:

Acked-by: Marc Zyngier <maz@kernel.org>

Thomas, do you want to queue this one, given that you already carry a
ton of MSI-related patches?

Thanks,

	M.