Messages in this thread | | | Date | Mon, 27 Feb 2012 13:07:28 +0800 | From | Michael Wang <> | Subject | Re: [PATCH v5] sched: Avoid unnecessary work in reweight_entity |
| |
On 02/27/2012 12:12 PM, Srivatsa Vaddagiri wrote:
> * Michael Wang <wangyun@linux.vnet.ibm.com> [2012-02-25 21:56:18]: > >> Hi, Peter >> >> I have collected more testing data, here is the test results: >> >> Machine: ThinkPad T420 >> OS: Ubuntu 11.10 >> Benchmark: time make -j14 (build kernel) >
Hi, Vatsa
Thanks for your reply :)
> Is that benchmark run in root (cpu) cgroup? If so, reweight_entity() should not > kick in at all.
That's right, if no children group, 'reweight_entity' won't be called, so I have created a cpuset group under root group named 'rg1', and created a memory group under 'rg1' named 'sub', I attached the current shell to the 'sub' cgroup. But I haven't changed any param under the new cgroup, don't know whether that will cause some trouble or not? I suppose it could using some default value...
> > static void update_cfs_shares(struct cfs_rq *cfs_rq) > { > > .. > > if (!se || throttled_hierarchy(cfs_rq)) > return; > > .. > > reweight_entity(); > } > > If you want to stress reweight_entity() create several (cpu) cgroups > and launch workload like kernbench in each of them ..
Thanks for your suggestion, now I see that only using 1 children group is really not enough, I think I should try another round of test with kernbench, and also I was suggested to use oprofile to trace the 'reweight_entity', wish I can get some real proof from them.
Regards, Michael Wang
> > - vatsa
| |