From patchwork Sun Mar 10 18:11:37 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Valente X-Patchwork-Id: 160032 Delivered-To: patch@linaro.org Received: by 2002:a02:5cc1:0:0:0:0:0 with SMTP id w62csp11090234jad; Sun, 10 Mar 2019 11:12:40 -0700 (PDT) X-Google-Smtp-Source: APXvYqzgmVS6NCsETr23jV0EkSK3oFFKiAeDNyddYFIXoBvYy39yVKP5h9o23WEKBQkJJXjgJCs5 X-Received: by 2002:a17:902:76c7:: with SMTP id j7mr29249402plt.121.1552241560646; Sun, 10 Mar 2019 11:12:40 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1552241560; cv=none; d=google.com; s=arc-20160816; b=o+L5W7Xw5jCKxGZAfUf0C/rKDuEZJVdKriKCso0709fruG24jyQc97J4IEMiGVAHvA WVEOg6H5MpHahBgKO8fhXxUFdDWDbxsEDtMj5T+oV51u4eheqgybOLx0oFcFvrL92bsM OY4VkIYk5ugsXPU9Pr2n7Vp2JtKfr7mnm1bIjDxEa5egirdDimwhYpi6c9vdP2O2VLOy 2uySWs9vTZpaBqorX8i9kOLzQBrwNpUChVE11agL+gGqz6cMQDqLEWsjtctvGPqbxFon h7dpBmk6SxFf8kaZAVcJgq+TVkgpTdsSBOjxhQKygYHlig8LB/UfpWUZCG9CY+HwowjM qWwA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=aRWEDuQLWzp3URwu3pEoQcxfbAgAvx//BghTXCmLhvY=; b=CuJIvasZFRncOspchor4LjG+yf/+kRGRP8CED7j+Nd5PCZUH5xDILlfr/tcV19haTp ZkdOcyk3LvIodtLO5gQ+aA0/6013T4BdNHbN1/syB9gOOrX1+O6rVQgqPkhN/5XeKkQl S6HTj/2t7vi2XBD0p0DI9PObzgaGLP3IcIg+xdPTt3CQcZkvjaeVPIskMf+0eY1hYk5y V2Z6vf5GFAMOf6fd0z0Dsv75lk7WjIYJq82O6cbFOaRbxvixXp2aNMPnybx0x6sm20Ng Mn5rhrI9UZIM3j0Lo6TVVSwes6y475ilX5wHbhWowtHDqBnGE/m+6DO9dsiNPQ3tGibv /zCA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=DA9QbhuH; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id x1si3521239plb.245.2019.03.10.11.12.40; Sun, 10 Mar 2019 11:12:40 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=DA9QbhuH; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727002AbfCJSMi (ORCPT + 31 others); Sun, 10 Mar 2019 14:12:38 -0400 Received: from mail-wr1-f66.google.com ([209.85.221.66]:39524 "EHLO mail-wr1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726977AbfCJSMa (ORCPT ); Sun, 10 Mar 2019 14:12:30 -0400 Received: by mail-wr1-f66.google.com with SMTP id p8so1037006wrq.6 for ; Sun, 10 Mar 2019 11:12:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=aRWEDuQLWzp3URwu3pEoQcxfbAgAvx//BghTXCmLhvY=; b=DA9QbhuHoXNY65XygCjZRskU4pHXsZRtYwhMZ/ppKrLRY/cZUw5C4SP4NKHgtrnia7 L43N9yaqpHuWrBzOBfWEMHKaUwscw6PAOBAYRF4798nsZUPm8hoPSOZOES6zrjRFsWEZ GoM2YLMmYNNXIfu5pDkAR1BuFNWOpqwyL7E+AcVpqEmFCOcBNgfi2cbmn1eKhQM0HcT4 E1NSIMlbtPfDZrYq5fmyB6e7IvD+LnKiLIhX0PE3l6lZcAD5Nqnfe/KC0ysd22m0LNGG rSvxvu+j84rLlnC5+sRmeq/gu5qweWtxUiqQ71Q67WsH3+qPUEV/jysG1IoYUoXS4got VOYA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=aRWEDuQLWzp3URwu3pEoQcxfbAgAvx//BghTXCmLhvY=; b=C+PriE/6kfpXzp/D/nUhFehiVJcWFrBxxqvpY9NlWlnRRvmxKXBFDcCPGeku86UMAC US90l1TcYQ4pNLd0IgmI3+PdzdsvWSu1A14S5WCn18+cVZubGNAJkW/rOCZNwh7CzanZ 3MPHup/xSEIplgo4m9YeLV2IzG4P/kFVHGKfVKNsFsAKyqamgp7Rw8binrCyFTZNg0g2 ykG0NWpx2vdNFYk95e9uClNT7MWQy4ei6WlSlkqr7SgJOeUICdxAXY9+wICfmLWFysuF 88cBoZIiDtXdvzx3aGt3OzIDdUtaJWFVge7XETt8PS6LT8zvQZPPOsSDQjPQ0fwnj2Bw 8QvA== X-Gm-Message-State: APjAAAXGlfeWV7LmjgWo41SVbr9Jhaa1c3NDOgsL85Sh5sylcRF5gAnZ Mg5aT3pN5e5RUWbphlQS/1bHXw== X-Received: by 2002:adf:d84c:: with SMTP id k12mr8880621wrl.58.1552241548497; Sun, 10 Mar 2019 11:12:28 -0700 (PDT) Received: from localhost.localdomain (146-241-67-113.dyn.eolo.it. [146.241.67.113]) by smtp.gmail.com with ESMTPSA id d206sm24906368wmc.11.2019.03.10.11.12.26 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 10 Mar 2019 11:12:28 -0700 (PDT) From: Paolo Valente To: Jens Axboe Cc: linux-block@vger.kernel.org, linux-kernel@vger.kernel.org, ulf.hansson@linaro.org, linus.walleij@linaro.org, broonie@kernel.org, bfq-iosched@googlegroups.com, oleksandr@natalenko.name, fra.fra.800@gmail.com, alessio.masola@gmail.com, Paolo Valente Subject: [PATCH BUGFIX IMPROVEMENT V2 9/9] doc, block, bfq: add information on bfq execution time Date: Sun, 10 Mar 2019 19:11:37 +0100 Message-Id: <20190310181137.2604-10-paolo.valente@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190310181137.2604-1-paolo.valente@linaro.org> References: <20190310181137.2604-1-paolo.valente@linaro.org> MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The execution time of BFQ has been slightly lowered. Report the new execution time in BFQ documentation. Signed-off-by: Paolo Valente --- Documentation/block/bfq-iosched.txt | 29 ++++++++++++++++++++++------- 1 file changed, 22 insertions(+), 7 deletions(-) -- 2.20.1 diff --git a/Documentation/block/bfq-iosched.txt b/Documentation/block/bfq-iosched.txt index 98a8dd5ee385..1a0f2ac02eb6 100644 --- a/Documentation/block/bfq-iosched.txt +++ b/Documentation/block/bfq-iosched.txt @@ -20,13 +20,26 @@ for that device, by setting low_latency to 0. See Section 3 for details on how to configure BFQ for the desired tradeoff between latency and throughput, or on how to maximize throughput. -BFQ has a non-null overhead, which limits the maximum IOPS that a CPU -can process for a device scheduled with BFQ. To give an idea of the -limits on slow or average CPUs, here are, first, the limits of BFQ for -three different CPUs, on, respectively, an average laptop, an old -desktop, and a cheap embedded system, in case full hierarchical -support is enabled (i.e., CONFIG_BFQ_GROUP_IOSCHED is set), but -CONFIG_DEBUG_BLK_CGROUP is not set (Section 4-2): +As every I/O scheduler, BFQ adds some overhead to per-I/O-request +processing. To give an idea of this overhead, the total, +single-lock-protected, per-request processing time of BFQ---i.e., the +sum of the execution times of the request insertion, dispatch and +completion hooks---is, e.g., 1.9 us on an Intel Core i7-2760QM@2.40GHz +(dated CPU for notebooks; time measured with simple code +instrumentation, and using the throughput-sync.sh script of the S +suite [1], in performance-profiling mode). To put this result into +context, the total, single-lock-protected, per-request execution time +of the lightest I/O scheduler available in blk-mq, mq-deadline, is 0.7 +us (mq-deadline is ~800 LOC, against ~10500 LOC for BFQ). + +Scheduling overhead further limits the maximum IOPS that a CPU can +process (already limited by the execution of the rest of the I/O +stack). To give an idea of the limits with BFQ, on slow or average +CPUs, here are, first, the limits of BFQ for three different CPUs, on, +respectively, an average laptop, an old desktop, and a cheap embedded +system, in case full hierarchical support is enabled (i.e., +CONFIG_BFQ_GROUP_IOSCHED is set), but CONFIG_DEBUG_BLK_CGROUP is not +set (Section 4-2): - Intel i7-4850HQ: 400 KIOPS - AMD A8-3850: 250 KIOPS - ARM CortexTM-A53 Octa-core: 80 KIOPS @@ -566,3 +579,5 @@ applications. Unset this tunable if you need/want to control weights. Slightly extended version: http://algogroup.unimore.it/people/paolo/disk_sched/bfq-v1-suite- results.pdf + +[3] https://github.com/Algodev-github/S