From patchwork Thu Feb 18 10:26:58 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alberto Garcia X-Patchwork-Id: 8348451 Return-Path: X-Original-To: patchwork-qemu-devel@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id CFEED9F38B for ; Thu, 18 Feb 2016 10:30:42 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 422F92037F for ; Thu, 18 Feb 2016 10:30:42 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 7C1E52037C for ; Thu, 18 Feb 2016 10:30:41 +0000 (UTC) Received: from localhost ([::1]:39653 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aWLr6-0006GG-TR for patchwork-qemu-devel@patchwork.kernel.org; Thu, 18 Feb 2016 05:30:40 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:55425) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aWLoo-0002Wv-6S for qemu-devel@nongnu.org; Thu, 18 Feb 2016 05:28:20 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aWLom-0006sq-Lf for qemu-devel@nongnu.org; Thu, 18 Feb 2016 05:28:18 -0500 Received: from smtp3.mundo-r.com ([212.51.32.191]:35752 helo=smtp4.mundo-r.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aWLom-0006sH-FV; Thu, 18 Feb 2016 05:28:16 -0500 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A2CbAwCPm8VW/5tjdVteGQEBAg8BAQKDCoE/pkYBAQQFAYEPkCqCEwENgWeGDQKBYDgUAQEBAQEBAWQnhEIBAQR5ED8SPBsZiB4Bu1MBAQgghUqCPYdHg24FlwWNWo5zjkceAQFCggIZFIE2aIkfAQEB X-IPAS-Result: A2CbAwCPm8VW/5tjdVteGQEBAg8BAQKDCoE/pkYBAQQFAYEPkCqCEwENgWeGDQKBYDgUAQEBAQEBAWQnhEIBAQR5ED8SPBsZiB4Bu1MBAQgghUqCPYdHg24FlwWNWo5zjkceAQFCggIZFIE2aIkfAQEB X-IronPort-AV: E=Sophos;i="5.22,464,1449529200"; d="scan'208";a="86269624" Received: from fanzine.igalia.com ([91.117.99.155]) by smtp4.mundo-r.com with ESMTP; 18 Feb 2016 11:27:37 +0100 Received: from dsl-hkibrasgw4-50df50-201.dhcp.inet.fi ([80.223.80.201] helo=perseus.local) by fanzine.igalia.com with esmtpsa (Cipher TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim) id 1aWLo8-0000iX-E2; Thu, 18 Feb 2016 11:27:36 +0100 Received: from berto by perseus.local with local (Exim 4.86) (envelope-from ) id 1aWLnv-0001ed-4P; Thu, 18 Feb 2016 12:27:23 +0200 From: Alberto Garcia To: qemu-devel@nongnu.org Date: Thu, 18 Feb 2016 12:26:58 +0200 Message-Id: <2f520130c53c3f7ece7e5a6a04e04c1ec0aef4bd.1455788710.git.berto@igalia.com> X-Mailer: git-send-email 2.7.0 In-Reply-To: References: In-Reply-To: References: X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 212.51.32.191 Cc: Kevin Wolf , Alberto Garcia , qemu-block@nongnu.org, Markus Armbruster , Max Reitz , Stefan Hajnoczi Subject: [Qemu-devel] [PATCH v2 05/17] throttle: Set always an average value when setting a maximum value X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP When testing the ranges of valid values, set_cfg_value() creates sometimes invalid throttling configurations by setting bucket.max while leaving bucket.avg uninitialized. While this doesn't break the current tests, it will as soon as we unify all functions that check the validity of the throttling configuration. This patch ensures that the value of bucket.avg is valid when setting bucket.max. Signed-off-by: Alberto Garcia Reviewed-by: Kevin Wolf Reviewed-by: Stefan Hajnoczi --- tests/test-throttle.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/test-throttle.c b/tests/test-throttle.c index 0e7c7e0..3e208a8 100644 --- a/tests/test-throttle.c +++ b/tests/test-throttle.c @@ -222,6 +222,8 @@ static void set_cfg_value(bool is_max, int index, int value) { if (is_max) { cfg.buckets[index].max = value; + /* If max is set, avg should never be 0 */ + cfg.buckets[index].avg = MAX(cfg.buckets[index].avg, 1); } else { cfg.buckets[index].avg = value; }