lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <d6e3ade4-2d71-25b1-0477-c4be2756cb75@arm.com>
Date:   Wed, 22 Mar 2017 16:22:24 +0000
From:   Dietmar Eggemann <dietmar.eggemann@....com>
To:     Vincent Guittot <vincent.guittot@...aro.org>
Cc:     Peter Zijlstra <peterz@...radead.org>,
        Ingo Molnar <mingo@...nel.org>,
        linux-kernel <linux-kernel@...r.kernel.org>,
        "Huang, Ying" <ying.huang@...el.com>
Subject: Re: [PATCH] sched/fair: Fix ftq noise bench regression

On 22/03/17 09:22, Vincent Guittot wrote:
> On 21 March 2017 at 18:46, Dietmar Eggemann <dietmar.eggemann@....com> wrote:
>> Hi Vincent,
>>
>> On 17/03/17 13:47, Vincent Guittot wrote:
>>
>> [...]
>>
>>> Reported-by: ying.huang@...ux.intel.com
>>> Signed-off-by: Vincent Guittot <vincent.guittot@...aro.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);
+
+       /* 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 ...

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