[PATCH 01/10] blkcg: __blkg_lookup_create() doesn't need radix preload

Vivek Goyal vgoyal at redhat.com
Mon Jun 4 18:57:02 UTC 2012


On Mon, Jun 04, 2012 at 12:08:08AM -0700, Tejun Heo wrote:
> There's no point in calling radix_tree_preload() if preloading doesn't
> use more permissible GFP mask.  Drop preloading from
> __blkg_lookup_create().
> 
> While at it, drop sparse locking annotation which no longer applies.
> 
> v2: Vivek pointed out the odd preload usage.  Instead of updating,
>     just drop it.
> 
> Signed-off-by: Tejun Heo <tj at kernel.org>
> Cc: Vivek Goyal <vgoyal at redhat.com>

Looks good to me.

Acked-by: Vivek Goyal <vgoyal at redhat.com>

Vivek

> ---
>  block/blk-cgroup.c |   10 +---------
>  1 files changed, 1 insertions(+), 9 deletions(-)
> 
> diff --git a/block/blk-cgroup.c b/block/blk-cgroup.c
> index 4ab7420..af61db0 100644
> --- a/block/blk-cgroup.c
> +++ b/block/blk-cgroup.c
> @@ -177,7 +177,6 @@ EXPORT_SYMBOL_GPL(blkg_lookup);
>  
>  static struct blkcg_gq *__blkg_lookup_create(struct blkcg *blkcg,
>  					     struct request_queue *q)
> -	__releases(q->queue_lock) __acquires(q->queue_lock)
>  {
>  	struct blkcg_gq *blkg;
>  	int ret;
> @@ -203,10 +202,6 @@ static struct blkcg_gq *__blkg_lookup_create(struct blkcg *blkcg,
>  		goto err_put;
>  
>  	/* insert */
> -	ret = radix_tree_preload(GFP_ATOMIC);
> -	if (ret)
> -		goto err_free;
> -
>  	spin_lock(&blkcg->lock);
>  	ret = radix_tree_insert(&blkcg->blkg_tree, q->id, blkg);
>  	if (likely(!ret)) {
> @@ -215,14 +210,11 @@ static struct blkcg_gq *__blkg_lookup_create(struct blkcg *blkcg,
>  	}
>  	spin_unlock(&blkcg->lock);
>  
> -	radix_tree_preload_end();
> -
>  	if (!ret)
>  		return blkg;
> -err_free:
> -	blkg_free(blkg);
>  err_put:
>  	css_put(&blkcg->css);
> +	blkg_free(blkg);
>  	return ERR_PTR(ret);
>  }
>  
> -- 
> 1.7.7.3


More information about the Containers mailing list