From patchwork Tue Feb 7 17:24:42 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Valente X-Patchwork-Id: 93571 Delivered-To: patch@linaro.org Received: by 10.140.20.99 with SMTP id 90csp2301531qgi; Tue, 7 Feb 2017 09:25:05 -0800 (PST) X-Received: by 10.99.131.65 with SMTP id h62mr21898436pge.41.1486488305293; Tue, 07 Feb 2017 09:25:05 -0800 (PST) Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id v18si4640496pge.225.2017.02.07.09.25.05; Tue, 07 Feb 2017 09:25:05 -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; 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 S1755343AbdBGRZC (ORCPT + 25 others); Tue, 7 Feb 2017 12:25:02 -0500 Received: from mail-wr0-f179.google.com ([209.85.128.179]:36597 "EHLO mail-wr0-f179.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754020AbdBGRZA (ORCPT ); Tue, 7 Feb 2017 12:25:00 -0500 Received: by mail-wr0-f179.google.com with SMTP id k90so42392250wrc.3 for ; Tue, 07 Feb 2017 09:25:00 -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=hdIlgLNy9r/ZErgnUSRR/R1ifTli+2nT2bu5ea4FNEo=; b=GktiEx59RREib6h+fHYUt8eMUwBOWScBV0MA8lQa+vMhtIPqaKMxmFq4ycHdrWjkO2 5qzdTQIiaMmSOF1hV4nImSLgySDGjta1p4A4L3RHHwtZ+1iRTut0Elvo3H1rYkthMvoo H3yiKvu2UzTRv7FPUNoq4vVDLDtXsFasUF4TM= 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=hdIlgLNy9r/ZErgnUSRR/R1ifTli+2nT2bu5ea4FNEo=; b=Pj3tK9dMH1u/1T5+7FNOGzLLOye+6Xp3I/e00Z29ghlfZxUFv+um4IL2Ws0WaK0afk HAWeTMytyAUOP1lN4e+3idt2XXMujkVJtwTFnKKJYBfUjFiWppK/O5LH0hMwAm2MH3P9 G4lLRfLPsYFZzAjmF0Tnjgol6T1CrtJMNtozD7WHprE3uX3XNHDrFCS7jFfwuMBy98cR 8/sWI1yjX3FSF+X6F+s5WEPNRJkXQPHuSBytTnauzrIseHlzS9ZIMLS96guNtNR8FU+K M6mvflkc7r1rZ+1lkYYGVGegG7nWH/u3N4mdz3Qd87qmYLzXQzqtogp2dU/283AXHl1T KyJA== X-Gm-Message-State: AIkVDXJQ7ovoDfAbvDb5x+wPhx143Rv3eUUGxf4JHlQiLcUxITpngJji1qjQlGu18TfHgIBj X-Received: by 10.223.164.66 with SMTP id e2mr6552258wra.47.1486488299303; Tue, 07 Feb 2017 09:24:59 -0800 (PST) Received: from localhost.localdomain ([185.14.11.102]) by smtp.gmail.com with ESMTPSA id p7sm8384228wrc.34.2017.02.07.09.24.57 (version=TLS1 cipher=AES128-SHA bits=128/128); Tue, 07 Feb 2017 09:24:58 -0800 (PST) From: Paolo Valente To: Jens Axboe , Tejun Heo Cc: linux-block@vger.kernel.org, linux-kernel@vger.kernel.org, ulf.hansson@linaro.org, linus.walleij@linaro.org, broonie@kernel.org, Paolo Valente Subject: [WIP PATCHSET 0/4] WIP branch for bfq-mq Date: Tue, 7 Feb 2017 18:24:42 +0100 Message-Id: <20170207172446.4528-1-paolo.valente@linaro.org> X-Mailer: git-send-email 2.10.0 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, I have finally pushed here [1] the current WIP branch of bfq for blk-mq, which I have tentatively named bfq-mq. This branch *IS NOT* meant for merging into mainline and contain code that mau easily violate code style, and not only, in many places. Commits implement the following main steps: 1) Add the last version of bfq for blk 2) Clone bfq source files into identical bfq-mq source files 3) Modify bfq-mq files to get a working version of bfq for blk-mq (cgroups support not yet functional) In my intentions, the main goals of this branch are: 1) Show, as soon as I could, the changes I made to let bfq-mq comply with blk-mq-sched framework. I though this could be particularly useful for Jens, being BFQ identical to CFQ in terms of hook interfaces and io-context handling, and almost identical in terms request-merging. 2) Enable people to test this first version bfq-mq. Code is purposely overfull of log messages and invariant checks that halt the system on failure (lock assertions, BUG_ONs, ...). To make it easier to revise commits, I'm sending the patches that transform bfq into bfq-mq (last four patches in the branch [1]). They work on two files, bfq-mq-iosched.c and bfq-mq.h, which, at the beginning, are just copies of bfq-iosched.c and bfq.h. Thanks, Paolo [1] https://github.com/Algodev-github/bfq-mq Paolo Valente (4): blk-mq: pass bio to blk_mq_sched_get_rq_priv Move thinktime from bic to bfqq Embed bfq-ioc.c and add locking on request queue Modify interface and operation to comply with blk-mq-sched block/bfq-cgroup.c | 4 - block/bfq-mq-iosched.c | 852 +++++++++++++++++++++++++++++------------------ block/bfq-mq.h | 65 ++-- block/blk-mq-sched.c | 8 +- block/blk-mq-sched.h | 5 +- include/linux/elevator.h | 2 +- 6 files changed, 567 insertions(+), 369 deletions(-) -- 2.10.0