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 01/15] blk-cgroup: don't defer blkg_free to a workqueue
Date: Fri, 20 Jan 2023 09:54:27 +0100 [thread overview]
Message-ID: <Y8pWw3JGAh0olxBp@suselix> (raw)
In-Reply-To: <20230117081257.3089859-2-hch@lst.de>
On Tue, Jan 17, 2023 at 09:12:43AM +0100, Christoph Hellwig wrote:
> Now that blk_put_queue can be called from process context, ther is no
^^^^
there
> need for the asynchronous execution.
>
> This effectively reverts commit d578c770c85233af592e54537f93f3831bde7e9a.
>
> Signed-off-by: Christoph Hellwig <hch@lst.de>
> ---
> block/blk-cgroup.c | 32 ++++++++++----------------------
> block/blk-cgroup.h | 5 +----
> 2 files changed, 11 insertions(+), 26 deletions(-)
Looks good to me. Feel free to add
Reviewed-by: Andreas Herrmann <aherrmann@suse.de>
> diff --git a/block/blk-cgroup.c b/block/blk-cgroup.c
> index ce6a2b7d3dfb2b..30d493b43f9272 100644
> --- a/block/blk-cgroup.c
> +++ b/block/blk-cgroup.c
> @@ -114,12 +114,19 @@ static bool blkcg_policy_enabled(struct request_queue *q,
> return pol && test_bit(pol->plid, q->blkcg_pols);
> }
>
> -static void blkg_free_workfn(struct work_struct *work)
> +/**
> + * blkg_free - free a blkg
> + * @blkg: blkg to free
> + *
> + * Free @blkg which may be partially allocated.
> + */
> +static void blkg_free(struct blkcg_gq *blkg)
> {
> - struct blkcg_gq *blkg = container_of(work, struct blkcg_gq,
> - free_work);
> int i;
>
> + if (!blkg)
> + return;
> +
> for (i = 0; i < BLKCG_MAX_POLS; i++)
> if (blkg->pd[i])
> blkcg_policy[i]->pd_free_fn(blkg->pd[i]);
> @@ -131,25 +138,6 @@ static void blkg_free_workfn(struct work_struct *work)
> kfree(blkg);
> }
>
> -/**
> - * blkg_free - free a blkg
> - * @blkg: blkg to free
> - *
> - * Free @blkg which may be partially allocated.
> - */
> -static void blkg_free(struct blkcg_gq *blkg)
> -{
> - if (!blkg)
> - return;
> -
> - /*
> - * Both ->pd_free_fn() and request queue's release handler may
> - * sleep, so free us by scheduling one work func
> - */
> - INIT_WORK(&blkg->free_work, blkg_free_workfn);
> - schedule_work(&blkg->free_work);
> -}
> -
> static void __blkg_release(struct rcu_head *rcu)
> {
> struct blkcg_gq *blkg = container_of(rcu, struct blkcg_gq, rcu_head);
> diff --git a/block/blk-cgroup.h b/block/blk-cgroup.h
> index 1e94e404eaa80a..f126fe36001eb3 100644
> --- a/block/blk-cgroup.h
> +++ b/block/blk-cgroup.h
> @@ -75,10 +75,7 @@ struct blkcg_gq {
>
> spinlock_t async_bio_lock;
> struct bio_list async_bios;
> - union {
> - struct work_struct async_bio_work;
> - struct work_struct free_work;
> - };
> + struct work_struct async_bio_work;
>
> atomic_t use_delay;
> atomic64_t delay_nsec;
> --
> 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 8:54 UTC|newest]
Thread overview: 56+ 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-27 7:01 ` 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
[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-20 8:54 ` Andreas Herrmann [this message]
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: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
[not found] ` <20230117081257.3089859-3-hch-jcswGhMUV9g@public.gmane.org>
2023-01-20 8:55 ` Andreas Herrmann
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
[not found] ` <20230117081257.3089859-5-hch-jcswGhMUV9g@public.gmane.org>
2023-01-20 8:57 ` Andreas Herrmann
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-20 9:10 ` Andreas Herrmann
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-20 9:53 ` Andreas Herrmann
[not found] ` <20230117081257.3089859-8-hch-jcswGhMUV9g@public.gmane.org>
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-20 9:21 ` Andreas Herrmann
[not found] ` <20230117081257.3089859-9-hch-jcswGhMUV9g@public.gmane.org>
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-20 10:19 ` Andreas Herrmann
2023-01-27 7:09 ` 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-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-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-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
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-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-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
[not found] ` <20230119170526.GA5050-jcswGhMUV9g@public.gmane.org>
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
[not found] ` <20230124065716.152286-1-hch-jcswGhMUV9g@public.gmane.org>
2023-01-24 6:57 ` [PATCH 01/15] blk-cgroup: don't defer blkg_free to a workqueue Christoph Hellwig
2023-01-27 22:33 ` Tejun Heo
2023-01-28 15:12 ` Ming Lei
2023-01-30 18:01 ` Tejun Heo
[not found] ` <20230124065716.152286-2-hch-jcswGhMUV9g@public.gmane.org>
2023-01-29 6:09 ` Yu Kuai
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=Y8pWw3JGAh0olxBp@suselix \
--to=aherrmann@suse.de \
--cc=axboe@kernel.dk \
--cc=cgroups@vger.kernel.org \
--cc=hch@lst.de \
--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: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox