Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit afb71193 authored by Ingo Molnar's avatar Ingo Molnar
Browse files

Merge tag 'perf-core-for-mingo' of...

Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux

 into perf/core

perf/core improvements and fixes:

 * Reset SIGTERM handler in workload child process, fix from David Ahern.

 * Handle death by SIGTERM in 'perf record', fix from David Ahern.

 * Fix printing of perf_event_paranoid message, from David Ahern.

 * Handle realloc failures in 'perf kvm', from David Ahern.

 * Fix divide by 0 in variance, from David Ahern.

 * Save parent pid in thread struct, from David Ahern.

 * Handle JITed code in shared memory, from Andi Kleen.

 * Makefile reorganization, prep work for Kconfig patches, from Jiri Olsa.

 * Fixes for 'perf diff', from Jiri Olsa.

 * Add automated make test suite, from Jiri Olsa.

 * 'perf tests' fixes from Jiri Olsa.

 * Remove some unused struct members, from Jiri Olsa.

 * Add missing liblk.a dependency for python/perf.so, fix from Jiri Olsa.

 * Respect CROSS_COMPILE in liblk.a, from Rabin Vincent.

 * Expand definition of sysfs format attribute, from Michael Ellerman.

 * No need to do locking when adding hists in perf report, only 'top'
   needs that, from Namhyung Kim.

 * Sorting improvements, from Namhyung Kim.

 * Fix alignment of symbol column in in the hists browser (top, report)
   when -v is given, from NAmhyung Kim.

 * Add --percent-limit option to 'top' and 'report', from Namhyung Kim.

 * Fix 'perf top' -E option behavior, from Namhyung Kim.

 * Fix bug in isupper() and islower(), from Sukadev Bhattiprolu.

 * Fix compile errors in bp_signal 'perf test', from Sukadev Bhattiprolu.

 * Make Power7 CPI stack events available in sysfs, from Sukadev Bhattiprolu.

Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parents c0ffaf36 c3c44709
Loading
Loading
Loading
Loading
+27 −5
Original line number Diff line number Diff line
@@ -27,14 +27,36 @@ Description: Generic performance monitoring events
		"basename".


What: 		/sys/devices/cpu/events/PM_LD_MISS_L1
		/sys/devices/cpu/events/PM_LD_REF_L1
		/sys/devices/cpu/events/PM_CYC
What: 		/sys/devices/cpu/events/PM_1PLUS_PPC_CMPL
		/sys/devices/cpu/events/PM_BRU_FIN
		/sys/devices/cpu/events/PM_GCT_NOSLOT_CYC
		/sys/devices/cpu/events/PM_BRU_MPRED
		/sys/devices/cpu/events/PM_INST_CMPL
		/sys/devices/cpu/events/PM_CMPLU_STALL
		/sys/devices/cpu/events/PM_CMPLU_STALL_BRU
		/sys/devices/cpu/events/PM_CMPLU_STALL_DCACHE_MISS
		/sys/devices/cpu/events/PM_CMPLU_STALL_DFU
		/sys/devices/cpu/events/PM_CMPLU_STALL_DIV
		/sys/devices/cpu/events/PM_CMPLU_STALL_ERAT_MISS
		/sys/devices/cpu/events/PM_CMPLU_STALL_FXU
		/sys/devices/cpu/events/PM_CMPLU_STALL_IFU
		/sys/devices/cpu/events/PM_CMPLU_STALL_LSU
		/sys/devices/cpu/events/PM_CMPLU_STALL_REJECT
		/sys/devices/cpu/events/PM_CMPLU_STALL_SCALAR
		/sys/devices/cpu/events/PM_CMPLU_STALL_SCALAR_LONG
		/sys/devices/cpu/events/PM_CMPLU_STALL_STORE
		/sys/devices/cpu/events/PM_CMPLU_STALL_THRD
		/sys/devices/cpu/events/PM_CMPLU_STALL_VECTOR
		/sys/devices/cpu/events/PM_CMPLU_STALL_VECTOR_LONG
		/sys/devices/cpu/events/PM_CYC
		/sys/devices/cpu/events/PM_GCT_NOSLOT_BR_MPRED
		/sys/devices/cpu/events/PM_GCT_NOSLOT_BR_MPRED_IC_MISS
		/sys/devices/cpu/events/PM_GCT_NOSLOT_CYC
		/sys/devices/cpu/events/PM_GCT_NOSLOT_IC_MISS
		/sys/devices/cpu/events/PM_GRP_CMPL
		/sys/devices/cpu/events/PM_INST_CMPL
		/sys/devices/cpu/events/PM_LD_MISS_L1
		/sys/devices/cpu/events/PM_LD_REF_L1
		/sys/devices/cpu/events/PM_RUN_CYC
		/sys/devices/cpu/events/PM_RUN_INST_CMPL

