From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ruchi Kandoi Subject: [PATCH v2 0/2] Adds cpu power accounting per-pid basis. Date: Thu, 14 May 2015 17:12:48 -0700 Message-ID: <1431648770-7404-1-git-send-email-kandoiruchi@google.com> Return-path: Received: from mail-ig0-f175.google.com ([209.85.213.175]:35696 "EHLO mail-ig0-f175.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1423065AbbEOANE (ORCPT ); Thu, 14 May 2015 20:13:04 -0400 Received: by igbyr2 with SMTP id yr2so182632341igb.0 for ; Thu, 14 May 2015 17:13:04 -0700 (PDT) Sender: linux-pm-owner@vger.kernel.org List-Id: linux-pm@vger.kernel.org To: kandoiruchi@google.com, "Rafael J. Wysocki" , Viresh Kumar , Ingo Molnar , Peter Zijlstra , Andrew Morton , Oleg Nesterov , "Kirill A. Shutemov" , Vladimir Davydov , Heinrich Schuchardt , Thomas Gleixner , Kees Cook , Konstantin Khlebnikov , Davidlohr Bueso , linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org These patches add a mechanism which will accurately caculate the CPU power used by all the processes in the system. In order to account for the power used by all the processes a data field "cpu_power" has been added in the task_struct. This field adds power for both the system as well as user time. cpu_power contains the total amount of charge(in uAmsec units) used by the process. This model takes into account the frequency at which the process was running(i.e higher power for processes running at higher frequencies). It requires the cpufreq_stats module to be initialized with the current numbers for each of the CPU core at each frequency. This will be initialized during init time. Ruchi Kandoi (2): cpufreq_stats: Adds sysfs file /sys/devices/system/cpu/cpufreq/current_in_state sched: cpufreq: Adds a field cpu_power in the task_struct drivers/cpufreq/cpufreq_stats.c | 191 +++++++++++++++++++++++++++++++++++++++- include/linux/cpufreq.h | 8 ++ include/linux/sched.h | 2 + kernel/fork.c | 1 + kernel/sched/cputime.c | 7 ++ 5 files changed, 207 insertions(+), 2 deletions(-) -- 2.2.0.rc0.207.ga3a616c