Re: [PATCH] blkio-throttle: Avoid calling blkiocg_lookup_group()for root group

From: Jens Axboe
Date: Mon Jan 31 2011 - 14:28:40 EST


On 2011-01-31 20:24, Jens Axboe wrote:
> On 2011-01-31 20:20, Jeff Moyer wrote:
>> Vivek Goyal <vgoyal@xxxxxxxxxx> writes:
>>
>>> On Mon, Jan 17, 2011 at 04:56:06PM -0500, Vivek Goyal wrote:
>>>> o Jeff Moyer was doing some testing on a RAM backed disk and
>>>> blkiocg_lookup_group() showed up high overhead after memcpy(). Similarly
>>>> somebody else reported that blkiocg_lookup_group() is eating 6% extra
>>>> cpu. Though looking at the code I can't think why the overhead of
>>>> this function is so high. One thing is that it is called with very high
>>>> frequency (once for every IO).
>>>>
>>>> o For lot of folks blkio controller will be compiled in but they might
>>>> not have actually created cgroups. Hence optimize the case of root
>>>> cgroup where we can avoid calling blkiocg_lookup_group() if IO is happening
>>>> in root group (common case).
>>>>
>>>> Reported-by: Jeff Moyer <jmoyer@xxxxxxxxxx>
>>>> Signed-off-by: Vivek Goyal <vgoyal@xxxxxxxxxx>
>>>
>>> Hi Jens,
>>>
>>> Do you have any concerns regarding this patch?
>>
>> Acked-by: Jeff Moyer <jmoyer@xxxxxxxxxx>
>>
>> Jens, this is a pretty easy performance regression fixup. I think it
>> should be pulled in sooner rather than later. We've also witnessed this
>> slowdown on big performance testing rigs, so it's not just a ramdisk
>> issue.
>
> Yep, will fold it into 2.6.38, thanks!

Just to be clear, it's queued up in for-linus so it will go to 2.6.38 on
the next push. It was updated last week, this is what it has so far:

Sergey Senozhatsky (1):
loop: queue_lock NULL pointer derefence in blk_throtl_exit

Stephen M. Cameron (1):
cciss: make cciss_revalidate not loop through CISS_MAX_LUNS volumes unnecessarily.

Tao Ma (1):
blktrace: Don't output messages if NOTIFY isn't set.

Tracey Dent (2):
drivers/block/Makefile: replace the use of <module>-objs with <module>-y
drivers/block/aoe/Makefile: replace the use of <module>-objs with <module>-y

Vivek Goyal (2):
cfq: rename a function to give it more appropriate name
blkio-throttle: Avoid calling blkiocg_lookup_group() for root group

block/blk-throttle.c | 10 +++++++++-
block/cfq-iosched.c | 6 +++---
drivers/block/Makefile | 2 +-
drivers/block/aoe/Makefile | 2 +-
drivers/block/cciss.c | 2 +-
drivers/block/loop.c | 3 +++
kernel/trace/blktrace.c | 7 +++++++
7 files changed, 25 insertions(+), 7 deletions(-)

--
Jens Axboe

--
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/