Patchwork [v2] kvm: Use pci_enable_msix_exact() instead of pci_enable_msix()

login
register
mail settings
Submitter Alexander Gordeev
Date Feb. 21, 2014, 5:05 p.m.
Message ID <20140221170504.GN17353@dhcp-26-207.brq.redhat.com>
Download mbox | patch
Permalink /patch/322952/
State Not Applicable
Headers show

Comments

Alexander Gordeev - Feb. 21, 2014, 5:05 p.m.
As result of deprecation of MSI-X/MSI enablement functions
pci_enable_msix() and pci_enable_msi_block() all drivers
using these two interfaces need to be updated to use the
new pci_enable_msi_range()  or pci_enable_msi_exact()
and pci_enable_msix_range() or pci_enable_msix_exact()
interfaces.

Signed-off-by: Alexander Gordeev <agordeev@redhat.com>
Cc: Gleb Natapov <gleb@kernel.org>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: kvm@vger.kernel.org
Cc: linux-pci@vger.kernel.org
---
 virt/kvm/assigned-dev.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)
Paolo Bonzini - Feb. 21, 2014, 5:11 p.m.
Il 21/02/2014 18:05, Alexander Gordeev ha scritto:
> As result of deprecation of MSI-X/MSI enablement functions
> pci_enable_msix() and pci_enable_msi_block() all drivers
> using these two interfaces need to be updated to use the
> new pci_enable_msi_range()  or pci_enable_msi_exact()
> and pci_enable_msix_range() or pci_enable_msix_exact()
> interfaces.
>
> Signed-off-by: Alexander Gordeev <agordeev@redhat.com>
> Cc: Gleb Natapov <gleb@kernel.org>
> Cc: Paolo Bonzini <pbonzini@redhat.com>
> Cc: kvm@vger.kernel.org
> Cc: linux-pci@vger.kernel.org
> ---
>  virt/kvm/assigned-dev.c |    3 ++-
>  1 files changed, 2 insertions(+), 1 deletions(-)
>
> diff --git a/virt/kvm/assigned-dev.c b/virt/kvm/assigned-dev.c
> index 8db4370..bf06577 100644
> --- a/virt/kvm/assigned-dev.c
> +++ b/virt/kvm/assigned-dev.c
> @@ -395,7 +395,8 @@ static int assigned_device_enable_host_msix(struct kvm *kvm,
>  	if (dev->entries_nr == 0)
>  		return r;
>
> -	r = pci_enable_msix(dev->dev, dev->host_msix_entries, dev->entries_nr);
> +	r = pci_enable_msix_exact(dev->dev,
> +				  dev->host_msix_entries, dev->entries_nr);
>  	if (r)
>  		return r;
>
>

It's okay, but it's not clear to me whether I should include this patch 
or someone else will. :)

Paolo
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Alexander Gordeev - Feb. 21, 2014, 6:56 p.m.
On Fri, Feb 21, 2014 at 06:11:29PM +0100, Paolo Bonzini wrote:
> It's okay, but it's not clear to me whether I should include this
> patch or someone else will. :)

Please, include it.

Thanks!

> Paolo
Paolo Bonzini - Feb. 21, 2014, 9:36 p.m.
Il 21/02/2014 19:56, Alexander Gordeev ha scritto:
> On Fri, Feb 21, 2014 at 06:11:29PM +0100, Paolo Bonzini wrote:
>> It's okay, but it's not clear to me whether I should include this
>> patch or someone else will. :)
>
> Please, include it.

And where do I get pci_enable_msix_exact?  When will pci_enable_msix 
disappear?

So, do I have to pull something (which I'd rather not, since pulling the 
wrong thing in a submaintainer tree will make Linus angry), or should I 
do it in the next merge window after pci_enable_msix_exact gets in?

All in all, it seems much simpler to me if the linux-pci tree just 
includes the whole patch series with my Acked-by.

Paolo

> Thanks!
>
>> Paolo
>

--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Alexander Gordeev - Feb. 22, 2014, 8:50 a.m.
On Fri, Feb 21, 2014 at 10:36:25PM +0100, Paolo Bonzini wrote:
> Il 21/02/2014 19:56, Alexander Gordeev ha scritto:
> >On Fri, Feb 21, 2014 at 06:11:29PM +0100, Paolo Bonzini wrote:
> >>It's okay, but it's not clear to me whether I should include this
> >>patch or someone else will. :)
> >
> >Please, include it.
> 
> And where do I get pci_enable_msix_exact?  When will pci_enable_msix
> disappear?

Commit d158fc7 ("Merge tag 'pci-v3.14-fixes-1'") in Linus's tree has it.

pci_enable_msix() is going to be removed once all drivers updated with
new interface.

> So, do I have to pull something (which I'd rather not, since pulling
> the wrong thing in a submaintainer tree will make Linus angry), or
> should I do it in the next merge window after pci_enable_msix_exact
> gets in?

So it is already in.

