Re: [PATCH] iocost: add a comment about locking in ioc_weight_write()

From: Jeff Moyer
Date: Mon Nov 04 2019 - 06:59:41 EST


Dan Carpenter <dan.carpenter@xxxxxxxxxx> writes:

> It wasn't very clear that blkg_conf_prep() disables IRQ and that they
> are enabled in blkg_conf_finish() so this patch adds a comment about it.
>
> Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>

Reviewed-by: Jeff Moyer <jmoyer@xxxxxxxxxx>

Thanks, Dan!

> ---
> I don't know if it's too late to fold this in with the previous patch?
>
> block/blk-iocost.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/block/blk-iocost.c b/block/blk-iocost.c
> index a7ed434eae03..c5a8703ca6aa 100644
> --- a/block/blk-iocost.c
> +++ b/block/blk-iocost.c
> @@ -2095,6 +2095,7 @@ static ssize_t ioc_weight_write(struct kernfs_open_file *of, char *buf,
> return nbytes;
> }
>
> + /* blkg_conf_prep() takes the q->queue_lock and disables IRQs */
> ret = blkg_conf_prep(blkcg, &blkcg_policy_iocost, buf, &ctx);
> if (ret)
> return ret;
> @@ -2115,6 +2116,7 @@ static ssize_t ioc_weight_write(struct kernfs_open_file *of, char *buf,
> weight_updated(iocg);
> spin_unlock(&iocg->ioc->lock);
>
> + /* blkg_conf_finish() unlocks the q->queue_lock and enables IRQs */
> blkg_conf_finish(&ctx);
> return nbytes;