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 <[email protected]> > * 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 <[email protected]> > --- > 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)
