[PATCH 3/3] show energy consumption info in perf tool
From: Zhang Rui
Date: Thu May 26 2011 - 04:36:37 EST
Introduce four new perf software events
PERF_COUNT_SW_PKG_ENERGY
PERF_COUNT_SW_CORE_ENERGY
PERF_COUNT_SW_UNCORE_ENERGY
and
PERF_COUNT_SW_DRAM_ENERGY
To use it, users can run
perf stat -e pkg-energy foo
to get the package energy consumption when running foo.
Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx>
---
tools/perf/design.txt | 4 ++++
tools/perf/util/parse-events.c | 8 ++++++++
2 files changed, 12 insertions(+)
Index: linux-2.6/tools/perf/design.txt
===================================================================
--- linux-2.6.orig/tools/perf/design.txt
+++ linux-2.6/tools/perf/design.txt
@@ -139,6 +139,10 @@ enum sw_event_ids {
PERF_COUNT_SW_PAGE_FAULTS_MAJ = 6,
PERF_COUNT_SW_ALIGNMENT_FAULTS = 7,
PERF_COUNT_SW_EMULATION_FAULTS = 8,
+ PERF_COUNT_SW_PKG_ENERGY = 9,
+ PERF_COUNT_SW_CORE_ENERGY = 10,
+ PERF_COUNT_SW_UNCORE_ENERGY = 11,
+ PERF_COUNT_SW_DRAM_ENERGY = 12,
};
Counters of the type PERF_TYPE_TRACEPOINT are available when the ftrace event
Index: linux-2.6/tools/perf/util/parse-events.c
===================================================================
--- linux-2.6.orig/tools/perf/util/parse-events.c
+++ linux-2.6/tools/perf/util/parse-events.c
@@ -50,6 +50,10 @@ static struct event_symbol event_symbols
{ CSW(CPU_MIGRATIONS), "cpu-migrations", "migrations" },
{ CSW(ALIGNMENT_FAULTS), "alignment-faults", "" },
{ CSW(EMULATION_FAULTS), "emulation-faults", "" },
+ { CSW(PKG_ENERGY), "pkg-energy", "" },
+ { CSW(CORE_ENERGY), "core-energy", "" },
+ { CSW(UNCORE_ENERGY), "uncore-energy", "" },
+ { CSW(DRAM_ENERGY), "dram-energy", "" },
};
#define __PERF_EVENT_FIELD(config, name) \
@@ -82,6 +86,10 @@ static const char *sw_event_names[PERF_C
"major-faults",
"alignment-faults",
"emulation-faults",
+ "package-energy-consumption",
+ "core-energy-consumption",
+ "uncore-energy-consumption",
+ "dram-energy-consumption",
};
#define MAX_ALIASES 8
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/