On Fri, Mar 09, 2018 at 09:52:41AM +0000, Patrick Bellasi wrote:
> Hi, here is an update of [1], based on today's tip/sched/core [2], which 
> mainly
> adds some code cleanups suggested by Peter as well as fixes compilation for
> !CONFIG_SMP systems.
> 
> Most notably:
> a) The util_est's update flag has been renamed into UTIL_AVG_UNCHANGED, which
>    seems to better match its usages.
> b) The cpu_util_est() function has been removed to reduce cluttering by 
> folding
>    its code directly into cpu_util(). This last function is thus now always
>    returning the estimated utilization of a CPU, unless this sched feature is
>    disabled.
> c) Not necessary READ_ONCE() have been removed from rq-lock protected code
>    paths. For util_est variable, that we read/modify/write only from rq-lock
>    protected, code we keep just the WRITE_ONCE() barriers, which are still
>    required for synchronization with lockless readers.
>    The READ_ONCE() have been instead maintained in all the getter functions,
>    like for example task_util() and cpu_util(), which can potentially be used
>    by lockless code. e.g. schedutil or load-balancer.
> 
> Results on both x86_64 and ARM (Android) targets, which have been collected 
> and
> reported in previous postings [1,3], show negligible overheads, especially
> compared to the corresponding power/performance benefits on mobile platforms,
> where this feature helps to reduce the performance gap between PELT and 
> another
> other out-of-tree load tracking solution.

Thanks Patrick!

Reply via email to