From patchwork Tue Mar 12 08:59:35 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Valente X-Patchwork-Id: 160075 Delivered-To: patch@linaro.org Received: by 2002:a02:5cc1:0:0:0:0:0 with SMTP id w62csp12860867jad; Tue, 12 Mar 2019 02:00:27 -0700 (PDT) X-Google-Smtp-Source: APXvYqzwhUM21dlX821KoIYLJSfCkcYL579YL3B6ihyckJ3NLxKlXMcdMjYb5uFhHZr76FtqwTYj X-Received: by 2002:a17:902:8e8b:: with SMTP id bg11mr37515923plb.328.1552381227606; Tue, 12 Mar 2019 02:00:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1552381227; cv=none; d=google.com; s=arc-20160816; b=uVVRb7EBZ6kZKdQAGfRnNI8oiY15vkZYE1Kib9SsVD9Z9K+bzg6KR3DfjqoKOtH41y jH0zWA85aGb3xHwoEKuMzx1OuDDtnt9fvFHvPqey4Y2JHKLkqE0eQwzmWBoYs24kEQJq BWId2dXHq6gEN0+xNZUubBwI1jfpb4xc9E6b6ie/VmI+xnWaMOOB1MmCcxxbO4TZQAER vKt3cf+e5YttyX/cQQ3DpfTO2a5zaVzfz+YaBON8s/GYxVNHdZZZ1lCpIw1K49NyiMb+ WsGdtSLql74kapxvbH54exhSdz4E1A54cpIzE7JtfjFuh85ImCUl8KJ/X0YFWcMV9brK VVFA== 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=fcfDe0OAQl4bC5cqsgb20F3h+r9x96UwilI36BWkuka1hfsaUtlyh3mIgnwb4WXskZ 85s3g2MRlNxjEHOnh+eT49PyXrkf7pScZRA++BNOUodWAYwNsgiBK4je5YM6J3IkOb/W dWA2ZM0hMJQNxWyEOPGzBrmbcx+Q0y9kYfuFOTyjysZ6S1OFQeJdpS67nfOwKw4zVDsv QGpyhe+wT3eIzKHPkvqZyUS8pEjrMnpIft64DZAspXxuU4D4rEO7h18ZIIuNnFJa1bB6 PEnU1Q9qq8jw3hrag1k0ybU0Ijvoe2fdNlZbNkgLh0jUYRYB3GV9SfoX+XTguEFTHY9Q NQAA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="Ue6lNa/I"; 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 k7si7518379plt.198.2019.03.12.02.00.25; Tue, 12 Mar 2019 02:00:26 -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="Ue6lNa/I"; 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 S1727750AbfCLJAY (ORCPT + 31 others); Tue, 12 Mar 2019 05:00:24 -0400 Received: from mail-wm1-f68.google.com ([209.85.128.68]:55249 "EHLO mail-wm1-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727736AbfCLJAU (ORCPT ); Tue, 12 Mar 2019 05:00:20 -0400 Received: by mail-wm1-f68.google.com with SMTP id f3so1721658wmj.4 for ; Tue, 12 Mar 2019 02:00:19 -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=Ue6lNa/IGugqpb8G8XwSn8P7Ea14AkFs7WXIwTTyDArhtqfVLe0x3+HLZ1T0DZ8Eax bX96iBvYX9PsZ/0+POi5uuLv3jY2F6mBSw/KOYquh2SAh0cu6KOD70ebJOREmvaT84oZ sQbnWzznM8V3rUlztaVZXXoK5f0w5feFoxvisAda+4oE2oZOREV9NEhUbTQtarSNKwiL O03BotWBaW0vcvh+ZbkyfSo9RbUyadc1eZT2AubADPr8PJlYnV3xymmFJAfgk8slXdDP 4lBS0LHpSh1cEjLjI4YscAfY+e1V7MA1Ld3rURKRiBcKMjdg9JqMJOKGa83KTnZYHQPt Bh5A== 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=S52ZBSjsGzKZqZi3PdJRgEXBrnNsjbxP4+m4nondAd8N9F5Z62xcWzw25W+zaI+23v s2/RQACFTak15IGvo6X8AtVnafmS+jax5COCRatIuoyVIM7DcNfWu+lgzYlj6udEUSv5 qRn1pBuh/UBEZTMnS4cvVyTCcYU4w7ehriPHtO1DMgsxJNgOalNLlkmbFFZxPUUK//bq Jrc03pd0FQSX2kP9KdI9c0T6pwz4tgZkVEqEg4iUmcUHhOMXiVNgHjCpWdKs4yReeAgc 6WiCOclh7mTFt8oHs1HhuYMM98tKF743uP+4k9dq58Ox0m8/1U0kXS52u0uL08yQ706d hwkQ== X-Gm-Message-State: APjAAAX2MQsSZzPE5/2iXHgksIZCvrOtx9OGmhPMfR5DDwERBSvtTkW4 WwPw5HuTOZ1R6TU+c0rm5rTi6A== X-Received: by 2002:a7b:cb8e:: with SMTP id m14mr1444020wmi.64.1552381218249; Tue, 12 Mar 2019 02:00:18 -0700 (PDT) Received: from localhost.localdomain ([84.33.65.66]) by smtp.gmail.com with ESMTPSA id y20sm3953043wmi.34.2019.03.12.02.00.16 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 12 Mar 2019 02:00:17 -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, holger@applied-asynchrony.com, Paolo Valente Subject: [PATCH BUGFIX IMPROVEMENT V3 9/9] doc, block, bfq: add information on bfq execution time Date: Tue, 12 Mar 2019 09:59:35 +0100 Message-Id: <20190312085935.11340-10-paolo.valente@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190312085935.11340-1-paolo.valente@linaro.org> References: <20190312085935.11340-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