From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:49598) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VcOUt-0003ET-Ck for qemu-devel@nongnu.org; Fri, 01 Nov 2013 19:51:32 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VcOUk-0001OT-VE for qemu-devel@nongnu.org; Fri, 01 Nov 2013 19:51:23 -0400 Received: from mail-wg0-x22d.google.com ([2a00:1450:400c:c00::22d]:34519) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VcOEU-0005i4-AW for qemu-devel@nongnu.org; Fri, 01 Nov 2013 19:34:26 -0400 Received: by mail-wg0-f45.google.com with SMTP id z12so154337wgg.24 for ; Fri, 01 Nov 2013 16:34:25 -0700 (PDT) From: Matthias Brugger Date: Sat, 2 Nov 2013 00:34:07 +0100 Message-Id: <1383348847-14153-4-git-send-email-matthias.bgg@gmail.com> In-Reply-To: <1383348847-14153-1-git-send-email-matthias.bgg@gmail.com> References: <1383348847-14153-1-git-send-email-matthias.bgg@gmail.com> Subject: [Qemu-devel] [PATCH 3/3] Add workerthreads configuration option List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org, Paolo Bonzini , Stefan Hajnoczi , Kevin Wolf , Alex Bligh , malc , Liu Ping Fan , =?UTF-8?q?Andreas=20F=C3=A4rber?= , Anthony Liguori , Eduardo Habkost , Markus Armbruster , Michael Tokarev , Matthias Brugger , Stefan Weil , Luiz Capitulino This patch allows the definition which thread pool will be used by every block device. The defintion of the workerthreads option allows this at the command line level. At the moment only the thread pool implementation "pool" can be chosen. Signed-off-by: Matthias Brugger --- blockdev.c | 13 +++++++++++++ qemu-options.hx | 2 +- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/blockdev.c b/blockdev.c index b260477..8b83611 100644 --- a/blockdev.c +++ b/blockdev.c @@ -388,6 +388,15 @@ static DriveInfo *blockdev_init(QDict *bs_opts, } #endif + if ((buf = qemu_opt_get(opts, "workerthreads")) != NULL) { + if (!strcmp(buf, "pool")) { + /* this is the default */ + } else { + error_report("invalid workerthreads option"); + return NULL; + } + } + if ((buf = qemu_opt_get(opts, "format")) != NULL) { if (is_help_option(buf)) { error_printf("Supported formats:"); @@ -2269,6 +2278,10 @@ QemuOptsList qemu_common_drive_opts = { .type = QEMU_OPT_STRING, .help = "disk serial number", },{ + .name = "workerthreads", + .type = QEMU_OPT_STRING, + .help = "type of worker threads (pool)", + },{ .name = "rerror", .type = QEMU_OPT_STRING, .help = "read error action", diff --git a/qemu-options.hx b/qemu-options.hx index 5dc8b75..6f22242 100644 --- a/qemu-options.hx +++ b/qemu-options.hx @@ -408,7 +408,7 @@ DEF("drive", HAS_ARG, QEMU_OPTION_drive, " [,cyls=c,heads=h,secs=s[,trans=t]][,snapshot=on|off]\n" " [,cache=writethrough|writeback|none|directsync|unsafe][,format=f]\n" " [,serial=s][,addr=A][,id=name][,aio=threads|native]\n" - " [,readonly=on|off][,copy-on-read=on|off]\n" + " [,workerthreads=pool][,readonly=on|off][,copy-on-read=on|off]\n" " [[,bps=b]|[[,bps_rd=r][,bps_wr=w]]]\n" " [[,iops=i]|[[,iops_rd=r][,iops_wr=w]]]\n" " [[,bps_max=bm]|[[,bps_rd_max=rm][,bps_wr_max=wm]]]\n" -- 1.8.1.2