1. 28 4月, 2016 1 次提交
    • T
      cpupower: Add cpuidle parts into library · ac5a181d
      Thomas Renninger 提交于
      This more or less is a renaming and moving of functions and should not
      introduce any functional change.
      
      cpupower was built from cpufrequtils (which had a C library providing easy
      access to cpu frequency platform info). In the meantime it got enhanced
      by quite some neat cpuidle userspace tools.
      
      Now the cpu idle functions have been separated and added to the cpupower.so
      library.
      So beside an already existing public header file:
      cpufreq.h
      cpupower now also exports these cpu idle functions in:
      cpuidle.h
      
      Here again pasted for better review of the interfaces:
      
      ======================================
      int cpuidle_is_state_disabled(unsigned int cpu,
                                             unsigned int idlestate);
      int cpuidle_state_disable(unsigned int cpu, unsigned int idlestate,
                                         unsigned int disable);
      unsigned long cpuidle_state_latency(unsigned int cpu,
                                                      unsigned int idlestate);
      unsigned long cpuidle_state_usage(unsigned int cpu,
                                              unsigned int idlestate);
      unsigned long long cpuidle_state_time(unsigned int cpu,
                                                      unsigned int idlestate);
      char *cpuidle_state_name(unsigned int cpu,
                                      unsigned int idlestate);
      char *cpuidle_state_desc(unsigned int cpu,
                                      unsigned int idlestate);
      unsigned int cpuidle_state_count(unsigned int cpu);
      
      char *cpuidle_get_governor(void);
      char *cpuidle_get_driver(void);
      
      ======================================
      Signed-off-by: NThomas Renninger <trenn@suse.com>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      ac5a181d
  2. 20 12月, 2014 1 次提交
  3. 20 7月, 2014 1 次提交
  4. 26 11月, 2013 1 次提交
  5. 05 7月, 2013 2 次提交
  6. 28 11月, 2012 1 次提交
  7. 17 5月, 2012 1 次提交
    • P
      sched: Remove stale power aware scheduling remnants and dysfunctional knobs · 8e7fbcbc
      Peter Zijlstra 提交于
      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: NPeter 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@twinsSigned-off-by: NIngo Molnar <mingo@kernel.org>
      8e7fbcbc
  8. 16 8月, 2011 1 次提交
  9. 30 7月, 2011 2 次提交
    • D
      2cd005ca
    • D
      cpupowerutils - cpufrequtils extended with quite some features · 7fe2f639
      Dominik Brodowski 提交于
      CPU power consumption vs performance tuning is no longer
      limited to CPU frequency switching anymore: deep sleep states,
      traditional dynamic frequency scaling and hidden turbo/boost
      frequencies are tied close together and depend on each other.
      The first two exist on different architectures like PPC, Itanium and
      ARM, the latter (so far) only on X86. On X86 the APU (CPU+GPU) will
      only run most efficiently if CPU and GPU has proper power management
      in place.
      
      Users and Developers want to have *one* tool to get an overview what
      their system supports and to monitor and debug CPU power management
      in detail. The tool should compile and work on as many architectures
      as possible.
      
      Once this tool stabilizes a bit, it is intended to replace the
      Intel-specific tools in tools/power/x86
      Signed-off-by: NDominik Brodowski <linux@dominikbrodowski.net>
      7fe2f639