.../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(-)
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
On Wed, 11 Jun 2025 07:09:44 -0700 Shradha Gupta wrote: > Changes in v6 > * rebased to linux-next's v6.16-rc1 as per Jakub's suggestion I meant a branch, basically apply the patches on the v6.16-rc1 tag and push it out to GitHub, kernel.org or somewhere else public. Then we can pull it in and maintain the stable commit IDs. No need to repost the patches, FWIW, just share the branch here once you pushed it out..
On Wed, Jun 11, 2025 at 08:54:16AM -0700, Jakub Kicinski wrote: > On Wed, 11 Jun 2025 07:09:44 -0700 Shradha Gupta wrote: > > Changes in v6 > > * rebased to linux-next's v6.16-rc1 as per Jakub's suggestion > > I meant a branch, basically apply the patches on the v6.16-rc1 tag > and push it out to GitHub, kernel.org or somewhere else public. > Then we can pull it in and maintain the stable commit IDs. > No need to repost the patches, FWIW, just share the branch here > once you pushed it out.. Oh, understood. Thanks for the clarity. Here is a github repo branch with the changes on v6.16-rc1 tag https://github.com/shradhagupta6/linux/tree/shradha_v6.16-rc1 Would this suffice? regards, Shradha.
On Wed, 11 Jun 2025 23:10:55 -0700 Shradha Gupta wrote: > On Wed, Jun 11, 2025 at 08:54:16AM -0700, Jakub Kicinski wrote: > > On Wed, 11 Jun 2025 07:09:44 -0700 Shradha Gupta wrote: > > > Changes in v6 > > > * rebased to linux-next's v6.16-rc1 as per Jakub's suggestion > > > > I meant a branch, basically apply the patches on the v6.16-rc1 tag > > and push it out to GitHub, kernel.org or somewhere else public. > > Then we can pull it in and maintain the stable commit IDs. > > No need to repost the patches, FWIW, just share the branch here > > once you pushed it out.. > > Oh, understood. Thanks for the clarity. Here is a github repo branch > with the changes on v6.16-rc1 tag > https://github.com/shradhagupta6/linux/tree/shradha_v6.16-rc1 The tag was good, but when I pulled it my check scripts complained: Commit a19036b86845 ("net: mana: Allocate MSI-X vectors dynamically") committer Signed-off-by missing author email: shradhagupta@linux.microsoft.com committer email: shradhagupta@microsoft.com Signed-off-by: Shradha Gupta <shradhagupta@linux.microsoft.com> etc. You seem to have committed the patches with a slightly different email address. Not a huge deal but better to fix it if we can. So please base the tag. The code can stay the same just adjust the committer or author/signoff email addrs. We can use this as an opportunity to add Bjorn's email. No need to repost the code just ping here once you updated the tag.
On Mon, Jun 16, 2025 at 06:11:48PM -0700, Jakub Kicinski wrote: > On Wed, 11 Jun 2025 23:10:55 -0700 Shradha Gupta wrote: > > On Wed, Jun 11, 2025 at 08:54:16AM -0700, Jakub Kicinski wrote: > > > On Wed, 11 Jun 2025 07:09:44 -0700 Shradha Gupta wrote: > > > > Changes in v6 > > > > * rebased to linux-next's v6.16-rc1 as per Jakub's suggestion > > > > > > I meant a branch, basically apply the patches on the v6.16-rc1 tag > > > and push it out to GitHub, kernel.org or somewhere else public. > > > Then we can pull it in and maintain the stable commit IDs. > > > No need to repost the patches, FWIW, just share the branch here > > > once you pushed it out.. > > > > Oh, understood. Thanks for the clarity. Here is a github repo branch > > with the changes on v6.16-rc1 tag > > https://github.com/shradhagupta6/linux/tree/shradha_v6.16-rc1 > > The tag was good, but when I pulled it my check scripts complained: > > Commit a19036b86845 ("net: mana: Allocate MSI-X vectors dynamically") > committer Signed-off-by missing > author email: shradhagupta@linux.microsoft.com > committer email: shradhagupta@microsoft.com > Signed-off-by: Shradha Gupta <shradhagupta@linux.microsoft.com> > > etc. You seem to have committed the patches with a slightly different > email address. Not a huge deal but better to fix it if we can. > > So please base the tag. The code can stay the same just adjust the > committer or author/signoff email addrs. We can use this as an > opportunity to add Bjorn's email. > > No need to repost the code just ping here once you updated the tag. Hi Jakub, I have updated the tag with the corrected author and committer details and added Bjorn's ack: https://github.com/shradhagupta6/linux/tree/shradha_v6.16-rc1 By 'please base the tag', did you mean we rebase the changes with rc2? If so, I have also created a rc2 tag branch, JFYI https://github.com/shradhagupta6/linux/tree/shradha_v6.16-rc2 Hope this helps. Thanks, Shradha.
© 2016 - 2025 Red Hat, Inc.