From patchwork Tue Sep 17 16:51:47 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Valente X-Patchwork-Id: 173898 Delivered-To: patch@linaro.org Received: by 2002:a92:7e96:0:0:0:0:0 with SMTP id q22csp1374661ill; Tue, 17 Sep 2019 09:52:21 -0700 (PDT) X-Google-Smtp-Source: APXvYqxCYkX6wYwTIdc/Z3o9cdIRRPMMkqeW51QkC8V8sMEZjkfAww0ztiihvsiKU/r466tDx6Fn X-Received: by 2002:a17:906:4544:: with SMTP id s4mr5780997ejq.116.1568739141331; Tue, 17 Sep 2019 09:52:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1568739141; cv=none; d=google.com; s=arc-20160816; b=TBsehtVJB5CdmMOdt0IbXmACuSZS/o46ObhSO0CX1nvfDx7HFFXiJsIBhAeQr6JkYT 5mYFOoJ4VZF1B/Qk5A/WcoQCNsuJdVkhlDI/fHHRQpH8tUnmnyOEEIRpRhKEzrhMzq6U FRNy/bww137izASLIpbeHvkWCnzuiNbzI0NFwcsgoIBn87AnmFxVm8578tgGE7FQYlNF QpgHfdGdIj3wJQAD3lyI4WnQ/gOcZy6pP29fqaYUw/sR2FpgYWRqActFgW4Zz5rhlJNO ZfjI7HzuzD/W/oVPjYlMN2n6Bz5QFwgbzc/6xbbJoUlcV5LnPjY0N5HW0XMqxpIRDYcM 9rFQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=D17brve6b6KAv4fqOmqA3INLGXx33zG7oskk+r6jVO8=; b=hldNLYz6+rwZpU8BvOiGWWCFmMxwCYrJoLQZNuyQdLcQ8GchemymkZqiwwPsI63a+l 2Fz3VyWpAF3NnyVgur7TX/76vjAwkm3AFqkVn0qJ6wetKyLIsAaVOfjZZaDbZ/oUs1Z5 +bsJXMc9YfT8whmeHXhH0Yy1+Ng5v4yPv45qX1/m/jt6YKc1cXANeDU4VBnOMe80jvBR pHz4xCsBvSMQMjFaGrSluahO7an02Ws/aZJg0U4UlFYHUO1hPn6CQoGJCMk5yWQnhQPx EUuyMOSyBdmoPHKXAEeuGAtirwSxRt034KoNJkijBmhghB0Jt+uvD5zi+onp8eJQH0Hj /AVg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="hHiW8B/Q"; 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 u26si1726726edx.33.2019.09.17.09.52.21; Tue, 17 Sep 2019 09:52:21 -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="hHiW8B/Q"; 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 S1730650AbfIQQwO (ORCPT + 27 others); Tue, 17 Sep 2019 12:52:14 -0400 Received: from mail-wr1-f68.google.com ([209.85.221.68]:45827 "EHLO mail-wr1-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730621AbfIQQwM (ORCPT ); Tue, 17 Sep 2019 12:52:12 -0400 Received: by mail-wr1-f68.google.com with SMTP id r5so3884018wrm.12 for ; Tue, 17 Sep 2019 09:52:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=D17brve6b6KAv4fqOmqA3INLGXx33zG7oskk+r6jVO8=; b=hHiW8B/QKwHCS22NUzjtEbLG8SCk2S3zBzArHW2Q9oZ8//kdEgusup7MhqecS/2AEB yF6OG6N6oV+f1nDE1wDU+LMtO2czrB56uU2oRX6x+4hPmUxkl0a8vFBZpIoGa3xz48Uv +gc6kHj7G3csBtOnlLWFxsddt8gxaJQhJ3bdoqNriEauIH7KxJcvbFbPNHoEIqRaHXEu 28FafC+evdI7HfXnQMXvkY6ibAMw0fgvvunmPYKCljgkH2xkNdfJwwsxa+Mg3xnJ7p0P z+Zi669gBxRrsg5sUV9Qj5Be2Cxm7XPszByLZoicHHs242Qo8chu3PxPnKH9sEzlphSF EyoQ== 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=D17brve6b6KAv4fqOmqA3INLGXx33zG7oskk+r6jVO8=; b=WV57RO0t72k75VMDu/ZhHWtfskF4cDpHO6gsZcSsG+eaHPYI+CLo0v3oYthTXMRmNG J/ty3XIc+qzYalxwvc8FvteDc/6SqU2q2SBld0PMreB7tA00U9tOByXKfRK95D74bUcl JZoyG4yy9SqhTbMG152CrOCPzoj7brVpR6nb7vTuPP/sY2H231h2OJq+WBzWbZtJTEH0 CExBlHccWJMMiauOZgc9lgpT1dPfSb5JR+Qm1MXhj/UMML0GIJlHVPhFeQbnxso73byv +wymG0Lc8n0SMqTAG2bLCiU0ZM9X5DikO+wgLla1KT//YE8nRZo8NSWwijAblaO2z5j5 t8tg== X-Gm-Message-State: APjAAAVrqiO8PNpAOdcF/Ea+YzyYuVdGmWztGwKWNp1PYvoWhp7OAhUx CThU2/tSXgbNjTauLeQv2hf+T1LkhHQ= X-Received: by 2002:adf:9d84:: with SMTP id p4mr3668012wre.39.1568739129746; Tue, 17 Sep 2019 09:52:09 -0700 (PDT) Received: from localhost.localdomain (146-241-53-114.dyn.eolo.it. [146.241.53.114]) by smtp.gmail.com with ESMTPSA id g73sm4012378wme.10.2019.09.17.09.52.08 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 17 Sep 2019 09:52:09 -0700 (PDT) From: Paolo Valente To: Jens Axboe Cc: linux-block@vger.kernel.org, linux-kernel@vger.kernel.org, ulf.hansson@linaro.org, linus.walleij@linaro.org, bfq-iosched@googlegroups.com, oleksandr@natalenko.name, Tejun Heo , cgroups@vger.kernel.org, Paolo Valente Subject: [PATCH 1/2] blkcg: Make bfq disable iocost when enabled Date: Tue, 17 Sep 2019 18:51:47 +0200 Message-Id: <20190917165148.19146-2-paolo.valente@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190917165148.19146-1-paolo.valente@linaro.org> References: <20190917165148.19146-1-paolo.valente@linaro.org> MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Tejun Heo Both iocost and bfq implement weight based IO control. Currently, bfq is using io.bfq prefix but wants to drop the bfq part. To avoid interface conflict, make bfq disable iocost when it's selected as the IO scheduler for any block device on the system. iocost is only re-enabled when bfq is built as a module and unloaded. Signed-off-by: Tejun Heo Cc: Paolo Valente --- Documentation/admin-guide/cgroup-v2.rst | 8 ++++--- block/bfq-cgroup.c | 2 ++ block/bfq-iosched.c | 32 +++++++++++++++++++++++++ block/blk-iocost.c | 5 ++-- include/linux/blk-cgroup.h | 5 ++++ kernel/cgroup/cgroup.c | 2 ++ 6 files changed, 48 insertions(+), 6 deletions(-) -- 2.20.1 diff --git a/Documentation/admin-guide/cgroup-v2.rst b/Documentation/admin-guide/cgroup-v2.rst index 3deacdc5e6d2..d4d06a970f8a 100644 --- a/Documentation/admin-guide/cgroup-v2.rst +++ b/Documentation/admin-guide/cgroup-v2.rst @@ -1406,9 +1406,11 @@ IO The "io" controller regulates the distribution of IO resources. This controller implements both weight based and absolute bandwidth or IOPS -limit distribution; however, weight based distribution is available -only if cfq-iosched is in use and neither scheme is available for -blk-mq devices. +limit distribution. Weight based distribution is implemented by +either iocost controller or bfq IO scheduler. When bfq is selected as +the IO scheduler for any block device, iocost is disabled and bfq's +implementation overrides for all devices. If bfq is built as a kernel +module, unloading it re-enables iocost. IO Interface Files diff --git a/block/bfq-cgroup.c b/block/bfq-cgroup.c index 86a607cf19a1..decda96770f4 100644 --- a/block/bfq-cgroup.c +++ b/block/bfq-cgroup.c @@ -1194,7 +1194,9 @@ struct bfq_group *bfq_create_group_hierarchy(struct bfq_data *bfqd, int node) } struct blkcg_policy blkcg_policy_bfq = { +#ifndef CONFIG_BLK_CGROUP_IOCOST .dfl_cftypes = bfq_blkg_files, +#endif .legacy_cftypes = bfq_blkcg_legacy_files, .cpd_alloc_fn = bfq_cpd_alloc, diff --git a/block/bfq-iosched.c b/block/bfq-iosched.c index 0319d6339822..21d1b08610b1 100644 --- a/block/bfq-iosched.c +++ b/block/bfq-iosched.c @@ -6382,6 +6382,36 @@ static void bfq_init_root_group(struct bfq_group *root_group, root_group->sched_data.bfq_class_idle_last_service = jiffies; } +#if defined(CONFIG_BFQ_GROUP_IOSCHED) && defined(CONFIG_BLK_CGROUP_IOCOST) +static bool bfq_enabled = false; + +static void bfq_enable(void) +{ + static DEFINE_MUTEX(bfq_enable_mutex); + + mutex_lock(&bfq_enable_mutex); + if (!bfq_enabled) { + pr_info("bfq-iosched: Overriding iocost\n"); + blkcg_policy_unregister(&blkcg_policy_iocost); + cgroup_add_dfl_cftypes(&io_cgrp_subsys, bfq_blkg_files); + bfq_enabled = true; + } + mutex_unlock(&bfq_enable_mutex); +} + +static void __exit bfq_disable(void) +{ + if (bfq_enabled) { + pr_info("bfq-iosched: Restoring iocost\n"); + cgroup_rm_cftypes(bfq_blkg_files); + blkcg_policy_register(&blkcg_policy_iocost); + } +} +#else +static void bfq_enable(void) {} +static void __exit bfq_disable(void) {} +#endif + static int bfq_init_queue(struct request_queue *q, struct elevator_type *e) { struct bfq_data *bfqd; @@ -6506,6 +6536,7 @@ static int bfq_init_queue(struct request_queue *q, struct elevator_type *e) bfq_init_entity(&bfqd->oom_bfqq.entity, bfqd->root_group); wbt_disable_default(q); + bfq_enable(); return 0; out_free: @@ -6823,6 +6854,7 @@ static void __exit bfq_exit(void) blkcg_policy_unregister(&blkcg_policy_bfq); #endif bfq_slab_kill(); + bfq_disable(); } module_init(bfq_init); diff --git a/block/blk-iocost.c b/block/blk-iocost.c index 3b39deb8b9f8..1ef5b443c09a 100644 --- a/block/blk-iocost.c +++ b/block/blk-iocost.c @@ -605,8 +605,6 @@ static u32 vrate_adj_pct[] = 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 4, 4, 4, 4, 4, 4, 4, 8, 8, 8, 8, 8, 8, 8, 8, 16 }; -static struct blkcg_policy blkcg_policy_iocost; - /* accessors and helpers */ static struct ioc *rqos_to_ioc(struct rq_qos *rqos) { @@ -2434,7 +2432,7 @@ static struct cftype ioc_files[] = { {} }; -static struct blkcg_policy blkcg_policy_iocost = { +struct blkcg_policy blkcg_policy_iocost = { .dfl_cftypes = ioc_files, .cpd_alloc_fn = ioc_cpd_alloc, .cpd_free_fn = ioc_cpd_free, @@ -2442,6 +2440,7 @@ static struct blkcg_policy blkcg_policy_iocost = { .pd_init_fn = ioc_pd_init, .pd_free_fn = ioc_pd_free, }; +EXPORT_SYMBOL_GPL(blkcg_policy_iocost); static int __init ioc_init(void) { diff --git a/include/linux/blk-cgroup.h b/include/linux/blk-cgroup.h index bed9e43f9426..5669e3cfa1bc 100644 --- a/include/linux/blk-cgroup.h +++ b/include/linux/blk-cgroup.h @@ -815,6 +815,11 @@ static inline void blkcg_clear_delay(struct blkcg_gq *blkg) void blkcg_add_delay(struct blkcg_gq *blkg, u64 now, u64 delta); void blkcg_schedule_throttle(struct request_queue *q, bool use_memdelay); void blkcg_maybe_throttle_current(void); + +#ifdef CONFIG_BLK_CGROUP_IOCOST +extern struct blkcg_policy blkcg_policy_iocost; +#endif + #else /* CONFIG_BLK_CGROUP */ struct blkcg { diff --git a/kernel/cgroup/cgroup.c b/kernel/cgroup/cgroup.c index 8be1da1ebd9a..4d015328ebb0 100644 --- a/kernel/cgroup/cgroup.c +++ b/kernel/cgroup/cgroup.c @@ -4059,6 +4059,7 @@ int cgroup_rm_cftypes(struct cftype *cfts) mutex_unlock(&cgroup_mutex); return ret; } +EXPORT_SYMBOL_GPL(cgroup_rm_cftypes); /** * cgroup_add_cftypes - add an array of cftypes to a subsystem @@ -4115,6 +4116,7 @@ int cgroup_add_dfl_cftypes(struct cgroup_subsys *ss, struct cftype *cfts) cft->flags |= __CFTYPE_ONLY_ON_DFL; return cgroup_add_cftypes(ss, cfts); } +EXPORT_SYMBOL_GPL(cgroup_add_dfl_cftypes); /** * cgroup_add_legacy_cftypes - add an array of cftypes for legacy hierarchies From patchwork Tue Sep 17 16:51:48 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Valente X-Patchwork-Id: 173897 Delivered-To: patch@linaro.org Received: by 2002:a92:7e96:0:0:0:0:0 with SMTP id q22csp1374642ill; Tue, 17 Sep 2019 09:52:21 -0700 (PDT) X-Google-Smtp-Source: APXvYqzKE2zChLwtjEnyxCN0pJfwEJzijVoOQN3olybW3bO7tfLmQH10oeXYkJWaEfCMx9L0xghk X-Received: by 2002:a17:907:215a:: with SMTP id rk26mr5607831ejb.49.1568739140823; Tue, 17 Sep 2019 09:52:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1568739140; cv=none; d=google.com; s=arc-20160816; b=FPkhnpZvpQT1osLbThwi6eQEuoqmPLCEe3OiqLNrh9joywHGipm3yQaPf8op96MUbG +3X1gjvuIazCDpRe7fEcPLLTHzRASnuY55DTPe419HQsSdve9RUXK7CMOWjbyXXpkkv0 16+F/3St5Cp3ukhZKQaozzxaG95vQoaBzydUzfyTAw8IEUVX0SLuwQTNovtrV7ffKH9b aBXDahxevSoYv+HThQFMYzfxdvEfiNpVUeQIzReLjApaiyDPJR7Yr7EkNR/0sxvUkSpW OlK0iKyNq6jUymy/uQ4k3GuttncOBujcjO9s7RvZM8fXYd4C80Z45rfUuiNWVSG8aKd0 SaYA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=m+J/rjQ7AlBRxwCs9yj4yDSyroYuGLxSnx2uDbq0Vgs=; b=mOlgrDWcpZCWpyZW8aIlP8sC9j2e+TK1HvaACxZ/CIJmmQuuWjkeonOKYZUm54IeMz 8CSnTlYNeh+06Y/IXGZm4BatM479MW/2WNG7qfRtqMOMpFHEgENKaiIQLrXFB9GHRFwM y67AqsjuI+u6LPczKoQ2m0xw6pg7/Q3TcU3TKIy19gd4W7pwlwPcw3HSCBKa+x9KAGEn eV4wxV1bs6Etd6ucjq7esG/F1wNW1G4mKOHktqzwajY6SL+Hy0SPSbDdYF2MrT6oDF2o ROwrvoRD5Aw30Zx0eigyt9WzvCsUj7c8emH+aFN9pG1l6pZ8jOhND0B7yMtFm350kgwr uDQw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=NIMkC1zu; 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 u26si1726726edx.33.2019.09.17.09.52.20; Tue, 17 Sep 2019 09:52:20 -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=NIMkC1zu; 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 S1730662AbfIQQwQ (ORCPT + 27 others); Tue, 17 Sep 2019 12:52:16 -0400 Received: from mail-wr1-f66.google.com ([209.85.221.66]:39311 "EHLO mail-wr1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730634AbfIQQwM (ORCPT ); Tue, 17 Sep 2019 12:52:12 -0400 Received: by mail-wr1-f66.google.com with SMTP id r3so3938710wrj.6 for ; Tue, 17 Sep 2019 09:52:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=m+J/rjQ7AlBRxwCs9yj4yDSyroYuGLxSnx2uDbq0Vgs=; b=NIMkC1zuAvyYS8NTpNrszHN2uSRAxhYT9fS2+qIBtswRZK4SLEW4XJzAnwCc93arWP WHuwOpcUxjh0DCXXmVw4lVRysa9NGezH0rjUO4HXEKeWowzJOLyp3XH2tkz9sxBAQUDu HPTLA+os7YozSyrY7uRuF3OSeiwcThAV/8tMLFOSWZGB9zEXD99gcV5Yoz7j5JpzXlFN CURxpGmGrU4qcT+HHY9PoBXWK6jlHj7U4PUTyNd8PlUbX1/oveD+vbqXYPnV9cbjGx3O laTm6SwnvsIS/67azBwoKE29C+C0RzmPnjqh7jb9yaLzDSZzDGgnfhgLlb0lFHUYTib8 Jg/A== 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=m+J/rjQ7AlBRxwCs9yj4yDSyroYuGLxSnx2uDbq0Vgs=; b=GWmLLVyWB56Du7bSpGMXFYjT0Bk/kHOYcGeUkw3JAo6DXHI69neqcV1onhD/FHegUE 5S4tCJwwnRypOE4vH8we7fYXzOybEnJVhmHbbs+jG4Wi3Kwucj1ptGi3YRreNpPyCa7V +98pX/GIb2j0RPks2K8qG+dyiCg0CNJh5O/IIL2ys53NWEUiPYmocBl3hUxFYmsQWBFe 503KkqUBK5rrZeHphHRtFyz9wykBk1VjJCHxsADeYTrnlZS2ydbqp20ea7BdfJJtSJ3Z ZHr0H6D2PgeaBhJrMkM9o5DVbfciuW9jpKUTXl91CMRyKy23NuG24BDWw23H62/BamQo MWBw== X-Gm-Message-State: APjAAAXSYfqSYvcxboyako2+jOqdTMGRHUUImMaUZBgQiVibPvD9dZJj ZlBPWIN7zmjWeASVM434dWjK4g== X-Received: by 2002:a5d:4647:: with SMTP id j7mr3677399wrs.106.1568739130945; Tue, 17 Sep 2019 09:52:10 -0700 (PDT) Received: from localhost.localdomain (146-241-53-114.dyn.eolo.it. [146.241.53.114]) by smtp.gmail.com with ESMTPSA id g73sm4012378wme.10.2019.09.17.09.52.09 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 17 Sep 2019 09:52:10 -0700 (PDT) From: Paolo Valente To: Jens Axboe Cc: linux-block@vger.kernel.org, linux-kernel@vger.kernel.org, ulf.hansson@linaro.org, linus.walleij@linaro.org, bfq-iosched@googlegroups.com, oleksandr@natalenko.name, Tejun Heo , cgroups@vger.kernel.org, Angelo Ruocco , Paolo Valente Subject: [PATCH 2/2] block, bfq: delete "bfq" prefix from cgroup filenames Date: Tue, 17 Sep 2019 18:51:48 +0200 Message-Id: <20190917165148.19146-3-paolo.valente@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190917165148.19146-1-paolo.valente@linaro.org> References: <20190917165148.19146-1-paolo.valente@linaro.org> MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Angelo Ruocco When bfq was merged into mainline, there were two I/O schedulers that implemented the proportional-share policy: bfq for blk-mq and cfq for legacy blk. bfq's interface files in the blkio/io controller have the same names as cfq. But the cgroups interface doesn't allow two entities to use the same name for their files, so for bfq we had to prepend the "bfq" prefix to each of its files. However no legacy code uses these modified file names. This naming also causes confusion, as, e.g., in [1]. Now cfq has gone with legacy blk, so there is no need any longer for these prefixes in (the never used) bfq names. In view of this fact, this commit removes these prefixes, thereby enabling legacy code to truly use the proportional share policy in blk-mq. [1] https://github.com/systemd/systemd/issues/7057 Signed-off-by: Angelo Ruocco Signed-off-by: Paolo Valente --- block/bfq-cgroup.c | 46 +++++++++++++++++++++++----------------------- 1 file changed, 23 insertions(+), 23 deletions(-) -- 2.20.1 Reviewed-by: Chaitanya Kulkarni diff --git a/block/bfq-cgroup.c b/block/bfq-cgroup.c index decda96770f4..7f0160f5155f 100644 --- a/block/bfq-cgroup.c +++ b/block/bfq-cgroup.c @@ -1213,7 +1213,7 @@ struct blkcg_policy blkcg_policy_bfq = { struct cftype bfq_blkcg_legacy_files[] = { { - .name = "bfq.weight", + .name = "weight", .flags = CFTYPE_NOT_ON_ROOT, .seq_show = bfq_io_show_weight_legacy, .write_u64 = bfq_io_set_weight_legacy, @@ -1227,42 +1227,42 @@ struct cftype bfq_blkcg_legacy_files[] = { /* statistics, covers only the tasks in the bfqg */ { - .name = "bfq.io_service_bytes", + .name = "io_service_bytes", .private = (unsigned long)&blkcg_policy_bfq, .seq_show = blkg_print_stat_bytes, }, { - .name = "bfq.io_serviced", + .name = "io_serviced", .private = (unsigned long)&blkcg_policy_bfq, .seq_show = blkg_print_stat_ios, }, #ifdef CONFIG_BFQ_CGROUP_DEBUG { - .name = "bfq.time", + .name = "time", .private = offsetof(struct bfq_group, stats.time), .seq_show = bfqg_print_stat, }, { - .name = "bfq.sectors", + .name = "sectors", .seq_show = bfqg_print_stat_sectors, }, { - .name = "bfq.io_service_time", + .name = "io_service_time", .private = offsetof(struct bfq_group, stats.service_time), .seq_show = bfqg_print_rwstat, }, { - .name = "bfq.io_wait_time", + .name = "io_wait_time", .private = offsetof(struct bfq_group, stats.wait_time), .seq_show = bfqg_print_rwstat, }, { - .name = "bfq.io_merged", + .name = "io_merged", .private = offsetof(struct bfq_group, stats.merged), .seq_show = bfqg_print_rwstat, }, { - .name = "bfq.io_queued", + .name = "io_queued", .private = offsetof(struct bfq_group, stats.queued), .seq_show = bfqg_print_rwstat, }, @@ -1270,66 +1270,66 @@ struct cftype bfq_blkcg_legacy_files[] = { /* the same statistics which cover the bfqg and its descendants */ { - .name = "bfq.io_service_bytes_recursive", + .name = "io_service_bytes_recursive", .private = (unsigned long)&blkcg_policy_bfq, .seq_show = blkg_print_stat_bytes_recursive, }, { - .name = "bfq.io_serviced_recursive", + .name = "io_serviced_recursive", .private = (unsigned long)&blkcg_policy_bfq, .seq_show = blkg_print_stat_ios_recursive, }, #ifdef CONFIG_BFQ_CGROUP_DEBUG { - .name = "bfq.time_recursive", + .name = "time_recursive", .private = offsetof(struct bfq_group, stats.time), .seq_show = bfqg_print_stat_recursive, }, { - .name = "bfq.sectors_recursive", + .name = "sectors_recursive", .seq_show = bfqg_print_stat_sectors_recursive, }, { - .name = "bfq.io_service_time_recursive", + .name = "io_service_time_recursive", .private = offsetof(struct bfq_group, stats.service_time), .seq_show = bfqg_print_rwstat_recursive, }, { - .name = "bfq.io_wait_time_recursive", + .name = "io_wait_time_recursive", .private = offsetof(struct bfq_group, stats.wait_time), .seq_show = bfqg_print_rwstat_recursive, }, { - .name = "bfq.io_merged_recursive", + .name = "io_merged_recursive", .private = offsetof(struct bfq_group, stats.merged), .seq_show = bfqg_print_rwstat_recursive, }, { - .name = "bfq.io_queued_recursive", + .name = "io_queued_recursive", .private = offsetof(struct bfq_group, stats.queued), .seq_show = bfqg_print_rwstat_recursive, }, { - .name = "bfq.avg_queue_size", + .name = "avg_queue_size", .seq_show = bfqg_print_avg_queue_size, }, { - .name = "bfq.group_wait_time", + .name = "group_wait_time", .private = offsetof(struct bfq_group, stats.group_wait_time), .seq_show = bfqg_print_stat, }, { - .name = "bfq.idle_time", + .name = "idle_time", .private = offsetof(struct bfq_group, stats.idle_time), .seq_show = bfqg_print_stat, }, { - .name = "bfq.empty_time", + .name = "empty_time", .private = offsetof(struct bfq_group, stats.empty_time), .seq_show = bfqg_print_stat, }, { - .name = "bfq.dequeue", + .name = "dequeue", .private = offsetof(struct bfq_group, stats.dequeue), .seq_show = bfqg_print_stat, }, @@ -1339,7 +1339,7 @@ struct cftype bfq_blkcg_legacy_files[] = { struct cftype bfq_blkg_files[] = { { - .name = "bfq.weight", + .name = "weight", .flags = CFTYPE_NOT_ON_ROOT, .seq_show = bfq_io_show_weight, .write = bfq_io_set_weight,