Re: [PATCH v5 1/3] blkcg: Introduce blkg_root_lookup()
From: Bart Van Assche <hidden>
Date: 2018-08-09 20:17:06
Also in:
stable
From: Bart Van Assche <hidden>
Date: 2018-08-09 20:17:06
Also in:
stable
On Thu, 2018-08-09 at 12:56 -0700, Tejun Heo wrote:
Hello, =20 On Thu, Aug 09, 2018 at 07:53:36AM -0700, Bart Van Assche wrote:quoted
+/** + * blkg_lookup - look up blkg for the specified reque=
st queue
quoted
+ * @q: request_queue of interest + * + * Lookup blkg for @q at the root level. See also blk=
g_lookup().
quoted
+ */ +static inline struct blkcg_gq *blkg_root_look=
up(struct request_queue *q)
quoted
+{ + struct blkcg_gq *blkg; + + rcu_read_lock(); + blkg = blkg_lookup(&blkcg_root, q); + rcu_read_unlock(); + + return blkg; +}=20 So, root blkg is always available as long as the request_queue is alive. Sth like the following would be simpler? =20 static inline struct blkcg_gq *blk_queue_root_blk=
g(struct request_queue *q)
{
return q->root_blkg;
}That would not only be simpler, it would also avoid that blk_queue_= root_blkg() returns NULL if bypass mode is enabled and the request queue is still assoc= iated with the block cgroup controller. How do you want to proceed with this chan= ge? Bart.