From: Andreas Herrmann <aherrmann-l3A5Bk7waGM@public.gmane.org>
To: Christoph Hellwig <hch-jcswGhMUV9g@public.gmane.org>
Cc: 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>,
linux-block-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCH 13/15] blk-cgroup: pass a gendisk to pd_alloc_fn
Date: Fri, 20 Jan 2023 11:37:36 +0100 [thread overview]
Message-ID: <Y8pu8KrfGtN61ymo@suselix> (raw)
In-Reply-To: <20230117081257.3089859-14-hch-jcswGhMUV9g@public.gmane.org>
On Tue, Jan 17, 2023 at 09:12:55AM +0100, Christoph Hellwig wrote:
> No need to the request_queue here, pass a gendisk and extract the
> node ids from that.
>
> Signed-off-by: Christoph Hellwig <hch-jcswGhMUV9g@public.gmane.org>
> ---
> block/bfq-cgroup.c | 6 +++---
> block/blk-cgroup.c | 10 +++++-----
> block/blk-cgroup.h | 4 ++--
> block/blk-iocost.c | 7 ++++---
> block/blk-iolatency.c | 7 +++----
> block/blk-ioprio.c | 2 +-
> block/blk-throttle.c | 7 +++----
> 7 files changed, 21 insertions(+), 22 deletions(-)
Looks good to me. Feel free to add
Reviewed-by: Andreas Herrmann <aherrmann-l3A5Bk7waGM@public.gmane.org>
> diff --git a/block/bfq-cgroup.c b/block/bfq-cgroup.c
> index b1b8eca99d988f..055f9684c1c502 100644
> --- a/block/bfq-cgroup.c
> +++ b/block/bfq-cgroup.c
> @@ -515,12 +515,12 @@ static void bfq_cpd_free(struct blkcg_policy_data *cpd)
> kfree(cpd_to_bfqgd(cpd));
> }
>
> -static struct blkg_policy_data *bfq_pd_alloc(gfp_t gfp, struct request_queue *q,
> - struct blkcg *blkcg)
> +static struct blkg_policy_data *bfq_pd_alloc(struct gendisk *disk,
> + struct blkcg *blkcg, gfp_t gfp)
> {
> struct bfq_group *bfqg;
>
> - bfqg = kzalloc_node(sizeof(*bfqg), gfp, q->node);
> + bfqg = kzalloc_node(sizeof(*bfqg), gfp, disk->node_id);
> if (!bfqg)
> return NULL;
>
> diff --git a/block/blk-cgroup.c b/block/blk-cgroup.c
> index 353421afe1d70d..601b156897dea4 100644
> --- a/block/blk-cgroup.c
> +++ b/block/blk-cgroup.c
> @@ -268,7 +268,7 @@ static struct blkcg_gq *blkg_alloc(struct blkcg *blkcg, struct gendisk *disk,
> continue;
>
> /* alloc per-policy data and attach it to blkg */
> - pd = pol->pd_alloc_fn(gfp_mask, disk->queue, blkcg);
> + pd = pol->pd_alloc_fn(disk, blkcg, gfp_mask);
> if (!pd)
> goto err_free;
>
> @@ -1404,8 +1404,8 @@ int blkcg_activate_policy(struct gendisk *disk, const struct blkcg_policy *pol)
> pd = pd_prealloc;
> pd_prealloc = NULL;
> } else {
> - pd = pol->pd_alloc_fn(GFP_NOWAIT | __GFP_NOWARN, q,
> - blkg->blkcg);
> + pd = pol->pd_alloc_fn(disk, blkg->blkcg,
> + GFP_NOWAIT | __GFP_NOWARN);
> }
>
> if (!pd) {
> @@ -1422,8 +1422,8 @@ int blkcg_activate_policy(struct gendisk *disk, const struct blkcg_policy *pol)
>
> if (pd_prealloc)
> pol->pd_free_fn(pd_prealloc);
> - pd_prealloc = pol->pd_alloc_fn(GFP_KERNEL, q,
> - blkg->blkcg);
> + pd_prealloc = pol->pd_alloc_fn(disk, blkg->blkcg,
> + GFP_KERNEL);
> if (pd_prealloc)
> goto retry;
> else
> diff --git a/block/blk-cgroup.h b/block/blk-cgroup.h
> index e9e0c00d13d64d..9a2cd3c71a94a2 100644
> --- a/block/blk-cgroup.h
> +++ b/block/blk-cgroup.h
> @@ -150,8 +150,8 @@ typedef struct blkcg_policy_data *(blkcg_pol_alloc_cpd_fn)(gfp_t gfp);
> typedef void (blkcg_pol_init_cpd_fn)(struct blkcg_policy_data *cpd);
> typedef void (blkcg_pol_free_cpd_fn)(struct blkcg_policy_data *cpd);
> typedef void (blkcg_pol_bind_cpd_fn)(struct blkcg_policy_data *cpd);
> -typedef struct blkg_policy_data *(blkcg_pol_alloc_pd_fn)(gfp_t gfp,
> - struct request_queue *q, struct blkcg *blkcg);
> +typedef struct blkg_policy_data *(blkcg_pol_alloc_pd_fn)(struct gendisk *disk,
> + struct blkcg *blkcg, gfp_t gfp);
> typedef void (blkcg_pol_init_pd_fn)(struct blkg_policy_data *pd);
> typedef void (blkcg_pol_online_pd_fn)(struct blkg_policy_data *pd);
> typedef void (blkcg_pol_offline_pd_fn)(struct blkg_policy_data *pd);
> diff --git a/block/blk-iocost.c b/block/blk-iocost.c
> index 6557bbd409b57e..3f41d83b4c4ecf 100644
> --- a/block/blk-iocost.c
> +++ b/block/blk-iocost.c
> @@ -2916,13 +2916,14 @@ static void ioc_cpd_free(struct blkcg_policy_data *cpd)
> kfree(container_of(cpd, struct ioc_cgrp, cpd));
> }
>
> -static struct blkg_policy_data *ioc_pd_alloc(gfp_t gfp, struct request_queue *q,
> - struct blkcg *blkcg)
> +static struct blkg_policy_data *ioc_pd_alloc(struct gendisk *disk,
> + struct blkcg *blkcg, gfp_t gfp)
> {
> int levels = blkcg->css.cgroup->level + 1;
> struct ioc_gq *iocg;
>
> - iocg = kzalloc_node(struct_size(iocg, ancestors, levels), gfp, q->node);
> + iocg = kzalloc_node(struct_size(iocg, ancestors, levels), gfp,
> + disk->node_id);
> if (!iocg)
> return NULL;
>
> diff --git a/block/blk-iolatency.c b/block/blk-iolatency.c
> index 39853fc5c2b02f..bc0d217f5c1723 100644
> --- a/block/blk-iolatency.c
> +++ b/block/blk-iolatency.c
> @@ -946,13 +946,12 @@ static void iolatency_pd_stat(struct blkg_policy_data *pd, struct seq_file *s)
> iolat->max_depth, avg_lat, cur_win);
> }
>
> -static struct blkg_policy_data *iolatency_pd_alloc(gfp_t gfp,
> - struct request_queue *q,
> - struct blkcg *blkcg)
> +static struct blkg_policy_data *iolatency_pd_alloc(struct gendisk *disk,
> + struct blkcg *blkcg, gfp_t gfp)
> {
> struct iolatency_grp *iolat;
>
> - iolat = kzalloc_node(sizeof(*iolat), gfp, q->node);
> + iolat = kzalloc_node(sizeof(*iolat), gfp, disk->node_id);
> if (!iolat)
> return NULL;
> iolat->stats = __alloc_percpu_gfp(sizeof(struct latency_stat),
> diff --git a/block/blk-ioprio.c b/block/blk-ioprio.c
> index 8194826cc824bc..055529b9b92bab 100644
> --- a/block/blk-ioprio.c
> +++ b/block/blk-ioprio.c
> @@ -116,7 +116,7 @@ static ssize_t ioprio_set_prio_policy(struct kernfs_open_file *of, char *buf,
> }
>
> static struct blkg_policy_data *
> -ioprio_alloc_pd(gfp_t gfp, struct request_queue *q, struct blkcg *blkcg)
> +ioprio_alloc_pd(struct gendisk *disk, struct blkcg *blkcg, gfp_t gfp)
> {
> struct ioprio_blkg *ioprio_blkg;
>
> diff --git a/block/blk-throttle.c b/block/blk-throttle.c
> index efc0a9092c6942..74bb1e753ea09d 100644
> --- a/block/blk-throttle.c
> +++ b/block/blk-throttle.c
> @@ -335,14 +335,13 @@ static void throtl_service_queue_init(struct throtl_service_queue *sq)
> timer_setup(&sq->pending_timer, throtl_pending_timer_fn, 0);
> }
>
> -static struct blkg_policy_data *throtl_pd_alloc(gfp_t gfp,
> - struct request_queue *q,
> - struct blkcg *blkcg)
> +static struct blkg_policy_data *throtl_pd_alloc(struct gendisk *disk,
> + struct blkcg *blkcg, gfp_t gfp)
> {
> struct throtl_grp *tg;
> int rw;
>
> - tg = kzalloc_node(sizeof(*tg), gfp, q->node);
> + tg = kzalloc_node(sizeof(*tg), gfp, disk->node_id);
> if (!tg)
> return NULL;
>
> --
> 2.39.0
>
--
Regards,
Andreas
SUSE Software Solutions Germany GmbH
Frankenstrasse 146, 90461 Nürnberg, Germany
GF: Ivo Totev, Andrew Myers, Andrew McDonald, Martje Boudien Moerman
(HRB 36809, AG Nürnberg)
WARNING: multiple messages have this Message-ID (diff)
From: Andreas Herrmann <aherrmann@suse.de>
To: Christoph Hellwig <hch@lst.de>
Cc: Jens Axboe <axboe@kernel.dk>, Tejun Heo <tj@kernel.org>,
Josef Bacik <josef@toxicpanda.com>,
linux-block@vger.kernel.org, cgroups@vger.kernel.org
Subject: Re: [PATCH 13/15] blk-cgroup: pass a gendisk to pd_alloc_fn
Date: Fri, 20 Jan 2023 11:37:36 +0100 [thread overview]
Message-ID: <Y8pu8KrfGtN61ymo@suselix> (raw)
In-Reply-To: <20230117081257.3089859-14-hch@lst.de>
On Tue, Jan 17, 2023 at 09:12:55AM +0100, Christoph Hellwig wrote:
> No need to the request_queue here, pass a gendisk and extract the
> node ids from that.
>
> Signed-off-by: Christoph Hellwig <hch@lst.de>
> ---
> block/bfq-cgroup.c | 6 +++---
> block/blk-cgroup.c | 10 +++++-----
> block/blk-cgroup.h | 4 ++--
> block/blk-iocost.c | 7 ++++---
> block/blk-iolatency.c | 7 +++----
> block/blk-ioprio.c | 2 +-
> block/blk-throttle.c | 7 +++----
> 7 files changed, 21 insertions(+), 22 deletions(-)
Looks good to me. Feel free to add
Reviewed-by: Andreas Herrmann <aherrmann@suse.de>
> diff --git a/block/bfq-cgroup.c b/block/bfq-cgroup.c
> index b1b8eca99d988f..055f9684c1c502 100644
> --- a/block/bfq-cgroup.c
> +++ b/block/bfq-cgroup.c
> @@ -515,12 +515,12 @@ static void bfq_cpd_free(struct blkcg_policy_data *cpd)
> kfree(cpd_to_bfqgd(cpd));
> }
>
> -static struct blkg_policy_data *bfq_pd_alloc(gfp_t gfp, struct request_queue *q,
> - struct blkcg *blkcg)
> +static struct blkg_policy_data *bfq_pd_alloc(struct gendisk *disk,
> + struct blkcg *blkcg, gfp_t gfp)
> {
> struct bfq_group *bfqg;
>
> - bfqg = kzalloc_node(sizeof(*bfqg), gfp, q->node);
> + bfqg = kzalloc_node(sizeof(*bfqg), gfp, disk->node_id);
> if (!bfqg)
> return NULL;
>
> diff --git a/block/blk-cgroup.c b/block/blk-cgroup.c
> index 353421afe1d70d..601b156897dea4 100644
> --- a/block/blk-cgroup.c
> +++ b/block/blk-cgroup.c
> @@ -268,7 +268,7 @@ static struct blkcg_gq *blkg_alloc(struct blkcg *blkcg, struct gendisk *disk,
> continue;
>
> /* alloc per-policy data and attach it to blkg */
> - pd = pol->pd_alloc_fn(gfp_mask, disk->queue, blkcg);
> + pd = pol->pd_alloc_fn(disk, blkcg, gfp_mask);
> if (!pd)
> goto err_free;
>
> @@ -1404,8 +1404,8 @@ int blkcg_activate_policy(struct gendisk *disk, const struct blkcg_policy *pol)
> pd = pd_prealloc;
> pd_prealloc = NULL;
> } else {
> - pd = pol->pd_alloc_fn(GFP_NOWAIT | __GFP_NOWARN, q,
> - blkg->blkcg);
> + pd = pol->pd_alloc_fn(disk, blkg->blkcg,
> + GFP_NOWAIT | __GFP_NOWARN);
> }
>
> if (!pd) {
> @@ -1422,8 +1422,8 @@ int blkcg_activate_policy(struct gendisk *disk, const struct blkcg_policy *pol)
>
> if (pd_prealloc)
> pol->pd_free_fn(pd_prealloc);
> - pd_prealloc = pol->pd_alloc_fn(GFP_KERNEL, q,
> - blkg->blkcg);
> + pd_prealloc = pol->pd_alloc_fn(disk, blkg->blkcg,
> + GFP_KERNEL);
> if (pd_prealloc)
> goto retry;
> else
> diff --git a/block/blk-cgroup.h b/block/blk-cgroup.h
> index e9e0c00d13d64d..9a2cd3c71a94a2 100644
> --- a/block/blk-cgroup.h
> +++ b/block/blk-cgroup.h
> @@ -150,8 +150,8 @@ typedef struct blkcg_policy_data *(blkcg_pol_alloc_cpd_fn)(gfp_t gfp);
> typedef void (blkcg_pol_init_cpd_fn)(struct blkcg_policy_data *cpd);
> typedef void (blkcg_pol_free_cpd_fn)(struct blkcg_policy_data *cpd);
> typedef void (blkcg_pol_bind_cpd_fn)(struct blkcg_policy_data *cpd);
> -typedef struct blkg_policy_data *(blkcg_pol_alloc_pd_fn)(gfp_t gfp,
> - struct request_queue *q, struct blkcg *blkcg);
> +typedef struct blkg_policy_data *(blkcg_pol_alloc_pd_fn)(struct gendisk *disk,
> + struct blkcg *blkcg, gfp_t gfp);
> typedef void (blkcg_pol_init_pd_fn)(struct blkg_policy_data *pd);
> typedef void (blkcg_pol_online_pd_fn)(struct blkg_policy_data *pd);
> typedef void (blkcg_pol_offline_pd_fn)(struct blkg_policy_data *pd);
> diff --git a/block/blk-iocost.c b/block/blk-iocost.c
> index 6557bbd409b57e..3f41d83b4c4ecf 100644
> --- a/block/blk-iocost.c
> +++ b/block/blk-iocost.c
> @@ -2916,13 +2916,14 @@ static void ioc_cpd_free(struct blkcg_policy_data *cpd)
> kfree(container_of(cpd, struct ioc_cgrp, cpd));
> }
>
> -static struct blkg_policy_data *ioc_pd_alloc(gfp_t gfp, struct request_queue *q,
> - struct blkcg *blkcg)
> +static struct blkg_policy_data *ioc_pd_alloc(struct gendisk *disk,
> + struct blkcg *blkcg, gfp_t gfp)
> {
> int levels = blkcg->css.cgroup->level + 1;
> struct ioc_gq *iocg;
>
> - iocg = kzalloc_node(struct_size(iocg, ancestors, levels), gfp, q->node);
> + iocg = kzalloc_node(struct_size(iocg, ancestors, levels), gfp,
> + disk->node_id);
> if (!iocg)
> return NULL;
>
> diff --git a/block/blk-iolatency.c b/block/blk-iolatency.c
> index 39853fc5c2b02f..bc0d217f5c1723 100644
> --- a/block/blk-iolatency.c
> +++ b/block/blk-iolatency.c
> @@ -946,13 +946,12 @@ static void iolatency_pd_stat(struct blkg_policy_data *pd, struct seq_file *s)
> iolat->max_depth, avg_lat, cur_win);
> }
>
> -static struct blkg_policy_data *iolatency_pd_alloc(gfp_t gfp,
> - struct request_queue *q,
> - struct blkcg *blkcg)
> +static struct blkg_policy_data *iolatency_pd_alloc(struct gendisk *disk,
> + struct blkcg *blkcg, gfp_t gfp)
> {
> struct iolatency_grp *iolat;
>
> - iolat = kzalloc_node(sizeof(*iolat), gfp, q->node);
> + iolat = kzalloc_node(sizeof(*iolat), gfp, disk->node_id);
> if (!iolat)
> return NULL;
> iolat->stats = __alloc_percpu_gfp(sizeof(struct latency_stat),
> diff --git a/block/blk-ioprio.c b/block/blk-ioprio.c
> index 8194826cc824bc..055529b9b92bab 100644
> --- a/block/blk-ioprio.c
> +++ b/block/blk-ioprio.c
> @@ -116,7 +116,7 @@ static ssize_t ioprio_set_prio_policy(struct kernfs_open_file *of, char *buf,
> }
>
> static struct blkg_policy_data *
> -ioprio_alloc_pd(gfp_t gfp, struct request_queue *q, struct blkcg *blkcg)
> +ioprio_alloc_pd(struct gendisk *disk, struct blkcg *blkcg, gfp_t gfp)
> {
> struct ioprio_blkg *ioprio_blkg;
>
> diff --git a/block/blk-throttle.c b/block/blk-throttle.c
> index efc0a9092c6942..74bb1e753ea09d 100644
> --- a/block/blk-throttle.c
> +++ b/block/blk-throttle.c
> @@ -335,14 +335,13 @@ static void throtl_service_queue_init(struct throtl_service_queue *sq)
> timer_setup(&sq->pending_timer, throtl_pending_timer_fn, 0);
> }
>
> -static struct blkg_policy_data *throtl_pd_alloc(gfp_t gfp,
> - struct request_queue *q,
> - struct blkcg *blkcg)
> +static struct blkg_policy_data *throtl_pd_alloc(struct gendisk *disk,
> + struct blkcg *blkcg, gfp_t gfp)
> {
> struct throtl_grp *tg;
> int rw;
>
> - tg = kzalloc_node(sizeof(*tg), gfp, q->node);
> + tg = kzalloc_node(sizeof(*tg), gfp, disk->node_id);
> if (!tg)
> return NULL;
>
> --
> 2.39.0
>
--
Regards,
Andreas
SUSE Software Solutions Germany GmbH
Frankenstrasse 146, 90461 Nürnberg, Germany
GF: Ivo Totev, Andrew Myers, Andrew McDonald, Martje Boudien Moerman
(HRB 36809, AG Nürnberg)
next prev parent reply other threads:[~2023-01-20 10:37 UTC|newest]
Thread overview: 85+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-17 8:12 switch blk-cgroup to work on gendisk Christoph Hellwig
2023-01-17 8:12 ` [PATCH 03/15] blk-cgroup: delay blk-cgroup initialization until add_disk Christoph Hellwig
[not found] ` <20230117081257.3089859-4-hch-jcswGhMUV9g@public.gmane.org>
2023-01-20 8:56 ` Andreas Herrmann
2023-01-20 8:56 ` Andreas Herrmann
2023-01-27 7:01 ` Hannes Reinecke
2023-01-27 7:01 ` Hannes Reinecke
[not found] ` <20230117081257.3089859-1-hch-jcswGhMUV9g@public.gmane.org>
2023-01-17 8:12 ` [PATCH 01/15] blk-cgroup: don't defer blkg_free to a workqueue Christoph Hellwig
2023-01-17 8:12 ` Christoph Hellwig
2023-01-20 8:54 ` Andreas Herrmann
2023-01-27 6:59 ` Hannes Reinecke
2023-01-27 6:59 ` Hannes Reinecke
[not found] ` <b4622942-67e7-969b-4439-0aea7c5bd165-l3A5Bk7waGM@public.gmane.org>
2023-01-27 7:07 ` Christoph Hellwig
2023-01-27 7:07 ` Christoph Hellwig
2023-01-27 7:43 ` Hannes Reinecke
2023-01-27 7:43 ` Hannes Reinecke
2023-01-17 8:12 ` [PATCH 02/15] block: don't call blk_throtl_stat_add for non-READ/WRITE commands Christoph Hellwig
2023-01-17 8:12 ` Christoph Hellwig
[not found] ` <20230117081257.3089859-3-hch-jcswGhMUV9g@public.gmane.org>
2023-01-20 8:55 ` Andreas Herrmann
2023-01-20 8:55 ` Andreas Herrmann
2023-01-27 7:00 ` Hannes Reinecke
2023-01-27 7:00 ` Hannes Reinecke
2023-01-17 8:12 ` [PATCH 04/15] blk-cgroup: pin the gendisk in struct blkcg_gq Christoph Hellwig
2023-01-17 8:12 ` Christoph Hellwig
[not found] ` <20230117081257.3089859-5-hch-jcswGhMUV9g@public.gmane.org>
2023-01-20 8:57 ` Andreas Herrmann
2023-01-20 8:57 ` Andreas Herrmann
2023-01-27 7:02 ` Hannes Reinecke
2023-01-27 7:02 ` Hannes Reinecke
2023-01-17 8:12 ` [PATCH 06/15] blk-wbt: pass a gendisk to wbt_{enable,disable}_default Christoph Hellwig
2023-01-17 8:12 ` Christoph Hellwig
2023-01-20 9:10 ` Andreas Herrmann
2023-01-27 7:04 ` Hannes Reinecke
2023-01-27 7:04 ` Hannes Reinecke
2023-01-17 8:12 ` [PATCH 07/15] blk-wbt: pass a gendisk to wbt_init Christoph Hellwig
2023-01-17 8:12 ` Christoph Hellwig
2023-01-20 9:53 ` Andreas Herrmann
[not found] ` <20230117081257.3089859-8-hch-jcswGhMUV9g@public.gmane.org>
2023-01-27 7:05 ` Hannes Reinecke
2023-01-27 7:05 ` Hannes Reinecke
2023-01-17 8:12 ` [PATCH 08/15] blk-wbt: open code wbt_queue_depth_changed in wbt_update_limits Christoph Hellwig
2023-01-17 8:12 ` Christoph Hellwig
2023-01-20 9:21 ` Andreas Herrmann
[not found] ` <20230117081257.3089859-9-hch-jcswGhMUV9g@public.gmane.org>
2023-01-27 7:07 ` Hannes Reinecke
2023-01-27 7:07 ` Hannes Reinecke
2023-01-17 8:12 ` [PATCH 11/15] blk-rq-qos: store a gendisk instead of request_queue in struct rq_qos Christoph Hellwig
2023-01-17 8:12 ` Christoph Hellwig
2023-01-20 10:19 ` Andreas Herrmann
2023-01-27 7:09 ` Hannes Reinecke
2023-01-27 7:09 ` Hannes Reinecke
2023-01-17 8:12 ` [PATCH 05/15] blk-cgroup: store a gendisk to throttle in struct task_struct Christoph Hellwig
2023-01-20 9:00 ` Andreas Herrmann
2023-01-27 7:03 ` Hannes Reinecke
2023-01-27 7:03 ` Hannes Reinecke
2023-01-17 8:12 ` [PATCH 09/15] blk-rq-qos: make rq_qos_add and rq_qos_del more useful Christoph Hellwig
[not found] ` <20230117081257.3089859-10-hch-jcswGhMUV9g@public.gmane.org>
2023-01-20 9:57 ` Andreas Herrmann
2023-01-20 9:57 ` Andreas Herrmann
2023-01-27 7:08 ` Hannes Reinecke
2023-01-27 7:08 ` Hannes Reinecke
2023-01-17 8:12 ` [PATCH 10/15] blk-rq-qos: constify rq_qos_ops Christoph Hellwig
2023-01-20 10:01 ` Andreas Herrmann
[not found] ` <20230117081257.3089859-11-hch-jcswGhMUV9g@public.gmane.org>
2023-01-27 7:08 ` Hannes Reinecke
2023-01-27 7:08 ` Hannes Reinecke
2023-01-17 8:12 ` [PATCH 12/15] blk-cgroup: pass a gendisk to blkcg_{de,}activate_policy Christoph Hellwig
2023-01-20 10:26 ` Andreas Herrmann
2023-01-27 7:10 ` Hannes Reinecke
2023-01-27 7:10 ` Hannes Reinecke
2023-01-17 8:12 ` [PATCH 13/15] blk-cgroup: pass a gendisk to pd_alloc_fn Christoph Hellwig
[not found] ` <20230117081257.3089859-14-hch-jcswGhMUV9g@public.gmane.org>
2023-01-20 10:37 ` Andreas Herrmann [this message]
2023-01-20 10:37 ` Andreas Herrmann
2023-01-27 7:10 ` Hannes Reinecke
2023-01-27 7:10 ` Hannes Reinecke
2023-01-17 8:12 ` [PATCH 14/15] blk-cgroup: pass a gendisk to blkg_lookup Christoph Hellwig
[not found] ` <20230117081257.3089859-15-hch-jcswGhMUV9g@public.gmane.org>
2023-01-20 11:07 ` Andreas Herrmann
2023-01-20 11:07 ` Andreas Herrmann
2023-01-27 7:11 ` Hannes Reinecke
2023-01-27 7:11 ` Hannes Reinecke
2023-01-17 8:12 ` [PATCH 15/15] blk-cgroup: move the cgroup information to struct gendisk Christoph Hellwig
[not found] ` <20230117081257.3089859-16-hch-jcswGhMUV9g@public.gmane.org>
2023-01-20 11:07 ` Andreas Herrmann
2023-01-20 11:07 ` Andreas Herrmann
2023-01-27 7:12 ` Hannes Reinecke
2023-01-27 7:12 ` Hannes Reinecke
2023-01-19 17:03 ` switch blk-cgroup to work on gendisk Tejun Heo
[not found] ` <Y8l34/qeHPLV4rKJ-NiLfg/pYEd1N0TnZuCh8vA@public.gmane.org>
2023-01-19 17:05 ` Christoph Hellwig
2023-01-19 17:05 ` Christoph Hellwig
[not found] ` <20230119170526.GA5050-jcswGhMUV9g@public.gmane.org>
2023-01-19 17:13 ` Tejun Heo
2023-01-19 17:13 ` Tejun Heo
-- strict thread matches above, loose matches on Subject: below --
2023-01-24 6:57 switch blk-cgroup to work on gendisk v2 Christoph Hellwig
2023-01-24 6:57 ` [PATCH 13/15] blk-cgroup: pass a gendisk to pd_alloc_fn 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=Y8pu8KrfGtN61ymo@suselix \
--to=aherrmann-l3a5bk7wagm@public.gmane.org \
--cc=axboe-tSWWG44O7X1aa/9Udqfwiw@public.gmane.org \
--cc=cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=hch-jcswGhMUV9g@public.gmane.org \
--cc=josef-DigfWCa+lFGyeJad7bwFQA@public.gmane.org \
--cc=linux-block-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.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: link
Be 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.