diff mbox

virtion-net: Prefer is_power_of_2()

Message ID ae882d766ec76c57a7babc2798f16a5a31d64358.1499931846.git.mprivozn@redhat.com
State New
Headers show

Commit Message

Michal Prívozník July 13, 2017, 7:44 a.m. UTC
We have a function that checks if given number is power of two.
We should prefer it instead of expanding the check on our own.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
---
 hw/net/virtio-net.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Eric Blake July 13, 2017, 10:34 a.m. UTC | #1
On 07/13/2017 02:44 AM, Michal Privoznik wrote:

In the subject: s/virtion/virtio/

> We have a function that checks if given number is power of two.
> We should prefer it instead of expanding the check on our own.
> 
> Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
> ---
>  hw/net/virtio-net.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c
> index 5630a9ec44..657d099c54 100644
> --- a/hw/net/virtio-net.c
> +++ b/hw/net/virtio-net.c
> @@ -1942,7 +1942,7 @@ static void virtio_net_device_realize(DeviceState *dev, Error **errp)
>       */
>      if (n->net_conf.rx_queue_size < VIRTIO_NET_RX_QUEUE_MIN_SIZE ||
>          n->net_conf.rx_queue_size > VIRTQUEUE_MAX_SIZE ||
> -        (n->net_conf.rx_queue_size & (n->net_conf.rx_queue_size - 1))) {
> +        !is_power_of_2(n->net_conf.rx_queue_size)) {
>          error_setg(errp, "Invalid rx_queue_size (= %" PRIu16 "), "
>                     "must be a power of 2 between %d and %d.",

As long as we're touching this, we should get rid of the trailing '.',
which error_setg() documents should not be used.

With those fixed, you can add:
Reviewed-by: Eric Blake <eblake@redhat.com>
Jason Wang July 14, 2017, 7:43 a.m. UTC | #2
On 2017年07月13日 15:44, Michal Privoznik wrote:
> We have a function that checks if given number is power of two.
> We should prefer it instead of expanding the check on our own.
>
> Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
> ---
>   hw/net/virtio-net.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c
> index 5630a9ec44..657d099c54 100644
> --- a/hw/net/virtio-net.c
> +++ b/hw/net/virtio-net.c
> @@ -1942,7 +1942,7 @@ static void virtio_net_device_realize(DeviceState *dev, Error **errp)
>        */
>       if (n->net_conf.rx_queue_size < VIRTIO_NET_RX_QUEUE_MIN_SIZE ||
>           n->net_conf.rx_queue_size > VIRTQUEUE_MAX_SIZE ||
> -        (n->net_conf.rx_queue_size & (n->net_conf.rx_queue_size - 1))) {
> +        !is_power_of_2(n->net_conf.rx_queue_size)) {
>           error_setg(errp, "Invalid rx_queue_size (= %" PRIu16 "), "
>                      "must be a power of 2 between %d and %d.",
>                      n->net_conf.rx_queue_size, VIRTIO_NET_RX_QUEUE_MIN_SIZE,

Applied.

Thanks
diff mbox

Patch

diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c
index 5630a9ec44..657d099c54 100644
--- a/hw/net/virtio-net.c
+++ b/hw/net/virtio-net.c
@@ -1942,7 +1942,7 @@  static void virtio_net_device_realize(DeviceState *dev, Error **errp)
      */
     if (n->net_conf.rx_queue_size < VIRTIO_NET_RX_QUEUE_MIN_SIZE ||
         n->net_conf.rx_queue_size > VIRTQUEUE_MAX_SIZE ||
-        (n->net_conf.rx_queue_size & (n->net_conf.rx_queue_size - 1))) {
+        !is_power_of_2(n->net_conf.rx_queue_size)) {
         error_setg(errp, "Invalid rx_queue_size (= %" PRIu16 "), "
                    "must be a power of 2 between %d and %d.",
                    n->net_conf.rx_queue_size, VIRTIO_NET_RX_QUEUE_MIN_SIZE,