Re: [PATCH 2/9] cpufreq: governor: Avoid atomic operations in hot paths

From: Viresh Kumar
Date: Mon Feb 15 2016 - 03:20:35 EST


On 15-02-16, 02:13, Rafael J. Wysocki wrote:
> From: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
>
> Rework the handling of work items by dbs_update_util_handler() and
> dbs_work_handler() so the former (which is executed in scheduler
> paths) only uses atomic operations when absolutely necessary. That
> is, when the policy is shared and dbs_update_util_handler() has
> already decided that this is the time to queue up a work item.
>
> In particular, this avoids the atomic ops entirely on platforms where
> policy objects are never shared.
>
> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
> ---
>
> This is a new version of https://patchwork.kernel.org/patch/8291051/ .
>
> Changes from the previous version:
> - Added a new "is_shared" field to struct policy_dbs_info to be set for
> shared policies to avoid evaluating cpumask_weight() every time
> dbs_update_util_handler() decides to take a sample.

Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx>

--
viresh