Date:		2013/01/08

+6 −0
Original line number Diff line number Diff line
@@ -9,6 +9,12 @@ Description:
		we want to export, so that userspace can deal with sane
		name/value pairs.

		Userspace must be prepared for the possibility that attributes
		define overlapping bit ranges. For example:
			attr1 = 'config:0-23'
			attr2 = 'config:0-7'
			attr3 = 'config:12-35'

		Example: 'config1:1,6-10,44'
		Defines contents of attribute that occupies bits 1,6-10,44 of
		perf_event_attr::config1.
+73 −0
Original line number Diff line number Diff line
@@ -62,6 +62,29 @@
#define	PME_PM_BRU_FIN			0x10068
#define	PME_PM_BRU_MPRED		0x400f6

#define PME_PM_CMPLU_STALL_FXU			0x20014
#define PME_PM_CMPLU_STALL_DIV			0x40014
#define PME_PM_CMPLU_STALL_SCALAR		0x40012
#define PME_PM_CMPLU_STALL_SCALAR_LONG		0x20018
#define PME_PM_CMPLU_STALL_VECTOR		0x2001c
#define PME_PM_CMPLU_STALL_VECTOR_LONG		0x4004a
#define PME_PM_CMPLU_STALL_LSU			0x20012
#define PME_PM_CMPLU_STALL_REJECT		0x40016
#define PME_PM_CMPLU_STALL_ERAT_MISS		0x40018
#define PME_PM_CMPLU_STALL_DCACHE_MISS		0x20016
#define PME_PM_CMPLU_STALL_STORE		0x2004a
#define PME_PM_CMPLU_STALL_THRD			0x1001c
#define PME_PM_CMPLU_STALL_IFU			0x4004c
#define PME_PM_CMPLU_STALL_BRU			0x4004e
#define PME_PM_GCT_NOSLOT_IC_MISS		0x2001a
#define PME_PM_GCT_NOSLOT_BR_MPRED		0x4001a
#define PME_PM_GCT_NOSLOT_BR_MPRED_IC_MISS	0x4001c
#define PME_PM_GRP_CMPL				0x30004
#define PME_PM_1PLUS_PPC_CMPL			0x100f2
#define PME_PM_CMPLU_STALL_DFU			0x2003c
#define PME_PM_RUN_CYC				0x200f4
#define PME_PM_RUN_INST_CMPL			0x400fa

