Messages in this thread | | | Date | Fri, 28 Aug 2009 13:20:15 +0900 | From | KAMEZAWA Hiroyuki <> | Subject | [RFC][PATCH 0/5] memcg: reduce lock conetion |
| |
Hi,
Recently, memcg's res_counter->lock contention on big server is reported and Balbir wrote a workaround for root memcg. It's good but we need some fix for children, too.
This set is for reducing lock conetion of memcg's children cgroup based on mmotm-Aug27.
I'm sorry I have only 8cpu machine and can't reproduce very troublesome lock conention. Here is lock_stat of make -j 12 on my 8cpu box, befre-after this patch series.
[Before] time make -j 12 (Best time in 3 test) real 2m55.170s user 4m38.351s sys 6m40.694s lock_stat version 0.3 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- class name con-bounces contentions waittime-min waittime-max waittime-total acq-bounces acquisitions holdtime-min holdtime-max holdtime-total -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
&counter->lock: 1793728 1824383 0.90 16599.78 1255869.40 24879507 44909568 0.45 31183.88 19505982.15 -------------- &counter->lock 999561 [<ffffffff81099224>] res_counter_charge+0x94/0x140 &counter->lock 824822 [<ffffffff8109911c>] res_counter_uncharge+0x3c/0xb0 -------------- &counter->lock 835597 [<ffffffff8109911c>] res_counter_uncharge+0x3c/0xb0 &counter->lock 988786 [<ffffffff81099224>] res_counter_charge+0x94/0x140
you can see this by "head" ;)
[After] time make -j 12 (Best time in 3 test..but score was very stable.) real 2m52.612s user 4m45.450s sys 6m4.422s
&counter->lock: 11159 11406 1.02 30.35 6707.74 1097940 3957860 0.47 17652.17 1534430.74 -------------- &counter->lock 2016 [<ffffffff810991bd>] res_counter_charge+0x4d/0x110 &counter->lock 9390 [<ffffffff81099115>] res_counter_uncharge+0x35/0x90 -------------- &counter->lock 8962 [<ffffffff81099115>] res_counter_uncharge+0x35/0x90 &counter->lock 2444 [<ffffffff810991bd>] res_counter_charge+0x4d/0x110
dcache-lock, zone->lru_lock etc is much heavier than this.
I expects good result on big servers.
But this patch sereis is a "big change". I (and memcg folks) have to be careful...
Thanks, -Kame
| |