Re: [PATCH 05/12] blkcg: update blkg get functions take blkio_cgroupas parameter

From: Vivek Goyal
Date: Thu Jan 19 2012 - 06:21:10 EST


On Wed, Jan 18, 2012 at 05:11:23PM -0800, Tejun Heo wrote:

[..]
> -static struct throtl_grp * throtl_get_tg(struct throtl_data *td)
> +static struct throtl_grp *throtl_get_tg(struct throtl_data *td,
> + struct blkio_cgroup *blkcg)
> {
> struct throtl_grp *tg = NULL, *__tg = NULL;
> - struct blkio_cgroup *blkcg;
> struct request_queue *q = td->queue;
>
> /* no throttling for dead queue */
> if (unlikely(blk_queue_dead(q)))
> return NULL;
>
> - blkcg = task_blkio_cgroup(current);
> tg = throtl_find_tg(td, blkcg);
> if (tg)
> return tg;
>
> + if (!css_tryget(&blkcg->css))
> + return NULL;
> +

This reference is to make sure that blkcg does not go away while we drop
the rcu lock and do the group allocation?

Thanks
Vivek
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/