Re: [PATCH 4/4] blkcg: use radix tree to index blkgs from blkcg

From: Vivek Goyal
Date: Fri Apr 20 2012 - 13:26:48 EST


On Thu, Apr 19, 2012 at 04:29:24PM -0700, Tejun Heo wrote:
> blkg lookup is currently performed by traversing linked list anchored
> at blkcg->blkg_list. This is very unscalable and with blk-throttle
> enabled and enough request queues on the system, this can get very
> ugly quickly (blk-throttle performs look up on every bio submission).
>
> This patch makes blkcg use radix tree to index blkgs combined with
> simple last-looked-up hint. This is mostly identical to how icqs are
> indexed from ioc.
>
> Note that because __blkg_lookup() may be invoked without holding queue
> lock, hint is only updated from __blkg_lookup_create(). Due to cfq's
> cfqq caching, this makes hint updates overly lazy. This will be
> improved with scheduled blkcg aware request allocation.
>
> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx>
> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx>

Nice to see radix tree lookup and caching hint. Helps with scalability.

Acked-by: Vivek Goyal <vgoyal@xxxxxxxxxx>

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/