From patchwork Mon Nov 13 06:34:07 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Valente X-Patchwork-Id: 118713 Delivered-To: patch@linaro.org Received: by 10.140.22.164 with SMTP id 33csp1444837qgn; Sun, 12 Nov 2017 22:34:37 -0800 (PST) X-Google-Smtp-Source: AGs4zMZAiOsfiZbcWmGuuonvYjxjGrD4BM2xXP8VTfIIFxRmgICEfFrqLaBoX3wkQ2+4EUqkFTpF X-Received: by 10.159.203.197 with SMTP id r5mr7965736plo.431.1510554877704; Sun, 12 Nov 2017 22:34:37 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1510554877; cv=none; d=google.com; s=arc-20160816; b=NtS6tVxmivFhEVDEWKxO0z6pXNFMWMkLFOasxpQLoMSilHL+wb+GZ71+Af1Vx2KKK5 O1tEBKrGO9qwCLHgWt0ymzN8AH2nZM2YW0Wch/Mk0M+7iykHJE1/2Oyp2FXhhD2Aj7Gg Dee8ZTFEx3E2c5iplZBmZt80W6Fk8zjsOrz56aShkKFPwZ3kq6Uzkj3IYgU7/pBZXgzz P6T07adc1QUsZrFvun4bYiOSl2EDgynNdMuJndm7ir8920ClgaSx4KOPGO/Am28hYCVr 9UKCg4dqknPji+4FNdEhSUShLggiq53fzZeG25UFpcrRwCVGyzgbsvwURpc9xHrXYEkw Ib3Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:arc-authentication-results; bh=0C09xARCq5lRGObZ7ietUdh2leD6jSM28GjTpi/l40E=; b=z8rxpHPpbgyX8O9yvIMdBnCLVrYL+bEWLFidUgdIQCh9jqf5JEDZChj0QRQjyMoHbs pjsY37U21sitjtRmtjsOcQFWG2d9ELwkie9l7DlXBWHTW7TRWoSPSZVMhog3S8aOyXjc PB8VYFZmZisWRz02s8t+Lxo5IbYT2DRnV3abKumpQPhdxsvrzQb/+6rCJL9xT83fgCUA 7II/EmoGwKQhrrE/LUHJUyDRYyayCFkP/k6RxUjci6jAAnqpyXd2I8mn3CQeD0s4QQN8 fOvvzNJModvW1V4Q1IEEb+27SGyhQHOb7N6qvjMnwHwLW/i8dPvOAdKGYDID3ENHvKI2 fh6w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=ZR+Jg9sa; 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 h86si14813467pfj.24.2017.11.12.22.34.37; Sun, 12 Nov 2017 22:34:37 -0800 (PST) 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=ZR+Jg9sa; 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 S1751911AbdKMGef (ORCPT + 27 others); Mon, 13 Nov 2017 01:34:35 -0500 Received: from mail-wm0-f68.google.com ([74.125.82.68]:54324 "EHLO mail-wm0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751547AbdKMGeb (ORCPT ); Mon, 13 Nov 2017 01:34:31 -0500 Received: by mail-wm0-f68.google.com with SMTP id r68so12800636wmr.3 for ; Sun, 12 Nov 2017 22:34:31 -0800 (PST) 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; bh=0C09xARCq5lRGObZ7ietUdh2leD6jSM28GjTpi/l40E=; b=ZR+Jg9saLT8XW9jz8jxIz9lwIbKbX1DjVBVq1DBPcCKlkyiVI6PzrY9Cz+Pqpsr72e ny0yAWe2ZINLSMgh1s0uvxy5FihMNMr3N41yC41uwMRTPiERm88ZFA9IZ5xvbrGLwo7f lkSmBAeIwshVHFou0pa11o9VNSDM+YXbXENQo= 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; bh=0C09xARCq5lRGObZ7ietUdh2leD6jSM28GjTpi/l40E=; b=CjaJnONrtkteTygnaml+4ge/TuTLH76XiVrMpS5p/e2DXLHAMJtcQ20Tkg7QeYZJqT xdF4oanpwGxDS1rFsBaBSfnwQTKADVPd+o8i5Nz/O/ne+YS+Rs7+1iO/pw0ggrGaRe4d 8BUeTBWWPCgfnSYnPbcTWGdT8DnB4XUfTFRCjKb44ZhGi9ERxRJ9ccr4L1snE+XgICcb uxj7vqgAGPtEHjsF0GES255ib5FiuVClI4m4xoxC8iY8OP3r9TZqqkM9ziHjw5I2zCEL vf9H1G5ZWx+jtmawzuuetX8HEtbvvbc45ceSA+R64QdBolVbAD+mLGqT8U30KhvXDOU6 rc3w== X-Gm-Message-State: AJaThX5y4CqO8xXGAwZ6gm46y+lJRsifS5XX+4bRMkfYicgK06pubOAb 0aOZp5CDYELW/P01QK8L7LNcag== X-Received: by 10.28.6.6 with SMTP id 6mr5688560wmg.114.1510554870302; Sun, 12 Nov 2017 22:34:30 -0800 (PST) Received: from localhost.localdomain ([5.169.167.83]) by smtp.gmail.com with ESMTPSA id 10sm11158429wml.27.2017.11.12.22.34.28 (version=TLS1 cipher=AES128-SHA bits=128/128); Sun, 12 Nov 2017 22:34:29 -0800 (PST) From: Paolo Valente To: Jens Axboe Cc: linux-block@vger.kernel.org, linux-kernel@vger.kernel.org, ulf.hansson@linaro.org, broonie@kernel.org, linus.walleij@linaro.org, lee.tibbert@gmail.com, oleksandr@natalenko.name, lucmiccio@gmail.com, bfq-iosched@googlegroups.com, Paolo Valente Subject: [PATCH BUGFIX/IMPROVEMENT 1/4] doc, block, bfq: update max IOPS sustainable with BFQ Date: Mon, 13 Nov 2017 07:34:07 +0100 Message-Id: <20171113063410.3029-2-paolo.valente@linaro.org> X-Mailer: git-send-email 2.10.0 In-Reply-To: <20171113063410.3029-1-paolo.valente@linaro.org> References: <20171113063410.3029-1-paolo.valente@linaro.org> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org We have investigated more deeply the performance of BFQ, in terms of number of IOPS that can be processed by the CPU when BFQ is used as I/O scheduler. In more detail, using the script [1], we have measured the number of IOPS reached on top of a null block device configured with zero latency, as a function of the workload (sequential read, sequential write, random read, random write) and of the system (we considered desktops, laptops and embedded systems). Basing on the resulting figures, with this commit we update the current, conservative IOPS range reported in BFQ documentation. In particular, the documentation now reports, for each of three different systems, the lowest number of IOPS obtained for that system with the above test (namely, the value obtained with the workload leading to the lowest IOPS). [1] https://github.com/Algodev-github/IOSpeed Reviewed-by: Lee Tibbert Signed-off-by: Paolo Valente Signed-off-by: Luca Miccio --- Documentation/block/bfq-iosched.txt | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) -- 2.10.0 diff --git a/Documentation/block/bfq-iosched.txt b/Documentation/block/bfq-iosched.txt index 3d6951d..7a93615 100644 --- a/Documentation/block/bfq-iosched.txt +++ b/Documentation/block/bfq-iosched.txt @@ -20,12 +20,17 @@ 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. -On average CPUs, the current version of BFQ can handle devices -performing at most ~30K IOPS; at most ~50 KIOPS on faster CPUs. As a -reference, 30-50 KIOPS correspond to very high bandwidths with -sequential I/O (e.g., 8-12 GB/s if I/O requests are 256 KB large), and -to 120-200 MB/s with 4KB random I/O. BFQ is currently being tested on -multi-queue devices too. +BFQ has a non-null overhead, which limits the maximum IOPS that the +CPU can process for a device scheduled with BFQ. To give an idea of +the limits on slow or average CPUs, here are BFQ limits 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): +- Intel i7-4850HQ: 250 KIOPS +- AMD A8-3850: 170 KIOPS +- ARM CortexTM-A53 Octa-core: 45 KIOPS + +BFQ works for multi-queue devices too. The table of contents follow. Impatients can just jump to Section 3.