Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1760490AbcJ1MI1 (ORCPT ); Fri, 28 Oct 2016 08:08:27 -0400 Received: from mout.kundenserver.de ([212.227.126.135]:53958 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1760320AbcJ1MIQ (ORCPT ); Fri, 28 Oct 2016 08:08:16 -0400 From: Arnd Bergmann To: Ulf Hansson Cc: Jens Axboe , Paolo Valente , Christoph Hellwig , Bart Van Assche , Jan Kara , Tejun Heo , linux-block@vger.kernel.org, Linux-Kernal , Linus Walleij , Mark Brown , Hannes Reinecke , Grant Likely , James Bottomley Subject: Re: [PATCH 00/14] introduce the BFQ-v0 I/O scheduler as an extra scheduler Date: Fri, 28 Oct 2016 14:07:29 +0200 Message-ID: <14538128.U7izDYD32A@wuerfel> User-Agent: KMail/5.1.3 (Linux/4.4.0-34-generic; KDE/5.18.0; x86_64; ; ) In-Reply-To: References: <1477474082-2846-1-git-send-email-paolo.valente@linaro.org> <15ee2d0e-2d3a-81e2-9f83-f875e41bf388@kernel.dk> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Provags-ID: V03:K0:kDBx8eswPTPxoIXWOlM9DnXmmwkUenYe1m4FEK/q3VPUtIs0jt1 IMHfCiWEj1kmOcnEBf2f7lSvfKvVA2Lwkre6f+MQgXYLd3rgtyzRB/6swnFgRQivNQCE2TV ZnZxeWSX99/IP5GNHtVuoN4Q/ouIzZafJJO/rbTauuApNo8nAxagLfcSwjSsiZHYT2SxQJ9 od6xgbj5E4+huB55qQuAA== X-UI-Out-Filterresults: notjunk:1;V01:K0:2KYAp0VeGtc=:SneGLPqhsyPXuzurTMdSYO fKWHFEZYrr0+HhxFOymr+YC+vrG64lH6l8/1P/N5Q+ps/kggI63HDP8uGvPcAG9QD12P4qECy c4Llfo5UCv5+a1PGTjwzOvXfwJh51aOJ1cIMugtMWOEZbnbv6GkPyacQGWNEbgE3RaCn8Jcl9 O3CAoYcdC1w8wnUv/qcQr0mfQ+QJaKEYZAGqs/JxEvApfKNIIWPTy/ttY5p2EJOBHlPf7rSL0 bGVueLjQrdMhZTDBmh6iV8qxEBjAhwDdnGmEbrt3r/2pp2jh3zorHKAyuPyDRawX76DjQduof m+oXj2KE+h+ztMjPGhFCdcwJ7VPadFhNhcJKNmRMuBLe7NV0+RlvlvUcWrvpOy/5cxqkaxCu8 rXI4q9f+05jDPO2Px1MUocX8e4zgaTs+4VxoriNJ69SZdRQmdr2JKmveMAeRSdbQl28thYupv FVss8g5hhCsboBD8ySH66VHForvU7w8E3/2PRbZbrdCAGwAmQRqzJf+ADghVGF/d7c++BnZol pjE1i8lTud7gn/wDl13uzWFI2ocKH9prUWWFulsyTi7s3VMCPuLXKBKyUnhaqS8UtrYUdGPwd p3wZwIWiVt+RTCcwdFr1SqORY/hQK+nAAoKWDzcvlatoBccEaPjJgVGuSHG272gXp0/3sqqWm X6E07FNuYVKYp0BnjeaFG8dhfuBmlSLE3P1LGYMJ8UX8eVMi4feLBx/TTmBA0P5UyUl0BmCre o5eu0polVmXirviK Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2532 Lines: 80 On Thursday, October 27, 2016 8:13:08 PM CEST Ulf Hansson wrote: > On 27 October 2016 at 19:43, Jens Axboe wrote: > > On 10/27/2016 11:32 AM, Ulf Hansson wrote: > >> > >> [...] > >> > >>> > >>> I'm hesistant to add a new scheduler because it's very easy to add, very > >>> difficult to get rid of. If we do add BFQ as a legacy scheduler now, > >>> it'll take us years and years to get rid of it again. We should be > >>> moving towards LESS moving parts in the legacy path, not more. > >> > >> > >> Jens, I think you are wrong here and let me try to elaborate on why. > >> > >> 1) > >> We already have legacy schedulers like CFQ, DEADLINE, etc - and most > >> block device drivers are still using the legacy blk interface. > > > > > > I don't think that's an accurate statement. In terms of coverage, most > > drivers do support blk-mq. Anything SCSI, nvme, virtio-blk, SATA runs on > > (or can run on) top of blk-mq. > > Well, I just used "git grep" and found that many drivers didn't use > blkmq. Apologize if I gave the wrong impressions. To clarify, this seems to be a complete list: $ git grep -wl '\(__\|\)blk_\(fetch\|end\|start\)_request' | xargs grep -L blk_mq Documentation/scsi/scsi_eh.txt arch/um/drivers/ubd_kern.c block/blk-tag.c block/bsg-lib.c drivers/block/DAC960.c drivers/block/amiflop.c drivers/block/aoe/aoeblk.c drivers/block/aoe/aoecmd.c drivers/block/aoe/aoedev.c drivers/block/ataflop.c drivers/block/cciss.c drivers/block/floppy.c drivers/block/hd.c drivers/block/mg_disk.c drivers/block/osdblk.c drivers/block/paride/pcd.c drivers/block/paride/pd.c drivers/block/paride/pf.c drivers/block/ps3disk.c drivers/block/skd_main.c drivers/block/sunvdc.c drivers/block/swim.c drivers/block/swim3.c drivers/block/sx8.c drivers/block/xsysace.c drivers/block/z2ram.c drivers/cdrom/gdrom.c drivers/ide/ide-atapi.c drivers/ide/ide-io.c drivers/ide/ide-pm.c drivers/memstick/core/ms_block.c drivers/memstick/core/mspro_block.c drivers/mmc/card/block.c drivers/mmc/card/queue.c drivers/mtd/mtd_blkdevs.c drivers/s390/block/dasd.c drivers/s390/block/scm_blk.c drivers/sbus/char/jsflash.c drivers/scsi/osd/osd_initiator.c drivers/scsi/scsi_transport_fc.c drivers/scsi/scsi_transport_sas.c samples/bpf/tracex3_kern.c >From what I can tell, most of these are hopelessly obsolete, but there are some notable exceptions: aoe, osdblk, skd, sunvdc, mtdblk, mmc, dasd and scm. I've never used any of the first four, but the last four of the list are certainly important (for very different reasons). Arnd