From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:34802) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VlJA4-0001b4-4c for qemu-devel@nongnu.org; Tue, 26 Nov 2013 08:58:50 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VlJ9u-0006GS-S7 for qemu-devel@nongnu.org; Tue, 26 Nov 2013 08:58:44 -0500 Received: from mx1.redhat.com ([209.132.183.28]:43916) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VlJ9u-0006GO-J4 for qemu-devel@nongnu.org; Tue, 26 Nov 2013 08:58:34 -0500 Message-ID: <5294A902.5060000@redhat.com> Date: Tue, 26 Nov 2013 14:58:26 +0100 From: Paolo Bonzini MIME-Version: 1.0 References: <1385473433-15844-1-git-send-email-akong@redhat.com> In-Reply-To: <1385473433-15844-1-git-send-email-akong@redhat.com> Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH] virtio-rng: correct the default limit rate List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Amos Kong Cc: amit.shah@redhat.com, qemu-devel@nongnu.org, anthony@codemonkey.ws 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 > * 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 > --- > 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)