From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:51360) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Wkasx-0001Co-L6 for qemu-devel@nongnu.org; Wed, 14 May 2014 11:14:29 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Wkasr-0004qs-Fp for qemu-devel@nongnu.org; Wed, 14 May 2014 11:14:23 -0400 Received: from lputeaux-656-01-25-125.w80-12.abo.wanadoo.fr ([80.12.84.125]:35723 helo=paradis.irqsave.net) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Wkasr-0004ql-A2 for qemu-devel@nongnu.org; Wed, 14 May 2014 11:14:17 -0400 Date: Wed, 14 May 2014 17:14:52 +0200 From: =?iso-8859-1?Q?Beno=EEt?= Canet Message-ID: <20140514151452.GD5955@irqsave.net> References: <1400077367-23409-1-git-send-email-stefanha@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline In-Reply-To: <1400077367-23409-1-git-send-email-stefanha@redhat.com> Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH 0/3] throttle: use AioContext for dataplane support List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Stefan Hajnoczi Cc: Kevin Wolf , qemu-devel@nongnu.org The Wednesday 14 May 2014 =E0 16:22:44 (+0200), Stefan Hajnoczi wrote : > This series applies on top of my "dataplane: use QEMU block layer" seri= es. >=20 > Now that the dataplane code path is using the QEMU block layer we shoul= d make > I/O throttling limits safe to use. When the block_set_io_throttle moni= tor > command is executed, the BlockDriverState's AioContext must be acquired= in > order to prevent race conditions with the IOThread that is processing r= equests > from the guest. >=20 > The new block layer AioContext detach/attach mechanism needs to be exte= nded to > move the throttling timer to a new AioContext. This makes throttling w= ork > across bdrv_set_aio_context() calls. >=20 > The result of this series is that I/O throttling works with dataplane a= nd > limits may be changed at runtime using the monitor. >=20 > Stefan Hajnoczi (3): > throttle: add throttle_detach/attach_aio_context() > throttle: add detach/attach test case > blockdev: acquire AioContext in block_set_io_throttle >=20 > block.c | 7 +++++++ > blockdev.c | 6 ++++++ > include/qemu/throttle.h | 10 ++++++++++ > tests/test-throttle.c | 49 +++++++++++++++++++++++++++++++++++++++++= +++----- > util/throttle.c | 27 +++++++++++++++++++++++---- > 5 files changed, 90 insertions(+), 9 deletions(-) >=20 > --=20 > 1.9.0 >=20 As a side note the throttling code does eat some CPU time. So if people starts using throttling with dataplane by setting 50k iops a= s a limit the timers callback will start to kill half a core. The solution could be to optionaly make the throttling resolution coarser= . I have future plan to do this for SSD usage Best regards Beno=EEt