Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1759149AbcJ1PaN (ORCPT ); Fri, 28 Oct 2016 11:30:13 -0400 Received: from mail-yb0-f182.google.com ([209.85.213.182]:36148 "EHLO mail-yb0-f182.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756586AbcJ1PaL (ORCPT ); Fri, 28 Oct 2016 11:30:11 -0400 Subject: Re: [PATCH 00/14] introduce the BFQ-v0 I/O scheduler as an extra scheduler To: Linus Walleij References: <1477474082-2846-1-git-send-email-paolo.valente@linaro.org> <20161026113443.GA13587@quack2.suse.cz> <4ed3e291-b3e5-5ee3-6838-58644bd3d99b@sandisk.com> <12386463.fJy0cVexVD@wuerfel> <20161026152955.GA21262@infradead.org> <3ebadbb8-9ac2-851a-66f9-c9db25713695@kernel.dk> <38156FA7-9A66-44DC-8D0C-28F149D1E49B@linaro.org> <09fc1e06-3fd6-b13d-0dd9-0edfb55b01d1@kernel.dk> <15ee2d0e-2d3a-81e2-9f83-f875e41bf388@kernel.dk> <1ac9b794-7e7f-0748-e4c8-a13034aecbc3@kernel.dk> Cc: Ulf Hansson , Paolo Valente , Christoph Hellwig , Arnd Bergmann , Bart Van Assche , Jan Kara , Tejun Heo , linux-block@vger.kernel.org, Linux-Kernal , Mark Brown , Hannes Reinecke , Grant Likely , James Bottomley , Bartlomiej Zolnierkiewicz From: Jens Axboe Message-ID: <3d0b38bb-537d-94ff-574f-587bad949fdd@kernel.dk> Date: Fri, 28 Oct 2016 09:30:07 -0600 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.3.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 813 Lines: 19 On 10/28/2016 03:32 AM, Linus Walleij wrote: > The patch to enable MQ looks like this: > https://git.kernel.org/cgit/linux/kernel/git/linusw/linux-stericsson.git/commit/?h=mmc-mq&id=8f79b527e2e854071d8da019451da68d4753f71d BTW, another viable "hack" for the depth issue would be to expose more than one hardware queue. It's meant to map to a distinct submission region in the hardware, but there's nothing stopping the driver from using it differently. Might not be cleaner than just increasing the queue depth on a single queue, though. That still won't solve the issue of lying about it and causing IO scheduler confusion, of course. Also, 4.8 and newer have support for BLK_MQ_F_BLOCKING, if you need to block in ->queue_rq(). That could eliminate the need to offload to a kthread manually. -- Jens Axboe