From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:38279) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Wka5I-0006ht-1Z for qemu-devel@nongnu.org; Wed, 14 May 2014 10:23:15 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Wka5B-0003h0-S5 for qemu-devel@nongnu.org; Wed, 14 May 2014 10:23:03 -0400 Received: from mx1.redhat.com ([209.132.183.28]:40285) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Wka5B-0003gq-Kt for qemu-devel@nongnu.org; Wed, 14 May 2014 10:22:57 -0400 From: Stefan Hajnoczi Date: Wed, 14 May 2014 16:22:44 +0200 Message-Id: <1400077367-23409-1-git-send-email-stefanha@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Subject: [Qemu-devel] [PATCH 0/3] throttle: use AioContext for dataplane support List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Kevin Wolf , =?UTF-8?q?Beno=C3=AEt=20Canet?= , Stefan Hajnoczi This series applies on top of my "dataplane: use QEMU block layer" series. Now that the dataplane code path is using the QEMU block layer we should make I/O throttling limits safe to use. When the block_set_io_throttle monitor command is executed, the BlockDriverState's AioContext must be acquired in order to prevent race conditions with the IOThread that is processing requests from the guest. The new block layer AioContext detach/attach mechanism needs to be extended to move the throttling timer to a new AioContext. This makes throttling work across bdrv_set_aio_context() calls. The result of this series is that I/O throttling works with dataplane and limits may be changed at runtime using the monitor. Stefan Hajnoczi (3): throttle: add throttle_detach/attach_aio_context() throttle: add detach/attach test case blockdev: acquire AioContext in block_set_io_throttle 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(-) -- 1.9.0