[RFC PATCH v3 3/6] sched: pack small tasks
Alex Shi
alex.shi at intel.com
Wed Mar 27 00:48:08 EDT 2013
On 03/27/2013 12:33 PM, Preeti U Murthy wrote:
> Hi Peter,
>
> On 03/26/2013 06:07 PM, Peter Zijlstra wrote:
>> On Fri, 2013-03-22 at 13:25 +0100, Vincent Guittot wrote:
>>> +static bool is_light_task(struct task_struct *p)
>>> +{
>>> + /* A light task runs less than 20% in average */
>>> + return ((p->se.avg.runnable_avg_sum * 5) <
>>> + (p->se.avg.runnable_avg_period));
>>> +}
>>
>> OK, so we have a 'problem' here, we initialize runnable_avg_* to 0, but
>> we want to 'assume' a fresh task is fully 'loaded'. IIRC Alex ran into
>> this as well.
>>
>> PJT, do you have any sane solution for this, I forgot what the result
>> of the last discussion was -- was there any?
>
> The conclusion after last discussion between PJT and Alex was that the
> load contribution of a fresh task be set to "full" during "__sched_fork()".
>
> task->se.avg.load_avg_contrib = task->se.load.weight during
> __sched_fork() is reflected in the latest power aware scheduler patchset
> by Alex.
Yes, the new forked runnable load was set as full utilisation in V5
power aware scheduling. PJT, Mike and I both agree on this. PJT just
discussion how to give the full load to new forked task. and we get
agreement in my coming V6 power aware scheduling patchset.
>
> Thanks
>
> Regards
> Preeti U Murthy
>>
>
--
Thanks Alex
More information about the linux-arm-kernel
mailing list