• Viresh Kumar's avatar
    cpufreq: Add per policy governor-init/exit infrastructure · 7bd353a9
    Viresh Kumar authored
    Currently, there can't be multiple instances of single governor_type.
    If we have a multi-package system, where we have multiple instances
    of struct policy (per package), we can't have multiple instances of
    same governor. i.e. We can't have multiple instances of ondemand
    governor for multiple packages.
    
    Governors directory in sysfs is created at /sys/devices/system/cpu/cpufreq/
    governor-name/. Which again reflects that there can be only one
    instance of a governor_type in the system.
    
    This is a bottleneck for multicluster system, where we want different
    packages to use same governor type, but with different tunables.
    
    This patch is inclined towards providing this infrastructure. Because
    we are required to allocate governor's resources dynamically now, we
    must do it at policy creation and end. And so got
    CPUFREQ_GOV_POLICY_INIT/EXIT.
    Signed-off-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
    Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
    7bd353a9
cpufreq.c 49.2 KB