> All in all, it seems much simpler to me if the linux-pci tree just
> includes the whole patch series with my Acked-by.
>
> Paolo
> 
> >Thanks!
> >
> >>Paolo
> >
>
Paolo Bonzini - Feb. 22, 2014, 8:58 a.m.
Il 22/02/2014 09:50, Alexander Gordeev ha scritto:
> Commit d158fc7 ("Merge tag 'pci-v3.14-fixes-1'") in Linus's tree has it.
>
> pci_enable_msix() is going to be removed once all drivers updated with
> new interface.
>
>> > So, do I have to pull something (which I'd rather not, since pulling
>> > the wrong thing in a submaintainer tree will make Linus angry), or
>> > should I do it in the next merge window after pci_enable_msix_exact
>> > gets in?
> So it is already in.

It is not, because maintainer branches are not rebased.  KVM development 
is based on 3.14-rc1, and will not get that commit until the first 3.15 
pull request is sent to Linux.

No big deal, I'll include this patch in a second 3.15 pull request.

Paolo
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Alexander Gordeev - April 21, 2014, 1:38 p.m.
On Sat, Feb 22, 2014 at 09:58:10AM +0100, Paolo Bonzini wrote:
> Il 22/02/2014 09:50, Alexander Gordeev ha scritto:
> >Commit d158fc7 ("Merge tag 'pci-v3.14-fixes-1'") in Linus's tree has it.
> >
> >pci_enable_msix() is going to be removed once all drivers updated with
> >new interface.
> >
> >>> So, do I have to pull something (which I'd rather not, since pulling
> >>> the wrong thing in a submaintainer tree will make Linus angry), or
> >>> should I do it in the next merge window after pci_enable_msix_exact
> >>> gets in?
> >So it is already in.
> 
> It is not, because maintainer branches are not rebased.  KVM
> development is based on 3.14-rc1, and will not get that commit until
> the first 3.15 pull request is sent to Linux.
> 
> No big deal, I'll include this patch in a second 3.15 pull request.

Hi Paolo,

I believe it is safe to pull it now?

Thanks!

> Paolo
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Paolo Bonzini - April 24, 2014, 8:45 p.m.
> > >>> So, do I have to pull something (which I'd rather not, since pulling
> > >>> the wrong thing in a submaintainer tree will make Linus angry), or
> > >>> should I do it in the next merge window after pci_enable_msix_exact
> > >>> gets in?
> > >So it is already in.
> > 
> > It is not, because maintainer branches are not rebased.  KVM
> > development is based on 3.14-rc1, and will not get that commit until
> > the first 3.15 pull request is sent to Linux.
> > 
> > No big deal, I'll include this patch in a second 3.15 pull request.
> 
> Hi Paolo,
> 
> I believe it is safe to pull it now?

Yup, vacation got in the way of doing this during the merge window but I
can safely send this for -rc next week.  It was on my todo list.

Paolo
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Paolo Bonzini - April 28, 2014, 9:13 a.m.
Il 21/02/2014 18:05, Alexander Gordeev ha scritto:
> As result of deprecation of MSI-X/MSI enablement functions
> pci_enable_msix() and pci_enable_msi_block() all drivers
> using these two interfaces need to be updated to use the
> new pci_enable_msi_range()  or pci_enable_msi_exact()
> and pci_enable_msix_range() or pci_enable_msix_exact()
> interfaces.
>
> Signed-off-by: Alexander Gordeev <agordeev@redhat.com>
> Cc: Gleb Natapov <gleb@kernel.org>
> Cc: Paolo Bonzini <pbonzini@redhat.com>
> Cc: kvm@vger.kernel.org
> Cc: linux-pci@vger.kernel.org
> ---
>  virt/kvm/assigned-dev.c |    3 ++-
>  1 files changed, 2 insertions(+), 1 deletions(-)
>
> diff --git a/virt/kvm/assigned-dev.c b/virt/kvm/assigned-dev.c
> index 8db4370..bf06577 100644
> --- a/virt/kvm/assigned-dev.c
> +++ b/virt/kvm/assigned-dev.c
> @@ -395,7 +395,8 @@ static int assigned_device_enable_host_msix(struct kvm *kvm,
>  	if (dev->entries_nr == 0)
>  		return r;
>
> -	r = pci_enable_msix(dev->dev, dev->host_msix_entries, dev->entries_nr);
> +	r = pci_enable_msix_exact(dev->dev,
> +				  dev->host_msix_entries, dev->entries_nr);
>  	if (r)
>  		return r;
>
>

Applying this to kvm/master (i.e. for 3.15), thanks.

Paolo
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff --git a/virt/kvm/assigned-dev.c b/virt/kvm/assigned-dev.c
index 8db4370..bf06577 100644
--- a/virt/kvm/assigned-dev.c
+++ b/virt/kvm/assigned-dev.c
@@ -395,7 +395,8 @@  static int assigned_device_enable_host_msix(struct kvm *kvm,
 	if (dev->entries_nr == 0)
 		return r;
 
-	r = pci_enable_msix(dev->dev, dev->host_msix_entries, dev->entries_nr);
+	r = pci_enable_msix_exact(dev->dev,
+				  dev->host_msix_entries, dev->entries_nr);
 	if (r)
 		return r;