All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vivek Goyal <vgoyal@redhat.com>
To: Tejun Heo <tj@kernel.org>
Cc: Jens Axboe <axboe@kernel.dk>, linux-kernel@vger.kernel.org
Subject: Re: [PATCH block/for-3.18] blkcg: remove blkcg->id
Date: Mon, 8 Sep 2014 09:52:55 -0400	[thread overview]
Message-ID: <20140908135255.GA32364@redhat.com> (raw)
In-Reply-To: <20140907231520.GA5061@mtj.dyndns.org>

On Mon, Sep 08, 2014 at 08:15:20AM +0900, Tejun Heo wrote:
> blkcg->id is a unique id given to each blkcg; however, the
> cgroup_subsys_state which each blkcg embeds already has ->serial_nr
> which can be used for the same purpose.  Drop blkcg->id and replace
> its uses with blkcg->css.serial_nr.  Rename cfq_cgroup->blkcg_id to
> ->blkcg_serial_nr and @id in check_blkcg_changed() to @serial_nr for
> consistency.
> 
> Signed-off-by: Tejun Heo <tj@kernel.org>
> Cc: Vivek Goyal <vgoyal@redhat.com>

Looks good to me.

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

Vivek

> ---
>  block/blk-cgroup.c  |    2 --
>  block/blk-cgroup.h  |    3 ---
>  block/cfq-iosched.c |   10 +++++-----
>  3 files changed, 5 insertions(+), 10 deletions(-)
> 
> --- a/block/blk-cgroup.c
> +++ b/block/blk-cgroup.c
> @@ -822,7 +822,6 @@ static void blkcg_css_free(struct cgroup
>  static struct cgroup_subsys_state *
>  blkcg_css_alloc(struct cgroup_subsys_state *parent_css)
>  {
> -	static atomic64_t id_seq = ATOMIC64_INIT(0);
>  	struct blkcg *blkcg;
>  
>  	if (!parent_css) {
> @@ -836,7 +835,6 @@ blkcg_css_alloc(struct cgroup_subsys_sta
>  
>  	blkcg->cfq_weight = CFQ_WEIGHT_DEFAULT;
>  	blkcg->cfq_leaf_weight = CFQ_WEIGHT_DEFAULT;
> -	blkcg->id = atomic64_inc_return(&id_seq); /* root is 0, start from 1 */
>  done:
>  	spin_lock_init(&blkcg->lock);
>  	INIT_RADIX_TREE(&blkcg->blkg_tree, GFP_ATOMIC);
> --- a/block/blk-cgroup.h
> +++ b/block/blk-cgroup.h
> @@ -50,9 +50,6 @@ struct blkcg {
>  	struct blkcg_gq			*blkg_hint;
>  	struct hlist_head		blkg_list;
>  
> -	/* for policies to test whether associated blkcg has changed */
> -	uint64_t			id;
> -
>  	/* TODO: per-policy storage in blkcg */
>  	unsigned int			cfq_weight;	/* belongs to cfq */
>  	unsigned int			cfq_leaf_weight;
> --- a/block/cfq-iosched.c
> +++ b/block/cfq-iosched.c
> @@ -299,7 +299,7 @@ struct cfq_io_cq {
>  	struct cfq_ttime	ttime;
>  	int			ioprio;		/* the current ioprio */
>  #ifdef CONFIG_CFQ_GROUP_IOSCHED
> -	uint64_t		blkcg_id;	/* the current blkcg ID */
> +	uint64_t		blkcg_serial_nr; /* the current blkcg serial */
>  #endif
>  };
>  
> @@ -3534,17 +3534,17 @@ static void check_blkcg_changed(struct c
>  {
>  	struct cfq_data *cfqd = cic_to_cfqd(cic);
>  	struct cfq_queue *sync_cfqq;
> -	uint64_t id;
> +	uint64_t serial_nr;
>  
>  	rcu_read_lock();
> -	id = bio_blkcg(bio)->id;
> +	serial_nr = bio_blkcg(bio)->css.serial_nr;
>  	rcu_read_unlock();
>  
>  	/*
>  	 * Check whether blkcg has changed.  The condition may trigger
>  	 * spuriously on a newly created cic but there's no harm.
>  	 */
> -	if (unlikely(!cfqd) || likely(cic->blkcg_id == id))
> +	if (unlikely(!cfqd) || likely(cic->blkcg_serial_nr == serial_nr))
>  		return;
>  
>  	sync_cfqq = cic_to_cfqq(cic, 1);
> @@ -3558,7 +3558,7 @@ static void check_blkcg_changed(struct c
>  		cfq_put_queue(sync_cfqq);
>  	}
>  
> -	cic->blkcg_id = id;
> +	cic->blkcg_serial_nr = serial_nr;
>  }
>  #else
>  static inline void check_blkcg_changed(struct cfq_io_cq *cic, struct bio *bio) { }

  reply	other threads:[~2014-09-08 13:53 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-07 23:15 [PATCH block/for-3.18] blkcg: remove blkcg->id Tejun Heo
2014-09-08 13:52 ` Vivek Goyal [this message]
2014-09-08 15:56 ` Jens Axboe

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=20140908135255.GA32364@redhat.com \
    --to=vgoyal@redhat.com \
    --cc=axboe@kernel.dk \
    --cc=linux-kernel@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 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.