From mboxrd@z Thu Jan 1 00:00:00 1970 From: Johannes Thumshirn Subject: Re: [PATCH] block: BFQ default for single queue devices Date: Thu, 4 Oct 2018 09:45:35 +0200 Message-ID: <20181004074535.GB6682@linux-x5ow.site> References: <20181002124329.21248-1-linus.walleij@linaro.org> <05fdbe23-ec01-895f-e67e-abff85c1ece2@kernel.dk> <20181003132554.GC21043@quack2.suse.cz> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Return-path: Content-Disposition: inline In-Reply-To: <20181003132554.GC21043@quack2.suse.cz> Sender: linux-kernel-owner@vger.kernel.org To: Jan Kara Cc: Linus Walleij , Paolo Valente , aherrmann@suse.com, Jens Axboe , linux-block , linux-mmc , linux-mtd@lists.infradead.org, Pavel Machek , Ulf Hansson , Richard Weinberger , Artem Bityutskiy , Adrian Hunter , mgorman@suse.com, Chunyan Zhang , "linux-kernel@vger.kernel.org" , bfq-iosched@googlegroups.com, oleksandr@natalenko.name, Mark Brown List-Id: linux-mmc@vger.kernel.org On Wed, Oct 03, 2018 at 03:25:54PM +0200, Jan Kara wrote: > On Wed 03-10-18 08:53:37, Linus Walleij wrote: > > On Wed, Oct 3, 2018 at 8:29 AM 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? > > > > I understand if we need to ease things in as well, I don't intend this > > change for the current merge window or anything, since v4.19 > > will notably have this patch: > > > > commit d5038a13eca72fb216c07eb717169092e92284f1 > > Author: Johannes Thumshirn > > Date: Wed Jul 4 10:53:56 2018 +0200 > > > > scsi: core: switch to scsi-mq by default > > > > It has been more than one year since we tried to change the default from > > legacy to multi queue in SCSI with commit c279bd9e406 ("scsi: default to > > scsi-mq"). But due to issues with suspend/resume and performance problems > > it had been reverted again with commit cbe7dfa26eee ("Revert "scsi: default > > to scsi-mq""). > > > > In the meantime there have been a substantial amount of performance > > improvements and suspend/resume got fixed as well, thus we can re-enable > > scsi-mq without a significant performance penalty. > > > > Signed-off-by: Johannes Thumshirn > > Reviewed-by: Hannes Reinecke > > Reviewed-by: Ming Lei > > Acked-by: John Garry > > Signed-off-by: Martin K. Petersen > > > > I guess that patch can be a bit scary by itself. But IIUC it all went > > fine this time! > > > > But hey, if that works, that means $SUBJECT patch will enable BFQ on all > > libata devices and any SCSI that is single queue as well, not just > > "obscure" stuff like MMC/SD and UBI, and that is > > indeed a massive crowd of legacy devices. But we're talking > > v4.21 here. > > > > Johannes, you might be interested in $SUBJECT patch. > > It'd be nice to hear what SUSE people have to add, since they > > are pretty proactive in this area. > > So we do have a udev rules in our distro which sets the IO scheduler based > on device parameters (rotational at least, with blk-mq we might start > considering number of queues as well, plus we have some exceptions like > virtio, loop, etc.). So the kernel default doesn't concern us too much as a > distro. > > I personally would consider bfq a safer default for single-queue devices > (loop probably needs exception) but I don't feel too strongly about it. [Full quote for context] What about resurrecting CONFIG_DEFAULT_IOSCHED for MQ as well and leave it default to mq-deadline but give bfq, kyber and none as a choice as well? The question is shall we only do it for single queue devices or for native MQ devices as well if we go down that road? I understand the embedded floks will want a different interface than udev, but from the non-embedded point of view I'm with Jens and Jan here, let udev do the job. Johannes -- Johannes Thumshirn Storage jthumshirn@suse.de +49 911 74053 689 SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg GF: Felix Imendörffer, Jane Smithard, Graham Norton HRB 21284 (AG Nürnberg) Key fingerprint = EC38 9CAB C2C4 F25D 8600 D0D0 0393 969D 2D76 0850