From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:47501) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VEydS-0005Gu-Cx for qemu-devel@nongnu.org; Thu, 29 Aug 2013 05:35:32 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VEydM-0003Oo-96 for qemu-devel@nongnu.org; Thu, 29 Aug 2013 05:35:26 -0400 Received: from nodalink.pck.nerim.net ([62.212.105.220]:34258 helo=paradis.irqsave.net) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VEydM-0003Of-0M for qemu-devel@nongnu.org; Thu, 29 Aug 2013 05:35:20 -0400 Date: Thu, 29 Aug 2013 11:37:20 +0200 From: =?iso-8859-1?Q?Beno=EEt?= Canet Message-ID: <20130829093719.GC5142@irqsave.net> References: <1377702441-22236-1-git-send-email-benoit@irqsave.net> <20130829090945.GA31923@stefanha-thinkpad.redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline In-Reply-To: <20130829090945.GA31923@stefanha-thinkpad.redhat.com> Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH V7 0/5] Continuous Leaky Bucket Throttling List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Stefan Hajnoczi Cc: kwolf@redhat.com, pbonzini@redhat.com, qemu-devel@nongnu.org, stefanha@redhat.com > 1. We keep modifying the timer in bdrv_io_limits_intercept() on each > request even when it has already been set. I think we'll set it to > the same absolute timestamp, modulo numerical issues. Should we > avoid doing this? I could check that the timer is not pending before setting it. >=20 > 2. bdrv_io_limits_resched() only wakes up requests of the same type > (read/write). Does this mean that BPS_TOTAL/IOPS_TOTAL requests > will have to wait until the other request type timer expires instead > of piggybacking on request completion? >=20 > Is this a problem? If no, then why piggyback on request completion > at all since apparently it works fine when we don't wake up the othe= r > request type? It only wakes up the same request type to be coherent with the two reques= ts queues and two timers strategy. The ultimate goal of this is to be able to do: block_set_io_throttle virtio1 0 0 0 0 3000 1 The code can cope with this and do independent throttling for reads and writes. Best regards Beno=EEt