• Rafael J. Wysocki's avatar
    cpufreq: governor: Narrow down the dbs_data_mutex coverage · 1112e9d8
    Rafael J. Wysocki authored
    Since cpufreq_governor_dbs() is now always called with policy->rwsem
    held, it cannot be executed twice in parallel for the same policy.
    Thus it is not necessary to hold dbs_data_mutex around the invocations
    of cpufreq_governor_start/stop/limits() from it as those functions
    never modify any data that can be shared between different policies.
    
    However, cpufreq_governor_dbs() may be executed twice in parallal
    for different policies using the same gov->gdbs_data object and
    dbs_data_mutex is still necessary to protect that object against
    concurrent updates.
    
    For this reason, narrow down the dbs_data_mutex locking to
    cpufreq_governor_init/exit() where it is needed and rename the
    mutex to gov_dbs_data_mutex to reflect its purpose.
    Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
    Acked-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
    1112e9d8
cpufreq_governor.c 17.6 KB