From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:47737) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bHuwr-0004Pq-K1 for qemu-devel@nongnu.org; Tue, 28 Jun 2016 11:29:16 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bHuwo-00072M-Pr for qemu-devel@nongnu.org; Tue, 28 Jun 2016 11:29:12 -0400 Received: from mx0a-001b2d01.pphosted.com ([148.163.156.1]:5349) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bHuwo-00072G-GM for qemu-devel@nongnu.org; Tue, 28 Jun 2016 11:29:10 -0400 Received: from pps.filterd (m0098399.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.0.11/8.16.0.11) with SMTP id u5SFOOuM056524 for ; Tue, 28 Jun 2016 11:29:10 -0400 Received: from e06smtp16.uk.ibm.com (e06smtp16.uk.ibm.com [195.75.94.112]) by mx0a-001b2d01.pphosted.com with ESMTP id 23sp42pmwp-1 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=NOT) for ; Tue, 28 Jun 2016 11:29:09 -0400 Received: from localhost by e06smtp16.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Tue, 28 Jun 2016 16:29:04 +0100 From: Sascha Silbe Date: Tue, 28 Jun 2016 17:28:40 +0200 Message-Id: <1467127721-9564-1-git-send-email-silbe@linux.vnet.ibm.com> Subject: [Qemu-devel] [PATCH 0/1] Fix iotests race condition by fixing block job rate limiting List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-block@nongnu.org Cc: qemu-devel@nongnu.org, Max Reitz , Kevin Wolf , Jeff Cody qemu-iotests #141 is relying on the test being able to operate on a block job it just started before further progress is being made on this block job. This fails regularly on some hosts because the time slice is just 100ms and it often takes longer than that to start the additional processes required to trigger the operation. It's particularly easy to reproduce under 100% CPU load. I originally noticed and analysed this during 2.6 hard freeze. Eventually the legacy rate limiting code currently used by the block jobs will be replaced by the refactorings to use BlockBackends which have their own rate limiting implementation. There was some hope [1] this would land in 2.7, but since it's not in master yet (at least as of commit a01aef5d) I prepared an alternative fix that can go into 2.7. Sascha Silbe (1): Improve block job rate limiting for small bandwidth values block/commit.c | 13 +++++-------- block/mirror.c | 4 +++- block/stream.c | 12 ++++-------- include/qemu/ratelimit.h | 43 ++++++++++++++++++++++++++++++++++--------- 4 files changed, 46 insertions(+), 26 deletions(-) [1] mid:20160408123115.GH4700@noname.redhat.com "Re: [Qemu-devel] [Qemu-block] [PATCH 6/7] qemu-iotests: 141: reduce likelihood of race condition on systems with fast IO" by Kevin Wolf on 2016-04-08. -- 1.9.1