From patchwork Wed Dec 20 11:38:30 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Valente X-Patchwork-Id: 122459 Delivered-To: patch@linaro.org Received: by 10.140.22.227 with SMTP id 90csp5452002qgn; Wed, 20 Dec 2017 03:39:25 -0800 (PST) X-Google-Smtp-Source: ACJfBosK7iygsLKY0K0jX08OEcp6jOi5ps/dgwesqgvpyBt9K4We3lR4yuaF1qF7mME9ChXeD0l5 X-Received: by 10.101.89.78 with SMTP id g14mr5986979pgu.29.1513769965277; Wed, 20 Dec 2017 03:39:25 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1513769965; cv=none; d=google.com; s=arc-20160816; b=R7bS15WdJ+XR0x6icjRwrMwE06sUmOflhvxc5N9K9Afca7vzIgRXAoWjrWHxEapgK/ liz70LqvYlKM6YtegFo4NSps+cDRn40yC47WR+CbXLhBfc2qjAxHpS0lEq5YZlWXWHuA yeKsZHqQM7sd4Nevvu951T9a3WisSgdWY19wNmKbhSE65Kpx8N+j+4SU799QMH3Nsom3 oLKtqnv+MqBFlmwj2UkWEZVSsoJ7MdygxSFkMelTIozgLGDy0ZrALFTCeDubmBqwzo5k tAeDHiKybO9b5qsYSqH7S06u5vUGIPrnjpE4zgzIa+pM/NWcHrykbZ0LYjnOWMXPR1Zx e/Hw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :dkim-signature:arc-authentication-results; bh=PEzww8IBAV7jVpOZLpctyyW3y6hhmg6vL/QTTYbGlDE=; b=pnZklWHi+d1mfjJOLwleCVGN4Jt0MJXjTQXZm9yvwwAJ3qoQPJolZvw85x/tEWquwj dHpZjwcpRk6yf6qgnwWrAz4chkL6rGhJ+tiYK6t9kgTp907GaBNQ7yo90xpVNXR8A8fv pGVcgOr4+h6Mm/tJcZuOF8t1MNdl4l8e8TbhilQdhVPoIxWuEgkUftmuo1CBy1Q7HYcc AjnALFuVAK8C0VRKNbaogMKSmJ0hY558ZZ301G2z7qZsivCU0ntqj6Vm//QnVz2iq33r 9Yy5O723bj0t9uHaINjndMrEnyZ3VLObaTajHNgiH96weir2PAuySwphZWVDWbjr0yjt 6ZwA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=WrdH+Kys; 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 n34si12680122pld.787.2017.12.20.03.39.25; Wed, 20 Dec 2017 03:39:25 -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=WrdH+Kys; 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 S1755223AbdLTLjV (ORCPT + 28 others); Wed, 20 Dec 2017 06:39:21 -0500 Received: from mail-wm0-f65.google.com ([74.125.82.65]:36387 "EHLO mail-wm0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755004AbdLTLjS (ORCPT ); Wed, 20 Dec 2017 06:39:18 -0500 Received: by mail-wm0-f65.google.com with SMTP id b76so9211230wmg.1 for ; Wed, 20 Dec 2017 03:39:18 -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; bh=PEzww8IBAV7jVpOZLpctyyW3y6hhmg6vL/QTTYbGlDE=; b=WrdH+KysT/aVQPNzp1l76zd977W3mRK7gZLXLzWrPkL3IhWQ4b43VCW+KzshGDkOiy 3BJEDW3dUSpNvtS0xWOmGjZB5oiulNqEW6l6YELEnas0669mEiYVtg13ynDyaifKDLVz MCSluQcwIYx2J/r5GGcSe8mfdNt5YQq91ohCw= 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; bh=PEzww8IBAV7jVpOZLpctyyW3y6hhmg6vL/QTTYbGlDE=; b=caLjVLBA5VlHT2zlvdwO8j4ylk4dVH0CuTnQz/pGxyNsA1EvdudnprKQvmBoGxhrS5 6BQgGGGK4jCClGueQnEUcBavMDimsJNePAKLe60Dw+EnlnqIThuaQEyv2xQEY78AK3So 4KhA++QNhcGColku+BYoFEJNRGbajy7d96UEr/MwtkJGenyZNpxp8MiM7rNrkOojrv3L /sqNnu9cSanjgdi32PY2xoR4O/D42rGzSC2oLbqa+0fiZGTAGmayECo4CK6rrvmTpbEl iW3JWWvQ7k+5zSV89s6ffgBGEG/GQW7inr8Ebx4OjHmJk0n3pFbd6+V6NYJASkoX+Nwy E+dQ== X-Gm-Message-State: AKGB3mJ8ecHb/8Z+BfwmA//+aZ8lCX2/T5vuuSX+SrNyPoNHsAHA9BRJ KRvw+y9KzgHlzwsf1/M6lhCx0g== X-Received: by 10.28.152.74 with SMTP id a71mr5928567wme.22.1513769957729; Wed, 20 Dec 2017 03:39:17 -0800 (PST) Received: from wifi-122_dhcprange-89.wifi.unimo.it (wifi-122_dhcprange-89.wifi.unimo.it. [155.185.122.89]) by smtp.gmail.com with ESMTPSA id o27sm9704436wro.9.2017.12.20.03.39.16 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 20 Dec 2017 03:39:16 -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, angeloruocco90@gmail.com, bfq-iosched@googlegroups.com, Paolo Valente Subject: [PATCH IMPROVEMENT/BUGFIX 0/4] remove start-up time outlier caused by wrong detection of cooperating processes Date: Wed, 20 Dec 2017 12:38:30 +0100 Message-Id: <20171220113834.2578-1-paolo.valente@linaro.org> X-Mailer: git-send-email 2.15.1 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, the main patch in this series ("block, bfq: let a queue be merged only shortly after starting I/O") eliminates an outlier in the application start-up time guaranteed by BFQ. This outlier occurs more or less frequently, as a function of the characteristics of the system, and is caused by a wrong detection of so-called cooperating processes (details in the commit message). This main patch is preceded by two patches that fix two bugs found while working on this problem. The patch is then followed by a further, optimization patch, that removes an operation made superfluous by the main patch. Jens, I've not forgotten our decision to make a patch that enables blkio stats (related to proportional-share policy) to not be enabled at boot, or when CFQ or BFQ modules are loaded. Just, we have already prepared the present patches, plus a few other patches for improving BFQ and fixing bugs, and I'd like to clear this backlog first. In this respect, after a patch for boosting throughput more reliably with cooperating processes, I'll send out a patch to solve an important read starvation problem. If I'm not making a blunder, this problem affects every I/O scheduler in blk-mq. As a first step, I'll propose a fix for BFQ. If the fix is ok, I'm willing to port it to the other schedulers. Thanks, Paolo Angelo Ruocco (2): block, bfq: check low_latency flag in bfq_bfqq_save_state() block, bfq: remove superfluous check in queue-merging setup Paolo Valente (2): block, bfq: add missing rq_pos_tree update on rq removal block, bfq: let a queue be merged only shortly after starting I/O block/bfq-iosched.c | 98 ++++++++++++++++++++++++++++++----------------------- block/bfq-iosched.h | 2 ++ block/bfq-wf2q.c | 4 +++ 3 files changed, 61 insertions(+), 43 deletions(-) -- 2.15.1