[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <3b4c5adf-6b03-4c49-9130-83bee25d2cd0@intel.com>
Date: Fri, 28 Jun 2024 15:28:39 +0200
From: Przemek Kitszel <przemyslaw.kitszel@...el.com>
To: Shay Drory <shayd@...dia.com>
CC: <rafael@...nel.org>, <ira.weiny@...el.com>, <linux-rdma@...r.kernel.org>,
<leon@...nel.org>, <tariqt@...dia.com>, <netdev@...r.kernel.org>,
<pabeni@...hat.com>, <davem@...emloft.net>, <kuba@...nel.org>,
<edumazet@...gle.com>, <gregkh@...uxfoundation.org>,
<david.m.ertman@...el.com>
Subject: Re: [PATCH net-next v8 0/2] COVER LETTER: Introduce auxiliary bus
IRQs sysfs
On 6/27/24 16:38, Shay Drory wrote:
> Today, PCI PFs and VFs, which are anchored on the PCI bus, display their
> IRQ information in the <pci_device>/msi_irqs/<irq_num> sysfs files. PCI
> subfunctions (SFs) are similar to PFs and VFs and these SFs are anchored
> on the auxiliary bus. However, these PCI SFs lack such IRQ information
> on the auxiliary bus, leaving users without visibility into which IRQs
> are used by the SFs. This absence makes it impossible to debug
> situations and to understand the source of interrupts/SFs for
> performance tuning and debug.
>
> Additionally, the SFs are multifunctional devices supporting RDMA,
> network devices, clocks, and more, similar to their peer PCI PFs and
> VFs. Therefore, it is desirable to have SFs' IRQ information available
> at the bus/device level.
>
> To overcome the above limitations, this short series extends the
> auxiliary bus to display IRQ information in sysfs, similar to that of
> PFs and VFs.
>
> It adds an 'irqs' directory under the auxiliary device and includes an
> <irq_num> sysfs file within it.
>
> For example:
> $ ls /sys/bus/auxiliary/devices/mlx5_core.sf.1/irqs/
> 50 51 52 53 54 55 56 57 58
>
> Patch summary:
> ==============
> patch-1 adds auxiliary bus to support irqs used by auxiliary device
> patch-2 mlx5 driver using exposing irqs for PCI SF devices via auxiliary
> bus
>
For the series:
Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@...el.com>
> ---
> v7-v8:
> - use cleanup.h for info and name fields (Greg)
> - correct error flow in auxiliary_irq_dir_prepare (Przemek)
> - add documentation for new fields of auxiliary_device (Simon)
> v6->v7:
> - dynamically creating irqs directory when first irq file created, patch #1 (Greg).
> - removed irqs flag and simplified the dev_add() API, patch #1 (Greg).
> - move sysfs related new code to a new auxiliary_sysfs.c file, patch #1 (Greg).
> v5->v6:
> - fix error flow in patch #2 (Przemek and Parav).
> - remove concept of shared and exclusive and hence global xarray in patch #1 (Greg).
> v4->v5:
> - addressed comments from Greg in patch #1.
> v3->4:
> - addressed comments from Przemek in patch #1.
> v2->v3:
> - addressed comments from Parav and Przemek in patch #1.
> - fixed a bug in patch #2.
> v1->v2:
> - addressed comments from Greg, Simon H and kernel test boot in patch #1.
>
> Shay Drory (2):
> driver core: auxiliary bus: show auxiliary device IRQs
> net/mlx5: Expose SFs IRQs
>
> Documentation/ABI/testing/sysfs-bus-auxiliary | 9 ++
> drivers/base/Makefile | 1 +
> drivers/base/auxiliary.c | 1 +
> drivers/base/auxiliary_sysfs.c | 113 ++++++++++++++++++
> drivers/net/ethernet/mellanox/mlx5/core/eq.c | 6 +-
> .../mellanox/mlx5/core/irq_affinity.c | 18 ++-
> .../ethernet/mellanox/mlx5/core/mlx5_core.h | 6 +
> .../ethernet/mellanox/mlx5/core/mlx5_irq.h | 12 +-
> .../net/ethernet/mellanox/mlx5/core/pci_irq.c | 12 +-
> include/linux/auxiliary_bus.h | 22 ++++
> 10 files changed, 189 insertions(+), 11 deletions(-)
> create mode 100644 Documentation/ABI/testing/sysfs-bus-auxiliary
> create mode 100644 drivers/base/auxiliary_sysfs.c
>
Powered by blists - more mailing lists