drivers/pci/msi/irqdomain.c | 2 ++ 1 file changed, 2 insertions(+)
Plug the default MSI-X prepare descriptor for non-implemented ops by
default to workaround the inability of Hyper-V vPCI module to setup
the MSI-X descriptors properly; especially for dynamically allocated
MSI-X.
Signed-off-by: Naman Jain <namjain@linux.microsoft.com>
---
drivers/pci/msi/irqdomain.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/pci/msi/irqdomain.c b/drivers/pci/msi/irqdomain.c
index 765312c92d9b..655e99b9c8cc 100644
--- a/drivers/pci/msi/irqdomain.c
+++ b/drivers/pci/msi/irqdomain.c
@@ -84,6 +84,8 @@ static void pci_msi_domain_update_dom_ops(struct msi_domain_info *info)
} else {
if (ops->set_desc == NULL)
ops->set_desc = pci_msi_domain_set_desc;
+ if (ops->prepare_desc == NULL)
+ ops->prepare_desc = pci_msix_prepare_desc;
}
}
base-commit: 26ffb3d6f02cd0935fb9fa3db897767beee1cb2a
--
2.34.1
On Tue, Jul 08, 2025 at 10:48:48AM +0530, Naman Jain wrote: > Plug the default MSI-X prepare descriptor for non-implemented ops by > default to workaround the inability of Hyper-V vPCI module to setup > the MSI-X descriptors properly; especially for dynamically allocated > MSI-X. > > Signed-off-by: Naman Jain <namjain@linux.microsoft.com> > --- > drivers/pci/msi/irqdomain.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/pci/msi/irqdomain.c b/drivers/pci/msi/irqdomain.c > index 765312c92d9b..655e99b9c8cc 100644 > --- a/drivers/pci/msi/irqdomain.c > +++ b/drivers/pci/msi/irqdomain.c > @@ -84,6 +84,8 @@ static void pci_msi_domain_update_dom_ops(struct msi_domain_info *info) > } else { > if (ops->set_desc == NULL) > ops->set_desc = pci_msi_domain_set_desc; > + if (ops->prepare_desc == NULL) > + ops->prepare_desc = pci_msix_prepare_desc; > } > } > > > base-commit: 26ffb3d6f02cd0935fb9fa3db897767beee1cb2a > -- > 2.34.1 > Hey Naman, can you please try your tests with this patch: https://lore.kernel.org/all/1749651015-9668-1-git-send-email-shradhagupta@linux.microsoft.com/ I think this should help your use case Regards, Shradha.
On 7/8/2025 3:32 PM, Shradha Gupta wrote: > On Tue, Jul 08, 2025 at 10:48:48AM +0530, Naman Jain wrote: >> Plug the default MSI-X prepare descriptor for non-implemented ops by >> default to workaround the inability of Hyper-V vPCI module to setup >> the MSI-X descriptors properly; especially for dynamically allocated >> MSI-X. >> >> Signed-off-by: Naman Jain <namjain@linux.microsoft.com> >> --- >> drivers/pci/msi/irqdomain.c | 2 ++ >> 1 file changed, 2 insertions(+) >> >> diff --git a/drivers/pci/msi/irqdomain.c b/drivers/pci/msi/irqdomain.c >> index 765312c92d9b..655e99b9c8cc 100644 >> --- a/drivers/pci/msi/irqdomain.c >> +++ b/drivers/pci/msi/irqdomain.c >> @@ -84,6 +84,8 @@ static void pci_msi_domain_update_dom_ops(struct msi_domain_info *info) >> } else { >> if (ops->set_desc == NULL) >> ops->set_desc = pci_msi_domain_set_desc; >> + if (ops->prepare_desc == NULL) >> + ops->prepare_desc = pci_msix_prepare_desc; >> } >> } >> >> >> base-commit: 26ffb3d6f02cd0935fb9fa3db897767beee1cb2a >> -- >> 2.34.1 >> > > Hey Naman, > > can you please try your tests with this patch: > https://lore.kernel.org/all/1749651015-9668-1-git-send-email-shradhagupta@linux.microsoft.com/ > I think this should help your use case > > Regards, > Shradha. Hey, Thanks for sharing this, this works for me. Closing this thread. Regards, Naman
On Tue, Jul 08, 2025 at 03:45:05PM +0530, Naman Jain wrote: > On 7/8/2025 3:32 PM, Shradha Gupta wrote: > > On Tue, Jul 08, 2025 at 10:48:48AM +0530, Naman Jain wrote: > > > Plug the default MSI-X prepare descriptor for non-implemented ops by > > > default to workaround the inability of Hyper-V vPCI module to setup > > > the MSI-X descriptors properly; especially for dynamically allocated > > > MSI-X. > > > > > > Signed-off-by: Naman Jain <namjain@linux.microsoft.com> > > > --- > > > drivers/pci/msi/irqdomain.c | 2 ++ > > > 1 file changed, 2 insertions(+) > > > > > > diff --git a/drivers/pci/msi/irqdomain.c b/drivers/pci/msi/irqdomain.c > > > index 765312c92d9b..655e99b9c8cc 100644 > > > --- a/drivers/pci/msi/irqdomain.c > > > +++ b/drivers/pci/msi/irqdomain.c > > > @@ -84,6 +84,8 @@ static void pci_msi_domain_update_dom_ops(struct msi_domain_info *info) > > > } else { > > > if (ops->set_desc == NULL) > > > ops->set_desc = pci_msi_domain_set_desc; > > > + if (ops->prepare_desc == NULL) > > > + ops->prepare_desc = pci_msix_prepare_desc; > > > } > > > } > > > > > > base-commit: 26ffb3d6f02cd0935fb9fa3db897767beee1cb2a > > > -- > > > 2.34.1 > > > > > > > Hey Naman, > > > > can you please try your tests with this patch: > > https://lore.kernel.org/all/1749651015-9668-1-git-send-email-shradhagupta@linux.microsoft.com/ > > I think this should help your use case > > Hey, > Thanks for sharing this, this works for me. > > Closing this thread. I guess this means we should ignore this patch? If it turns out that we do need this patch, I'd like to add some details in the commit log about what this problem looks like to users. Bjorn
On 7/8/2025 9:38 PM, Bjorn Helgaas wrote: > On Tue, Jul 08, 2025 at 03:45:05PM +0530, Naman Jain wrote: >> On 7/8/2025 3:32 PM, Shradha Gupta wrote: >>> On Tue, Jul 08, 2025 at 10:48:48AM +0530, Naman Jain wrote: >>>> Plug the default MSI-X prepare descriptor for non-implemented ops by >>>> default to workaround the inability of Hyper-V vPCI module to setup >>>> the MSI-X descriptors properly; especially for dynamically allocated >>>> MSI-X. >>>> >>>> Signed-off-by: Naman Jain <namjain@linux.microsoft.com> >>>> --- >>>> drivers/pci/msi/irqdomain.c | 2 ++ >>>> 1 file changed, 2 insertions(+) >>>> >>>> diff --git a/drivers/pci/msi/irqdomain.c b/drivers/pci/msi/irqdomain.c >>>> index 765312c92d9b..655e99b9c8cc 100644 >>>> --- a/drivers/pci/msi/irqdomain.c >>>> +++ b/drivers/pci/msi/irqdomain.c >>>> @@ -84,6 +84,8 @@ static void pci_msi_domain_update_dom_ops(struct msi_domain_info *info) >>>> } else { >>>> if (ops->set_desc == NULL) >>>> ops->set_desc = pci_msi_domain_set_desc; >>>> + if (ops->prepare_desc == NULL) >>>> + ops->prepare_desc = pci_msix_prepare_desc; >>>> } >>>> } >>>> >>>> base-commit: 26ffb3d6f02cd0935fb9fa3db897767beee1cb2a >>>> -- >>>> 2.34.1 >>>> >>> >>> Hey Naman, >>> >>> can you please try your tests with this patch: >>> https://lore.kernel.org/all/1749651015-9668-1-git-send-email-shradhagupta@linux.microsoft.com/ >>> I think this should help your use case >> >> Hey, >> Thanks for sharing this, this works for me. >> >> Closing this thread. > > I guess this means we should ignore this patch? If it turns out that > we do need this patch, I'd like to add some details in the commit log > about what this problem looks like to users. > > Bjorn Yes, my patch is no longer required, since it was doing the same thing that Shradha's patch (1-2) were doing, but in a different way. Shradha's patch is better and would suffice for the use case. Please ignore this patch. Thanks. Regards, Naman
© 2016 - 2025 Red Hat, Inc.