On 06/04/2013 10:44 AM, Alex Shi wrote:
> On 06/04/2013 10:33 AM, Michael Wang wrote:
>> Hi, Alex
>>
>> On 06/04/2013 09:51 AM, Alex Shi wrote:
>>> resend with a new subject.
>>
>> Forgive me but I'm a little lost on this thread...
>>
>> So we are planing to rely on instant 'cpu_load[0]' and decayed
>> 'runnable_load_avg' only, do we?
> 
> cpu_load is a kind of time decay for cpu load, but after runnable load 
> introduced, 
> the decay functionality is a kind duplicate with it.
> So, remove them will make code simple. The idea were mentioned by Paul, Peter 
> and I.

Nice, what about make a patch 9 and clean up all those stuff?

I suppose we will get more benefit :)

Regards,
Michael Wang

> 
> the following is Peter's word of this affair.
> 
>> Agreed, esp. the plethora of weird idx things we currently have. If we need 
>> to
>> re-introduce something it would likely only be the busy case and for that we
>> can immediately link to the balance interval or so.
> 
> 
>>
>>
>> Regards,
>> Michael Wang
>>
>>>
>>>> Peter,
>>>>
>>>> I just tried to remove the variety rq.cpu_load, by the following patch. 
>>>> Because forkexec_idx and busy_idx are all zero, after the patch system 
>>>> just keep cpu_load[0]
>>>> and remove other values.
>>>> I tried the patch base 3.10-rc3 and latest tip/sched/core with benchmark 
>>>> dbench,tbench,
>>>> aim7,hackbench. and oltp of sysbench. Seems performance doesn't change 
>>>> clear.
>>>> So, for my tested machines, core2, NHM, SNB, with 2 or 4 CPU sockets, and 
>>>> above tested
>>>> benchmark. We are fine to remove the variety cpu_load. 
>>>> Don't know if there some other concerns on other scenarios.
>>>>
>>>> ---
>>>> diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
>>>> index 590d535..f0ca983 100644
>>>> --- a/kernel/sched/fair.c
>>>> +++ b/kernel/sched/fair.c
>>>> @@ -4626,7 +4626,7 @@ static inline void update_sd_lb_stats(struct lb_env 
>>>> *env,
>>>>         if (child && child->flags & SD_PREFER_SIBLING)
>>>>                 prefer_sibling = 1;
>>>>  
>>>> -       load_idx = get_sd_load_idx(env->sd, env->idle);
>>>> +       load_idx = 0; //get_sd_load_idx(env->sd, env->idle);
>>>>  
>>>>         do {
>>>>                 int local_group;
>>>>
>>>>
>>>
>>>
>>
> 
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to