qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] virtio-rng: correct the default limit rate


From: Paolo Bonzini
Subject: Re: [Qemu-devel] [PATCH] virtio-rng: correct the default limit rate
Date: Tue, 26 Nov 2013 14:58:26 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130923 Thunderbird/17.0.9

Il 26/11/2013 14:43, Amos Kong ha scritto:
> /* Set a default rate limit of 2^47 bytes per minute or roughly 2TB/s.  If
>  * you have an entropy source capable of generating more entropy than this
>  * and you can pass it through via virtio-rng, then hats off to you.  Until
>  * then, this is unlimited for all practical purposes.
>  */
> 
> But the current rate is (INT64_MAX) bytes per (1 << 16) ms, it's 128,000 TB/s

You are changing:

* max-bytes from 2^63 to 2^47

* period from 65536 to 60000

For a user, changing only period would have no effect, the limit rate
would remain effectively infinite.  Changing max-bytes would give a 7%
higher rate after your patch.

Not a big deal, and max-bytes is easier to explain after your patch
(bytes/minute) than before (bytes/65536ms).

Reviewed-by: Paolo Bonzini <address@hidden>

> * change the default period to 60,000 ms --> 1 mins
> * change the default max-bytes to 2^47 bytes --> INT64_MAX >> 16
> 
>  INT64_MAX  =  0x 8000 0000 0000 0000 - 1 = 2 ^ 63 - 1
>  INT64_MAX >> 16 =  0x 8000 0000 0000 - 1 = 2 ^ 47
> 
> Signed-off-by: Amos Kong <address@hidden>
> ---
>  include/hw/virtio/virtio-rng.h | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/include/hw/virtio/virtio-rng.h b/include/hw/virtio/virtio-rng.h
> index debaa15..d64e804 100644
> --- a/include/hw/virtio/virtio-rng.h
> +++ b/include/hw/virtio/virtio-rng.h
> @@ -53,7 +53,7 @@ typedef struct VirtIORNG {
>  */
>  #define DEFINE_VIRTIO_RNG_PROPERTIES(_state, _conf_field)                    
> \
>          DEFINE_PROP_UINT64("max-bytes", _state, _conf_field.max_bytes,       
> \
> -                           INT64_MAX),                                       
> \
> -        DEFINE_PROP_UINT32("period", _state, _conf_field.period_ms, 1 << 16)
> +                           INT64_MAX >> 16),                                 
> \
> +        DEFINE_PROP_UINT32("period", _state, _conf_field.period_ms, 60000)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]