[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-id: <1372951039-10375-1-git-send-email-k.krivyakin@samsung.com>
Date: Thu, 04 Jul 2013 19:17:16 +0400
From: Konstantin Krivyakin <k.krivyakin@...sung.com>
To: k.krivyakin@...sung.com, i.zhbanov@...sung.com,
e.voevodin@...sung.com, kyungmin.park@...sung.com,
linux-kernel@...r.kernel.org
Subject: [PATCH RFC 0/3] Per-process power consumption measurement facility
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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists