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/