lkml.org 
[lkml]   [2017]   [Mar]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRe: [PATCH] sched/fair: Fix ftq noise bench regression
On 22 March 2017 at 17:22, Dietmar Eggemann <dietmar.eggemann@arm.com> wrote:
> On 22/03/17 09:22, Vincent Guittot wrote:
>> On 21 March 2017 at 18:46, Dietmar Eggemann <dietmar.eggemann@arm.com> wrote:
>>> Hi Vincent,
>>>
>>> On 17/03/17 13:47, Vincent Guittot wrote:
>>>
>>> [...]
>>>
>>>> Reported-by: ying.huang@linux.intel.com
>>>> Signed-off-by: Vincent Guittot <vincent.guittot@linaro.org>
>>>> Fixes: 4e5160766fcc ("sched/fair: Propagate asynchrous detach")
>
> [...]
>
>>> Why not turn skip_blocked_update(se) into blocked_update_needed(cpu, cfs_rq)?
>>> Saves a couple of patch lines:
>>
>> Are you sure that we are saving some patch lines ?
>
> Sorry, it's actually the same :-)
>
>>
>> I tend to agree on the name and but not on parameters.
>> IMO, it's easier to understand the purpose of
>> blocked_update_needed(se) compared to blocked_update_needed(cpu,
>> cfs_rq)
>
> OK, so:
>
> - /* Propagate pending load changes to the parent */
> - if (cfs_rq->tg->se[cpu])
> + /* Propagate pending load changes to the parent if any */
> + if (blocked_update_needed(cfs_rq->tg->se[cpu]))
>
> and
>
> +static inline bool blocked_update_needed(struct sched_entity *se)
> +{
> + struct cfs_rq *gcfs_rq = group_cfs_rq(se);

gcfs_rq can't be set before testing that se is not null

> +
> + /* cfs_rq of a root task_group has no sched_entity counterpart */
> + if (!se)
> + return false;
> +
> + /*
> + * If sched_entity still have not null load or utilization, we
> have to
> + * decay it.
> + */
> ....
>
> Would make sense to me ...

\
 
 \ /
  Last update: 2017-03-22 17:56    [W:0.092 / U:0.152 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site