Received: by 2002:ac0:a582:0:0:0:0:0 with SMTP id m2-v6csp2243091imm; Wed, 3 Oct 2018 00:20:46 -0700 (PDT) X-Google-Smtp-Source: ACcGV63Y+alQuXYTdcEGkifyFrnCtD701L2sEuHAT4LsUiHai6vFDXP7CCq2Q+URx1vikirLITma X-Received: by 2002:a62:68c3:: with SMTP id d186-v6mr211198pfc.70.1538551246891; Wed, 03 Oct 2018 00:20:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1538551246; cv=none; d=google.com; s=arc-20160816; b=qG6dnbzkLDG3G7UsckS+S6FtmPvssxfkQQdpSljAIR9/+Z+Rn1ugmzUItVogkcbRTS GI0qwDciGR5fesBV3sMQnyntAU0ckBDaJhfXrjyox9h9ZdL6U7sE9OWjo4MPAajyJezS GrudutEaLNBaPaggjXWj8coa1Smo5AfytzcC+rqUvA8tgnDwXTtA8BEXNv/TATgAj6Pu /yYycOz/byDHJKVaG7svapc0IlIaq3Ez7vWgVXx/sKsU94VDgt3ploUgschGtbk1whpJ GN/M0z0fmo1wPI/T3iApXoaHRcgrTIYs/9hN4g+sfZswUS2WicO1CLssGX/QoG2FyFXy fNOw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=xIQSR79HpzKO9Jk+wfe5HSCY8E47uZn9+4M9QuVy/Pk=; b=YIwHG72caKV/9cd0Q+/1VbVug7bsuUGK3/tUAiPkdKurq6rEPr513+psTPG49rnT1j 4BYVxXU8NJzVwGCKO2l4P8qxXq04asRMyAiWjnyRqJzzJndWwbsb9gYomEd+fockeYnX Ekbh0OfxmUSnjwLGTZFM3v3Vs+tPGfPDQ1LRFT7bVSb4+61hLFlbHVxDhqUa2z3GcDWa YykbUWCuzK4lUD2cnnNhjzPNmSCEMgGEyIca9Gc0kuylFwF9kz1UsAZPBixI0MdqGkj2 X/r0aBK5N/ktsX9owwYSBWGY95s5yOCO0PA7WxerB5054OEp/gYXmU4ggXM3fF6GzRDd 0Ajw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=D+FMALWG; 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 w16-v6si613599pll.234.2018.10.03.00.20.31; Wed, 03 Oct 2018 00:20:46 -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=D+FMALWG; 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 S1726793AbeJCOF6 (ORCPT + 99 others); Wed, 3 Oct 2018 10:05:58 -0400 Received: from mail-it1-f194.google.com ([209.85.166.194]:39778 "EHLO mail-it1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726703AbeJCOF5 (ORCPT ); Wed, 3 Oct 2018 10:05:57 -0400 Received: by mail-it1-f194.google.com with SMTP id w200-v6so7408787itc.4 for ; Wed, 03 Oct 2018 00:18:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=xIQSR79HpzKO9Jk+wfe5HSCY8E47uZn9+4M9QuVy/Pk=; b=D+FMALWGalw4AH6LMJgmvUop11Kd3co3P6KD/C74+cb6UQZsSi8IKlo4dyzJ9kou1I yKe842j1Eo6uLybFDPZEzrLLtqAkyJBzSPauiAUv16j+dggAWTjJE5AGRhspGPkPChhk 4m3uYGXTsdUrj91LEqqAeExILyQgWZVrWXVhc= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=xIQSR79HpzKO9Jk+wfe5HSCY8E47uZn9+4M9QuVy/Pk=; b=HGsRdtHEZlmQjwgTleTBidhJggmCvp8vHZ0YT/fRqgwMFy5X4FaLrWzfL3Ckofy7wk fc2smznA3f0Imeq0tXSTf3dx0AgqwBVBB9TfNmpCsdkmy7KHrpWi2exinWqNyd/hQl10 Pz7+2qB6aDQeE20CIUTlPVgGn9Y3C4o1bG9P+6VKptq8JzRALriVGoh8OSFLtDRRvWsS w5DEuf5Rqv5r9iHG+riG2frK9tuZDVXxIAgN+ZWbgUsXXOnMgDff4JjYHi8RjnBJ8gjg gTzy9PIri3Ry4xvPxvXQi8Rybf4nK1Oz4U6pz0Tb9JWk4hUDo1bT+NE3HpIC6xBj/Wrq qzWw== X-Gm-Message-State: ABuFfohbjqnNE1flE7t4QjxNeuV1UiR9QhMOq6kPeokSZiNZnFIZyCeB Ben3Pipd7GxnHLU51WTbAtqqUUiBiTy1yR1TZ2rSTQ== X-Received: by 2002:a24:83c1:: with SMTP id d184-v6mr409928ite.16.1538551130031; Wed, 03 Oct 2018 00:18:50 -0700 (PDT) MIME-Version: 1.0 References: <20181002124329.21248-1-linus.walleij@linaro.org> <05fdbe23-ec01-895f-e67e-abff85c1ece2@kernel.dk> <1538550325.14984.108.camel@gmail.com> In-Reply-To: <1538550325.14984.108.camel@gmail.com> From: Linus Walleij Date: Wed, 3 Oct 2018 09:18:37 +0200 Message-ID: Subject: Re: [PATCH] block: BFQ default for single queue devices To: Artem Bityutskiy Cc: Paolo Valente , Jens Axboe , linux-block , linux-mmc , linux-mtd@lists.infradead.org, Pavel Machek , Ulf Hansson , Richard Weinberger , Adrian Hunter , Jan Kara , aherrmann@suse.com, mgorman@suse.com, Chunyan Zhang , "linux-kernel@vger.kernel.org" , bfq-iosched@googlegroups.com, oleksandr@natalenko.name, Mark Brown Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Oct 3, 2018 at 9:05 AM Artem Bityutskiy wrote: > On Wed, 2018-10-03 at 08:29 +0200, Paolo Valente wrote: > > So, I do understand your need for conservativeness, but, after so much > > evidence on single-queue devices, and so many years! :), what's the > > point in keeping Linux worse for virtually everybody, by default? > > Sounds like what we just need a mechanism for the device (ubi block in > this case) to select the I/O scheduler. I doubt enhancing the default > scheduler selection logic in 'elevator.c' is the right answer. Just > give the driver authority to override the defaults. This might be true in the wider sense (like for what scheduler to select for an NVME device with N channels) but $SUBJECT is just trying to select BFQ (if available) for devices with one and only one hardware queue. That is AFAICT the only reasonable choice for anything with just one hardware queue as things stand right now. I have a slight reservation for the weird outliers like loopdev, which has "one hardware queue" (.nr_hw_queues == 1) though this makes no sense at all. So I would like to know what people think about that. Maybe we should have .nr_queues and .nr_hw_queues where the former is the number of logical queues and the latter the actual number of hardware queues. Yours, Linus Walleij