From: Christoph Hellwig <hch@lst.de> To: Jens Axboe <axboe@kernel.dk>, Tejun Heo <tj@kernel.org>, Josef Bacik <josef@toxicpanda.com> Cc: linux-block@vger.kernel.org, cgroups@vger.kernel.org, Andreas Herrmann <aherrmann@suse.de> Subject: [PATCH 08/19] blk-wbt: pass a gendisk to wbt_{enable,disable}_default Date: Wed, 1 Feb 2023 14:41:12 +0100 [thread overview] Message-ID: <20230201134123.2656505-9-hch@lst.de> (raw) In-Reply-To: <20230201134123.2656505-1-hch@lst.de> Pass a gendisk to wbt_enable_default and wbt_disable_default to prepare for phasing out usage of the request_queue in the blk-cgroup code. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Andreas Herrmann <aherrmann@suse.de> --- block/bfq-iosched.c | 4 ++-- block/blk-iocost.c | 4 ++-- block/blk-sysfs.c | 2 +- block/blk-wbt.c | 7 ++++--- block/blk-wbt.h | 8 ++++---- 5 files changed, 13 insertions(+), 12 deletions(-) diff --git a/block/bfq-iosched.c b/block/bfq-iosched.c index 4705c4be90e721..5afa661fa2ea4c 100644 --- a/block/bfq-iosched.c +++ b/block/bfq-iosched.c @@ -7156,7 +7156,7 @@ static void bfq_exit_queue(struct elevator_queue *e) blk_stat_disable_accounting(bfqd->queue); clear_bit(ELEVATOR_FLAG_DISABLE_WBT, &e->flags); - wbt_enable_default(bfqd->queue); + wbt_enable_default(bfqd->queue->disk); kfree(bfqd); } @@ -7344,7 +7344,7 @@ static int bfq_init_queue(struct request_queue *q, struct elevator_type *e) blk_queue_flag_set(QUEUE_FLAG_SQ_SCHED, q); set_bit(ELEVATOR_FLAG_DISABLE_WBT, &eq->flags); - wbt_disable_default(q); + wbt_disable_default(q->disk); blk_stat_enable_accounting(q); return 0; diff --git a/block/blk-iocost.c b/block/blk-iocost.c index a2b4e7146be5f1..dbb93f4f68d979 100644 --- a/block/blk-iocost.c +++ b/block/blk-iocost.c @@ -3285,11 +3285,11 @@ static ssize_t ioc_qos_write(struct kernfs_open_file *of, char *input, blk_stat_enable_accounting(disk->queue); blk_queue_flag_set(QUEUE_FLAG_RQ_ALLOC_TIME, disk->queue); ioc->enabled = true; - wbt_disable_default(disk->queue); + wbt_disable_default(disk); } else { blk_queue_flag_clear(QUEUE_FLAG_RQ_ALLOC_TIME, disk->queue); ioc->enabled = false; - wbt_enable_default(disk->queue); + wbt_enable_default(disk); } if (user) { diff --git a/block/blk-sysfs.c b/block/blk-sysfs.c index 5486b6c57f6b8a..2074103865f45b 100644 --- a/block/blk-sysfs.c +++ b/block/blk-sysfs.c @@ -826,7 +826,7 @@ int blk_register_queue(struct gendisk *disk) goto out_elv_unregister; blk_queue_flag_set(QUEUE_FLAG_REGISTERED, q); - wbt_enable_default(q); + wbt_enable_default(disk); blk_throtl_register(disk); /* Now everything is ready and send out KOBJ_ADD uevent */ diff --git a/block/blk-wbt.c b/block/blk-wbt.c index 68a774d7a7c9c0..8f9302134339c5 100644 --- a/block/blk-wbt.c +++ b/block/blk-wbt.c @@ -650,8 +650,9 @@ void wbt_set_write_cache(struct request_queue *q, bool write_cache_on) /* * Enable wbt if defaults are configured that way */ -void wbt_enable_default(struct request_queue *q) +void wbt_enable_default(struct gendisk *disk) { + struct request_queue *q = disk->queue; struct rq_qos *rqos; bool disable_flag = q->elevator && test_bit(ELEVATOR_FLAG_DISABLE_WBT, &q->elevator->flags); @@ -718,9 +719,9 @@ static void wbt_exit(struct rq_qos *rqos) /* * Disable wbt, if enabled by default. */ -void wbt_disable_default(struct request_queue *q) +void wbt_disable_default(struct gendisk *disk) { - struct rq_qos *rqos = wbt_rq_qos(q); + struct rq_qos *rqos = wbt_rq_qos(disk->queue); struct rq_wb *rwb; if (!rqos) return; diff --git a/block/blk-wbt.h b/block/blk-wbt.h index e3ea6e7e290076..7ab1cba55c25f7 100644 --- a/block/blk-wbt.h +++ b/block/blk-wbt.h @@ -91,8 +91,8 @@ static inline unsigned int wbt_inflight(struct rq_wb *rwb) #ifdef CONFIG_BLK_WBT int wbt_init(struct request_queue *); -void wbt_disable_default(struct request_queue *); -void wbt_enable_default(struct request_queue *); +void wbt_disable_default(struct gendisk *disk); +void wbt_enable_default(struct gendisk *disk); u64 wbt_get_min_lat(struct request_queue *q); void wbt_set_min_lat(struct request_queue *q, u64 val); @@ -108,10 +108,10 @@ static inline int wbt_init(struct request_queue *q) { return -EINVAL; } -static inline void wbt_disable_default(struct request_queue *q) +static inline void wbt_disable_default(struct gendisk *disk) { } -static inline void wbt_enable_default(struct request_queue *q) +static inline void wbt_enable_default(struct gendisk *disk) { } static inline void wbt_set_write_cache(struct request_queue *q, bool wc) -- 2.39.0
WARNING: multiple messages have this Message-ID (diff)
From: Christoph Hellwig <hch-jcswGhMUV9g@public.gmane.org> To: Jens Axboe <axboe-tSWWG44O7X1aa/9Udqfwiw@public.gmane.org>, Tejun Heo <tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>, Josef Bacik <josef-DigfWCa+lFGyeJad7bwFQA@public.gmane.org> Cc: linux-block-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Andreas Herrmann <aherrmann-l3A5Bk7waGM@public.gmane.org> Subject: [PATCH 08/19] blk-wbt: pass a gendisk to wbt_{enable,disable}_default Date: Wed, 1 Feb 2023 14:41:12 +0100 [thread overview] Message-ID: <20230201134123.2656505-9-hch@lst.de> (raw) In-Reply-To: <20230201134123.2656505-1-hch-jcswGhMUV9g@public.gmane.org> Pass a gendisk to wbt_enable_default and wbt_disable_default to prepare for phasing out usage of the request_queue in the blk-cgroup code. Signed-off-by: Christoph Hellwig <hch-jcswGhMUV9g@public.gmane.org> Reviewed-by: Andreas Herrmann <aherrmann-l3A5Bk7waGM@public.gmane.org> --- block/bfq-iosched.c | 4 ++-- block/blk-iocost.c | 4 ++-- block/blk-sysfs.c | 2 +- block/blk-wbt.c | 7 ++++--- block/blk-wbt.h | 8 ++++---- 5 files changed, 13 insertions(+), 12 deletions(-) diff --git a/block/bfq-iosched.c b/block/bfq-iosched.c index 4705c4be90e721..5afa661fa2ea4c 100644 --- a/block/bfq-iosched.c +++ b/block/bfq-iosched.c @@ -7156,7 +7156,7 @@ static void bfq_exit_queue(struct elevator_queue *e) blk_stat_disable_accounting(bfqd->queue); clear_bit(ELEVATOR_FLAG_DISABLE_WBT, &e->flags); - wbt_enable_default(bfqd->queue); + wbt_enable_default(bfqd->queue->disk); kfree(bfqd); } @@ -7344,7 +7344,7 @@ static int bfq_init_queue(struct request_queue *q, struct elevator_type *e) blk_queue_flag_set(QUEUE_FLAG_SQ_SCHED, q); set_bit(ELEVATOR_FLAG_DISABLE_WBT, &eq->flags); - wbt_disable_default(q); + wbt_disable_default(q->disk); blk_stat_enable_accounting(q); return 0; diff --git a/block/blk-iocost.c b/block/blk-iocost.c index a2b4e7146be5f1..dbb93f4f68d979 100644 --- a/block/blk-iocost.c +++ b/block/blk-iocost.c @@ -3285,11 +3285,11 @@ static ssize_t ioc_qos_write(struct kernfs_open_file *of, char *input, blk_stat_enable_accounting(disk->queue); blk_queue_flag_set(QUEUE_FLAG_RQ_ALLOC_TIME, disk->queue); ioc->enabled = true; - wbt_disable_default(disk->queue); + wbt_disable_default(disk); } else { blk_queue_flag_clear(QUEUE_FLAG_RQ_ALLOC_TIME, disk->queue); ioc->enabled = false; - wbt_enable_default(disk->queue); + wbt_enable_default(disk); } if (user) { diff --git a/block/blk-sysfs.c b/block/blk-sysfs.c index 5486b6c57f6b8a..2074103865f45b 100644 --- a/block/blk-sysfs.c +++ b/block/blk-sysfs.c @@ -826,7 +826,7 @@ int blk_register_queue(struct gendisk *disk) goto out_elv_unregister; blk_queue_flag_set(QUEUE_FLAG_REGISTERED, q); - wbt_enable_default(q); + wbt_enable_default(disk); blk_throtl_register(disk); /* Now everything is ready and send out KOBJ_ADD uevent */ diff --git a/block/blk-wbt.c b/block/blk-wbt.c index 68a774d7a7c9c0..8f9302134339c5 100644 --- a/block/blk-wbt.c +++ b/block/blk-wbt.c @@ -650,8 +650,9 @@ void wbt_set_write_cache(struct request_queue *q, bool write_cache_on) /* * Enable wbt if defaults are configured that way */ -void wbt_enable_default(struct request_queue *q) +void wbt_enable_default(struct gendisk *disk) { + struct request_queue *q = disk->queue; struct rq_qos *rqos; bool disable_flag = q->elevator && test_bit(ELEVATOR_FLAG_DISABLE_WBT, &q->elevator->flags); @@ -718,9 +719,9 @@ static void wbt_exit(struct rq_qos *rqos) /* * Disable wbt, if enabled by default. */ -void wbt_disable_default(struct request_queue *q) +void wbt_disable_default(struct gendisk *disk) { - struct rq_qos *rqos = wbt_rq_qos(q); + struct rq_qos *rqos = wbt_rq_qos(disk->queue); struct rq_wb *rwb; if (!rqos) return; diff --git a/block/blk-wbt.h b/block/blk-wbt.h index e3ea6e7e290076..7ab1cba55c25f7 100644 --- a/block/blk-wbt.h +++ b/block/blk-wbt.h @@ -91,8 +91,8 @@ static inline unsigned int wbt_inflight(struct rq_wb *rwb) #ifdef CONFIG_BLK_WBT int wbt_init(struct request_queue *); -void wbt_disable_default(struct request_queue *); -void wbt_enable_default(struct request_queue *); +void wbt_disable_default(struct gendisk *disk); +void wbt_enable_default(struct gendisk *disk); u64 wbt_get_min_lat(struct request_queue *q); void wbt_set_min_lat(struct request_queue *q, u64 val); @@ -108,10 +108,10 @@ static inline int wbt_init(struct request_queue *q) { return -EINVAL; } -static inline void wbt_disable_default(struct request_queue *q) +static inline void wbt_disable_default(struct gendisk *disk) { } -static inline void wbt_enable_default(struct request_queue *q) +static inline void wbt_enable_default(struct gendisk *disk) { } static inline void wbt_set_write_cache(struct request_queue *q, bool wc) -- 2.39.0
next prev parent reply other threads:[~2023-02-01 13:41 UTC|newest] Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top 2023-02-01 13:41 switch blk-cgroup to work on gendisk v3 Christoph Hellwig 2023-02-01 13:41 ` Christoph Hellwig 2023-02-01 13:41 ` [PATCH 01/19] block: don't call blk_throtl_stat_add for non-READ/WRITE commands Christoph Hellwig 2023-02-01 13:41 ` Christoph Hellwig 2023-02-01 13:41 ` [PATCH 02/19] blk-cgroup: delay blk-cgroup initialization until add_disk Christoph Hellwig 2023-02-01 13:41 ` Christoph Hellwig 2023-02-03 0:08 ` Tejun Heo 2023-02-03 0:08 ` Tejun Heo 2023-02-07 14:40 ` Ming Lei 2023-02-08 6:35 ` Christoph Hellwig 2023-02-08 6:35 ` Christoph Hellwig 2023-02-08 7:32 ` Ming Lei 2023-02-08 7:32 ` Ming Lei 2023-02-01 13:41 ` [PATCH 03/19] blk-cgroup: improve error unwinding in blkg_alloc Christoph Hellwig 2023-02-01 13:41 ` Christoph Hellwig 2023-02-03 0:10 ` Tejun Heo 2023-02-03 0:10 ` Tejun Heo 2023-02-03 8:04 ` Christoph Hellwig 2023-02-03 8:04 ` Christoph Hellwig 2023-02-01 13:41 ` [PATCH 04/19] blk-cgroup: simplify blkg freeing from initialization failure paths Christoph Hellwig 2023-02-03 0:12 ` Tejun Heo 2023-02-03 0:12 ` Tejun Heo 2023-02-01 13:41 ` [PATCH 05/19] blk-cgroup: remove the !bdi->dev check in blkg_dev_name Christoph Hellwig 2023-02-01 13:41 ` [PATCH 06/19] blk-cgroup: pin the gendisk in struct blkcg_gq Christoph Hellwig 2023-02-03 0:15 ` Tejun Heo 2023-02-01 13:41 ` [PATCH 07/19] blk-cgroup: store a gendisk to throttle in struct task_struct Christoph Hellwig 2023-02-03 0:17 ` Tejun Heo 2023-02-03 0:17 ` Tejun Heo 2023-02-03 8:06 ` Christoph Hellwig 2023-02-03 8:06 ` Christoph Hellwig 2023-02-01 13:41 ` Christoph Hellwig [this message] 2023-02-01 13:41 ` [PATCH 08/19] blk-wbt: pass a gendisk to wbt_{enable,disable}_default Christoph Hellwig 2023-02-01 13:41 ` [PATCH 09/19] blk-wbt: pass a gendisk to wbt_init Christoph Hellwig 2023-02-01 13:41 ` [PATCH 10/19] blk-wbt: move private information from blk-wbt.h to blk-wbt.c Christoph Hellwig 2023-02-01 13:41 ` Christoph Hellwig 2023-02-01 13:41 ` [PATCH 11/19] blk-wbt: open code wbt_queue_depth_changed in wbt_init Christoph Hellwig 2023-02-01 13:41 ` [PATCH 12/19] blk-rq-qos: move rq_qos_add and rq_qos_del out of line Christoph Hellwig 2023-02-01 13:41 ` [PATCH 13/19] blk-rq-qos: make rq_qos_add and rq_qos_del more useful Christoph Hellwig 2023-02-01 13:41 ` Christoph Hellwig 2023-02-01 13:41 ` [PATCH 14/19] blk-rq-qos: constify rq_qos_ops Christoph Hellwig 2023-02-01 13:41 ` Christoph Hellwig 2023-02-01 13:41 ` [PATCH 15/19] blk-rq-qos: store a gendisk instead of request_queue in struct rq_qos Christoph Hellwig 2023-02-01 13:41 ` [PATCH 16/19] blk-cgroup: pass a gendisk to blkcg_{de,}activate_policy Christoph Hellwig 2023-02-01 13:41 ` [PATCH 17/19] blk-cgroup: pass a gendisk to pd_alloc_fn Christoph Hellwig 2023-02-01 13:41 ` Christoph Hellwig 2023-02-01 13:41 ` [PATCH 18/19] blk-cgroup: pass a gendisk to blkg_lookup Christoph Hellwig 2023-02-01 13:41 ` Christoph Hellwig 2023-02-01 13:41 ` [PATCH 19/19] blk-cgroup: move the cgroup information to struct gendisk Christoph Hellwig 2023-02-03 0:24 ` Tejun Heo 2023-02-03 15:03 switch blk-cgroup to work on gendisk v4 Christoph Hellwig 2023-02-03 15:03 ` [PATCH 08/19] blk-wbt: pass a gendisk to wbt_{enable,disable}_default Christoph Hellwig 2023-02-03 15:03 ` Christoph Hellwig
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20230201134123.2656505-9-hch@lst.de \ --to=hch@lst.de \ --cc=aherrmann@suse.de \ --cc=axboe@kernel.dk \ --cc=cgroups@vger.kernel.org \ --cc=josef@toxicpanda.com \ --cc=linux-block@vger.kernel.org \ --cc=tj@kernel.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.