Messages in this thread | | | Date | Fri, 20 Apr 2012 13:26:39 -0400 | From | Vivek Goyal <> | Subject | Re: [PATCH 4/4] blkcg: use radix tree to index blkgs from blkcg |
| |
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@kernel.org> > Cc: Vivek Goyal <vgoyal@redhat.com>
Nice to see radix tree lookup and caching hint. Helps with scalability.
Acked-by: Vivek Goyal <vgoyal@redhat.com>
Vivek
| |