Messages in this thread | | | Subject | Re: [PATCH RFC v2 4/4] sched: cpufreq_cfs: pelt-based cpu frequency scaling | From | Paul Bolle <> | Date | Wed, 13 May 2015 11:19:23 +0200 |
| |
One nit and one question follow.
>--- a/drivers/cpufreq/Kconfig > +++ b/drivers/cpufreq/Kconfig
> +config CPU_FREQ_DEFAULT_GOV_CFS > + bool "cfs" > + select CPU_FREQ_GOV_CFS > + select CPU_FREQ_GOV_PERFORMANCE > + help > + Use the CPUfreq governor 'cfs' as default. This scales > + cpu frequency from the scheduler as per-entity load tracking > + statistics are updated.
> +config CPU_FREQ_GOV_CFS > + tristate "'cfs' cpufreq governor" > + depends on CPU_FREQ > + select CPU_FREQ_GOV_COMMON > + help > + 'cfs' - this governor scales cpu frequency from the > + scheduler as a function of cpu capacity utilization. It does > + not evaluate utilization on a periodic basis (as ondemand > + does) but instead is invoked from the completely fair > + scheduler when updating per-entity load tracking statistics. > + Latency to respond to changes in load is improved over polling > + governors due to its event-driven design. > + > + If in doubt, say N.
> --- a/include/linux/cpufreq.h > +++ b/include/linux/cpufreq.h > @@ -485,6 +485,9 @@ extern struct cpufreq_governor cpufreq_gov_ondemand; > #elif defined(CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE) > extern struct cpufreq_governor cpufreq_gov_conservative; > #define CPUFREQ_DEFAULT_GOVERNOR (&cpufreq_gov_conservative) > +#elif defined(CONFIG_CPU_FREQ_DEFAULT_GOV_CAP_GOV) > +extern struct cpufreq_governor cpufreq_gov_cap_gov; > +#define CPUFREQ_DEFAULT_GOVERNOR (&cpufreq_gov_cap_gov) > #endif
Question: grepping for CPU_FREQ_DEFAULT_GOV_CAP_GOV and cpufreq_gov_cap_gov didn't gave me hits in next-20150513. And this series doesn't add them, does it? So where do they com from?
(Since you add CPU_FREQ_DEFAULT_GOV_CFS and cpufreq_cfs in this patch it seems you intended to add those. I briefly looked into the way CPUFREQ_DEFAULT_GOVERNOR is set in cpufreq.h when v1 came along, found it to complicated for me, and promptly forgot the details, so please double check.)
> --- a/kernel/sched/Makefile > +++ b/kernel/sched/Makefile
> +obj-$(CONFIG_CPU_FREQ_GOV_CFS) += cpufreq_cfs.o
> --- /dev/null > +++ b/kernel/sched/cpufreq_cfs.c
> + * This program is free software; you can redistribute it and/or modify > + * it under the terms of the GNU General Public License version 2 as > + * published by the Free Software Foundation.
This states the license is GPL v2.
> +MODULE_LICENSE("GPL");
And, according to include/linux/module.h, this states the license is GPL v2 or later. So I think that either the comment at the top of this file or the ident used in the MODULE_LICENSE() macro needs to be changed.
Thanks,
Paul Bolle
| |