Re: [PATCH v5] sched: Avoid unnecessary work in reweight_entity

From: Michael Wang
Date: Mon Feb 27 2012 - 00:08:06 EST


On 02/27/2012 12:12 PM, Srivatsa Vaddagiri wrote:

> * Michael Wang <wangyun@xxxxxxxxxxxxxxxxxx> [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


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