lkml.org 
[lkml]   [2013]   [Jul]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[PATCH RFC 0/3] Per-process power consumption measurement facility
Date
This patchset adds per-process power consumption measurement facility.
Power consumption is very important on mobile platforms. This code
allows to measure consumed power in Watts*Hours. The consumed power
for process is updated on scheduler switch and depends on current
CPU voltage and frequency.

The formula for computation is: P = C * V^2 * f, where C is a constant
that reflects capacity of the system, V is the current voltage and
f is the current frequency.
(Taken from: http://en.wikipedia.org/wiki/CPU_power_dissipation).

In this patchset was added implementation for Exynos platform
to demonstrate how it works.

To minimize scheduler impact for each CPU P-state the value of (V^2 *f)
was precomputed at the time of platform initialization.

And to reduce performance impact furthermore, the C constant is multiplied
in userspace.

Konstantin Krivyakin (3):
Add interface to receive current cpu power
Add power consumption counter in task_struct.
Update current cpu power when cpu freq change for exynos.

drivers/cpufreq/cpufreq.c | 17 +++++++++++++++++
drivers/cpufreq/exynos-cpufreq.c | 2 ++
drivers/cpufreq/exynos-cpufreq.h | 1 +
drivers/cpufreq/exynos4x12-cpufreq.c | 19 ++++++++++++++++++-
include/linux/cpufreq.h | 6 ++++++
include/linux/sched.h | 2 ++
include/uapi/linux/taskstats.h | 2 ++
kernel/fork.c | 1 +
kernel/sched/core.c | 8 ++++++++
kernel/sched/cputime.c | 11 +++++++++++
kernel/tsacct.c | 3 +++
11 files changed, 71 insertions(+), 1 deletion(-)

--
1.7.9.5



\
 
 \ /
  Last update: 2013-07-30 10:41    [W:0.133 / U:0.128 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site