/*
 * Layout of constraint bits:
 * 6666555555555544444444443333333333222222222211111111110000000000
@@ -393,6 +416,31 @@ POWER_EVENT_ATTR(LD_MISS_L1, LD_MISS_L1);
POWER_EVENT_ATTR(BRU_FIN,			BRU_FIN)
POWER_EVENT_ATTR(BRU_MPRED,			BRU_MPRED);

POWER_EVENT_ATTR(CMPLU_STALL_FXU,		CMPLU_STALL_FXU);
POWER_EVENT_ATTR(CMPLU_STALL_DIV,		CMPLU_STALL_DIV);
POWER_EVENT_ATTR(CMPLU_STALL_SCALAR,		CMPLU_STALL_SCALAR);
POWER_EVENT_ATTR(CMPLU_STALL_SCALAR_LONG,	CMPLU_STALL_SCALAR_LONG);
POWER_EVENT_ATTR(CMPLU_STALL_VECTOR,		CMPLU_STALL_VECTOR);
POWER_EVENT_ATTR(CMPLU_STALL_VECTOR_LONG,	CMPLU_STALL_VECTOR_LONG);
POWER_EVENT_ATTR(CMPLU_STALL_LSU,		CMPLU_STALL_LSU);
POWER_EVENT_ATTR(CMPLU_STALL_REJECT,		CMPLU_STALL_REJECT);

POWER_EVENT_ATTR(CMPLU_STALL_ERAT_MISS,		CMPLU_STALL_ERAT_MISS);
POWER_EVENT_ATTR(CMPLU_STALL_DCACHE_MISS,	CMPLU_STALL_DCACHE_MISS);
POWER_EVENT_ATTR(CMPLU_STALL_STORE,		CMPLU_STALL_STORE);
POWER_EVENT_ATTR(CMPLU_STALL_THRD,		CMPLU_STALL_THRD);
POWER_EVENT_ATTR(CMPLU_STALL_IFU,		CMPLU_STALL_IFU);
POWER_EVENT_ATTR(CMPLU_STALL_BRU,		CMPLU_STALL_BRU);
POWER_EVENT_ATTR(GCT_NOSLOT_IC_MISS,		GCT_NOSLOT_IC_MISS);

POWER_EVENT_ATTR(GCT_NOSLOT_BR_MPRED,		GCT_NOSLOT_BR_MPRED);
POWER_EVENT_ATTR(GCT_NOSLOT_BR_MPRED_IC_MISS,	GCT_NOSLOT_BR_MPRED_IC_MISS);
POWER_EVENT_ATTR(GRP_CMPL,			GRP_CMPL);
POWER_EVENT_ATTR(1PLUS_PPC_CMPL,		1PLUS_PPC_CMPL);
POWER_EVENT_ATTR(CMPLU_STALL_DFU,		CMPLU_STALL_DFU);
POWER_EVENT_ATTR(RUN_CYC,			RUN_CYC);
POWER_EVENT_ATTR(RUN_INST_CMPL,			RUN_INST_CMPL);

static struct attribute *power7_events_attr[] = {
	GENERIC_EVENT_PTR(CYC),
	GENERIC_EVENT_PTR(GCT_NOSLOT_CYC),
@@ -411,6 +459,31 @@ static struct attribute *power7_events_attr[] = {
	POWER_EVENT_PTR(LD_MISS_L1),
	POWER_EVENT_PTR(BRU_FIN),
	POWER_EVENT_PTR(BRU_MPRED),

	POWER_EVENT_PTR(CMPLU_STALL_FXU),
	POWER_EVENT_PTR(CMPLU_STALL_DIV),
	POWER_EVENT_PTR(CMPLU_STALL_SCALAR),
	POWER_EVENT_PTR(CMPLU_STALL_SCALAR_LONG),
	POWER_EVENT_PTR(CMPLU_STALL_VECTOR),
	POWER_EVENT_PTR(CMPLU_STALL_VECTOR_LONG),
	POWER_EVENT_PTR(CMPLU_STALL_LSU),
	POWER_EVENT_PTR(CMPLU_STALL_REJECT),

	POWER_EVENT_PTR(CMPLU_STALL_ERAT_MISS),
	POWER_EVENT_PTR(CMPLU_STALL_DCACHE_MISS),
	POWER_EVENT_PTR(CMPLU_STALL_STORE),
	POWER_EVENT_PTR(CMPLU_STALL_THRD),
	POWER_EVENT_PTR(CMPLU_STALL_IFU),
	POWER_EVENT_PTR(CMPLU_STALL_BRU),
	POWER_EVENT_PTR(GCT_NOSLOT_IC_MISS),
	POWER_EVENT_PTR(GCT_NOSLOT_BR_MPRED),

	POWER_EVENT_PTR(GCT_NOSLOT_BR_MPRED_IC_MISS),
	POWER_EVENT_PTR(GRP_CMPL),
	POWER_EVENT_PTR(1PLUS_PPC_CMPL),
	POWER_EVENT_PTR(CMPLU_STALL_DFU),
	POWER_EVENT_PTR(RUN_CYC),
	POWER_EVENT_PTR(RUN_INST_CMPL),
	NULL
};

+3 −0
Original line number Diff line number Diff line
include ../../scripts/Makefile.include

CC = $(CROSS_COMPILE)gcc
AR = $(CROSS_COMPILE)ar

# guard against environment variables
LIB_H=
LIB_OBJS=
+1 −1
Original line number Diff line number Diff line
@@ -13,7 +13,7 @@ SYNOPSIS
DESCRIPTION
-----------
This command runs runs perf-buildid-list --with-hits, and collects the files
with the buildids found so that analisys of perf.data contents can be possible
with the buildids found so that analysis of perf.data contents can be possible
on another machine.


Loading