linux-pci.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v6 0/5] Allow dyn MSI-X vector allocation of MANA
@ 2025-06-11 14:09 Shradha Gupta
  2025-06-11 14:10 ` [PATCH v6 1/5] PCI/MSI: Export pci_msix_prepare_desc() for dynamic MSI-X allocations Shradha Gupta
                   ` (6 more replies)
  0 siblings, 7 replies; 13+ messages in thread
From: Shradha Gupta @ 2025-06-11 14:09 UTC (permalink / raw)
  Cc: Shradha Gupta, linux-hyperv, linux-pci, linux-kernel, Nipun Gupta,
	Yury Norov, Jason Gunthorpe, Jonathan Cameron, Anna-Maria Behnsen,
	Kevin Tian, Long Li, Thomas Gleixner, Bjorn Helgaas, Rob Herring,
	Manivannan Sadhasivam, Krzysztof Wilczy�~Dski,
	Lorenzo Pieralisi, Dexuan Cui, Wei Liu, Haiyang Zhang,
	K. Y. Srinivasan, Andrew Lunn, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, Konstantin Taranov, Simon Horman,
	Leon Romanovsky, Maxim Levitsky, Erni Sri Satya Vennela,
	Peter Zijlstra, netdev, linux-rdma, Paul Rosswurm, Shradha Gupta

In this patchset we want to enable the MANA driver to be able to
allocate MSI-X vectors in PCI dynamically.

The first patch exports pci_msix_prepare_desc() in PCI to be able to
correctly prepare descriptors for dynamically added MSI-X vectors.

The second patch adds the support of dynamic vector allocation in
pci-hyperv PCI controller by enabling the MSI_FLAG_PCI_MSIX_ALLOC_DYN
flag and using the pci_msix_prepare_desc() exported in first patch.

The third patch adds a detailed description of the irq_setup(), to
help understand the function design better.

The fourth patch is a preparation patch for mana changes to support
dynamic IRQ allocation. It contains changes in irq_setup() to allow
skipping first sibling CPU sets, in case certain IRQs are already
affinitized to them.

The fifth patch has the changes in MANA driver to be able to allocate
MSI-X vectors dynamically. If the support does not exist it defaults to
older behavior.

Since this patchset has patches from PCI and net tree, I am not entirely
sure what should be the target tree. Any suggestions/recommendations on
the same are welcomed.

---
Changes in v6
 * rebased to linux-next's v6.16-rc1 as per Jakub's suggestion
---
Changes in v5
 * Added Yury as Author of the 3rd patch
 * Fixed base commit information in the cover letter
 * Correctly initialized start_irqs, so that it is cleaned properly
 * rearranged the cpu_lock to minimize the critical section
---
 Change in v4
 * add a patch describing the functionality of irq_setup() through a 
   comment
 * In irq_setup(), avoid using a label next_cpumask:
 * modify the changes in MANA patch about restructuring the error
   handling path in mana_gd_setup_dyn_irqs()
 * modify the mana_gd_setup_irqs() to simplify handling around
   start_irq_index
 * add warning if an invalid gic is returned
 * place the xa_destroy() cleanup in mana_gd_remove
---
 Changes in v3
 * split the 3rd patch into preparation patch around irq_setup() and
   changes in mana driver to allow dynamic IRQ allocation
 * Add arm64 support for dynamic MSI-X allocation in pci_hyperv
   controller
---
 Changes in v2
 * split the first patch into two(exporting the preapre_desc
   func and using the function and flag in pci-hyperv)
 * replace 'pci vectors' by 'MSI-X vectors'
 * Change the cover letter description to align with changes made
---

Shradha Gupta (4):
  PCI/MSI: Export pci_msix_prepare_desc() for dynamic MSI-X allocations
  PCI: hv: Allow dynamic MSI-X vector allocation
  net: mana: Allow irq_setup() to skip cpus for affinity
  net: mana: Allocate MSI-X vectors dynamically

Yury Norov (1):
  net: mana: explain irq_setup() algorithm

 .../net/ethernet/microsoft/mana/gdma_main.c   | 366 ++++++++++++++----
 drivers/pci/controller/pci-hyperv.c           |   3 +-
 drivers/pci/msi/irqdomain.c                   |   5 +-
 include/linux/msi.h                           |   2 +
 include/net/mana/gdma.h                       |   8 +-
 5 files changed, 294 insertions(+), 90 deletions(-)


base-commit: 19a60293b9925080d97f22f122aca3fc46dadaf9
-- 
2.34.1


^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2025-06-17 22:00 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-11 14:09 [PATCH v6 0/5] Allow dyn MSI-X vector allocation of MANA Shradha Gupta
2025-06-11 14:10 ` [PATCH v6 1/5] PCI/MSI: Export pci_msix_prepare_desc() for dynamic MSI-X allocations Shradha Gupta
2025-06-13 22:03   ` Bjorn Helgaas
2025-06-11 14:10 ` [PATCH v6 2/5] PCI: hv: Allow dynamic MSI-X vector allocation Shradha Gupta
2025-06-13 22:03   ` Bjorn Helgaas
2025-06-11 14:10 ` [PATCH v6 3/5] net: mana: explain irq_setup() algorithm Shradha Gupta
2025-06-11 14:10 ` [PATCH v6 4/5] net: mana: Allow irq_setup() to skip cpus for affinity Shradha Gupta
2025-06-11 14:11 ` [PATCH v6 5/5] net: mana: Allocate MSI-X vectors dynamically Shradha Gupta
2025-06-11 15:54 ` [PATCH v6 0/5] Allow dyn MSI-X vector allocation of MANA Jakub Kicinski
2025-06-12  6:10   ` Shradha Gupta
2025-06-17  1:11     ` Jakub Kicinski
2025-06-17 10:53       ` Shradha Gupta
2025-06-17 22:00 ` patchwork-bot+netdevbpf

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).