It's been broken forever (i.e. it's not scheduling in a power aware fashion), as reported by Suresh and others sending patches, and nobody cares enough to fix it properly ... so remove it to make space free for something better. There's various problems with the code as it stands today, first and foremost the user interface which is bound to topology levels and has multiple values per level. This results in a state explosion which the administrator or distro needs to master and almost nobody does. Furthermore large configuration state spaces aren't good, it means the thing doesn't just work right because it's either under so many impossibe to meet constraints, or even if there's an achievable state workloads have to be aware of it precisely and can never meet it for dynamic workloads. So pushing this kind of decision to user-space was a bad idea even with a single knob - it's exponentially worse with knobs on every node of the topology. There is a proposal to replace the user interface with a single 3 state knob: sched_balance_policy := { performance, power, auto } where 'auto' would be the preferred default which looks at things like Battery/AC mode and possible cpufreq state or whatever the hw exposes to show us power use expectations - but there's been no progress on it in the past many months. Aside from that, the actual implementation of the various knobs is known to be broken. There have been sporadic attempts at fixing things but these always stop short of reaching a mergable state. Therefore this wholesale removal with the hopes of spurring people who care to come forward once again and work on a coherent replacement. Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Suresh Siddha <suresh.b.siddha@intel.com> Cc: Arjan van de Ven <arjan@linux.intel.com> Cc: Vincent Guittot <vincent.guittot@linaro.org> Cc: Vaidyanathan Srinivasan <svaidy@linux.vnet.ibm.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Andrew Morton <akpm@linux-foundation.org> Link: http://lkml.kernel.org/r/1326104915.2442.53.camel@twins Signed-off-by: Ingo Molnar <mingo@kernel.org> |
||
---|---|---|
.. | ||
bench | ||
debug | ||
lib | ||
man | ||
po | ||
utils | ||
.gitignore | ||
Makefile | ||
README | ||
ToDo |
README
The cpufrequtils package (homepage: http://www.kernel.org/pub/linux/utils/kernel/cpufreq/cpufrequtils.html ) consists of the following elements: requirements ------------ On x86 pciutils is needed at runtime (-lpci). For compilation pciutils-devel (pci/pci.h) and a gcc version providing cpuid.h is needed. For both it's not explicitly checked for (yet). libcpufreq ---------- "libcpufreq" is a library which offers a unified access method for userspace tools and programs to the cpufreq core and drivers in the Linux kernel. This allows for code reduction in userspace tools, a clean implementation of the interaction to the cpufreq core, and support for both the sysfs and proc interfaces [depending on configuration, see below]. compilation and installation ---------------------------- make su make install should suffice on most systems. It builds default libcpufreq, cpufreq-set and cpufreq-info files and installs them in /usr/lib and /usr/bin, respectively. If you want to set up the paths differently and/or want to configure the package to your specific needs, you need to open "Makefile" with an editor of your choice and edit the block marked CONFIGURATION. THANKS ------ Many thanks to Mattia Dongili who wrote the autotoolization and libtoolization, the manpages and the italian language file for cpufrequtils; to Dave Jones for his feedback and his dump_psb tool; to Bruno Ducrot for his powernow-k8-decode and intel_gsic tools as well as the french language file; and to various others commenting on the previous (pre-)releases of cpufrequtils. Dominik Brodowski