> This is my concern about making this a special case with the
> introduction ENQUEUE_NEWTASK flag; enqueue jumps through enough hoops
> as it is.
>
> I still don't see why we can't resolve this at init time in
> __sched_fork(); your patch above just moves an explicit initialization
> of load_avg_
Hi everyone,
On 02/19/2013 05:04 PM, Paul Turner wrote:
> On Fri, Feb 15, 2013 at 2:07 AM, Alex Shi wrote:
>>
>>> diff --git a/kernel/sched/core.c b/kernel/sched/core.c
>>> index 1dff78a..9d1c193 100644
>>> --- a/kernel/sched/core.c
>>> +++ b/kernel/sched/core.c
>>> @@ -1557,8 +1557,8 @@ static v
On Fri, Feb 15, 2013 at 2:07 AM, Alex Shi wrote:
>
>> diff --git a/kernel/sched/core.c b/kernel/sched/core.c
>> index 1dff78a..9d1c193 100644
>> --- a/kernel/sched/core.c
>> +++ b/kernel/sched/core.c
>> @@ -1557,8 +1557,8 @@ static void __sched_fork(struct task_struct *p)
>> * load-balance).
>>
> diff --git a/kernel/sched/core.c b/kernel/sched/core.c
> index 1dff78a..9d1c193 100644
> --- a/kernel/sched/core.c
> +++ b/kernel/sched/core.c
> @@ -1557,8 +1557,8 @@ static void __sched_fork(struct task_struct *p)
> * load-balance).
> */
> #if defined(CONFIG_SMP) && defined(CONFIG_FAIR_GRO
On Wed, Feb 13, 2013 at 7:14 AM, Alex Shi wrote:
> On 02/12/2013 06:26 PM, Peter Zijlstra wrote:
>> On Thu, 2013-01-24 at 11:06 +0800, Alex Shi wrote:
>>> + /*
>>> +* set the initial load avg of new task same as its load
>>> +* in order to avoid brust fork make few cpu too he
On 02/12/2013 06:26 PM, Peter Zijlstra wrote:
> On Thu, 2013-01-24 at 11:06 +0800, Alex Shi wrote:
>> + /*
>> +* set the initial load avg of new task same as its load
>> +* in order to avoid brust fork make few cpu too heavier
>> +*/
>> + if (flags & ENQUEUE_NEWT
On Thu, 2013-01-24 at 11:06 +0800, Alex Shi wrote:
> + /*
> +* set the initial load avg of new task same as its load
> +* in order to avoid brust fork make few cpu too heavier
> +*/
> + if (flags & ENQUEUE_NEWTASK)
> + se->avg.load_avg_contrib = se-
New task has no runnable sum at its first runnable time, so its
runnable load is zero. That makes burst forking balancing just select
few idle cpus to assign tasks if we engage runnable load in balancing.
Set initial load avg of new forked task as its load weight to resolve
this issue.
Signed-off
8 matches
Mail list logo