2011-04-20 13:22:18

by Liu Yuan

[permalink] [raw]
Subject: [PATCH] driver, virtio: Modify the err hanlding logic

From: Liu Yuan <[email protected]>

In the function vp_request_msix_vectors(), when
pci_enable_msix() returns 0, there will be
redundant double checks for 'err'. This patch
fixes it to avoid the unnecessary check.

Signed-off-by: Liu Yuan <[email protected]>
---
drivers/virtio/virtio_pci.c | 7 ++++---
1 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/virtio/virtio_pci.c b/drivers/virtio/virtio_pci.c
index 4fb5b2b..2c05376 100644
--- a/drivers/virtio/virtio_pci.c
+++ b/drivers/virtio/virtio_pci.c
@@ -298,10 +298,11 @@ static int vp_request_msix_vectors(struct virtio_device *vdev, int nvectors,

/* pci_enable_msix returns positive if we can't get this many. */
err = pci_enable_msix(vp_dev->pci_dev, vp_dev->msix_entries, nvectors);
- if (err > 0)
- err = -ENOSPC;
- if (err)
+ if (err) {
+ if (err > 0)
+ err = -ENOSPC;
goto error;
+ }
vp_dev->msix_vectors = nvectors;
vp_dev->msix_enabled = 1;

--
1.7.1


2011-04-27 06:07:16

by Rusty Russell

[permalink] [raw]
Subject: Re: [PATCH] driver, virtio: Modify the err hanlding logic

On Wed, 20 Apr 2011 21:21:59 +0800, Liu Yuan <[email protected]> wrote:
> From: Liu Yuan <[email protected]>
>
> In the function vp_request_msix_vectors(), when
> pci_enable_msix() returns 0, there will be
> redundant double checks for 'err'. This patch
> fixes it to avoid the unnecessary check.
>
> Signed-off-by: Liu Yuan <[email protected]>
> ---
> drivers/virtio/virtio_pci.c | 7 ++++---
> 1 files changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/virtio/virtio_pci.c b/drivers/virtio/virtio_pci.c
> index 4fb5b2b..2c05376 100644
> --- a/drivers/virtio/virtio_pci.c
> +++ b/drivers/virtio/virtio_pci.c
> @@ -298,10 +298,11 @@ static int vp_request_msix_vectors(struct virtio_device *vdev, int nvectors,
>
> /* pci_enable_msix returns positive if we can't get this many. */
> err = pci_enable_msix(vp_dev->pci_dev, vp_dev->msix_entries, nvectors);
> - if (err > 0)
> - err = -ENOSPC;
> - if (err)
> + if (err) {
> + if (err > 0)
> + err = -ENOSPC;
> goto error;
> + }
> vp_dev->msix_vectors = nvectors;
> vp_dev->msix_enabled = 1;

This patch is extremely marginal. It theoretically improves efficiency,
but it's in a case we don't care about. The code is quite clear.

My general policy for such marginal improvements is to only accept them
from the maintainer him/herself, so I won't be taking this patch.

Of course, if you produce a series of fixes to the driver with such a
patch as a cleaner, I'm lazy enough that I'd take them all at once :)

Thanks,
Rusty.