From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from e28smtp08.in.ibm.com (e28smtp08.in.ibm.com [122.248.162.8]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client CN "e28smtp08.in.ibm.com", Issuer "GeoTrust SSL CA" (not verified)) by ozlabs.org (Postfix) with ESMTPS id D55442C01C0 for ; Thu, 18 Apr 2013 22:26:49 +1000 (EST) Received: from /spool/local by e28smtp08.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Thu, 18 Apr 2013 17:50:47 +0530 Received: from d28relay05.in.ibm.com (d28relay05.in.ibm.com [9.184.220.62]) by d28dlp02.in.ibm.com (Postfix) with ESMTP id E0C19394005E for ; Thu, 18 Apr 2013 17:56:32 +0530 (IST) Received: from d28av05.in.ibm.com (d28av05.in.ibm.com [9.184.220.67]) by d28relay05.in.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id r3ICQSmw8716616 for ; Thu, 18 Apr 2013 17:56:29 +0530 Received: from d28av05.in.ibm.com (loopback [127.0.0.1]) by d28av05.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id r3ICQVSw008560 for ; Thu, 18 Apr 2013 22:26:31 +1000 From: Anshuman Khandual To: linuxppc-dev@ozlabs.org, linux-kernel@vger.kernel.org Subject: [PATCH V3 0/5] powerpc, perf: BHRB based branch stack enablement on POWER8 Date: Thu, 18 Apr 2013 17:56:11 +0530 Message-Id: <1366287976-3900-1-git-send-email-khandual@linux.vnet.ibm.com> Cc: mikey@neuling.org List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Branch History Rolling Buffer (BHRB) is a new PMU feaure in IBM POWER8 processor which records the branch instructions inside the execution pipeline. This patchset enables the basic functionality of the feature through generic perf branch stack sampling framework. Sample output ------------- $./perf record -b top $./perf report Overhead Command Source Shared Object Source Symbol Target Shared Object Target Symbol # ........ ....... .................... ...................................... .................... ................................... # 7.82% top libc-2.11.2.so [k] _IO_vfscanf libc-2.11.2.so [k] _IO_vfscanf 6.17% top libc-2.11.2.so [k] _IO_vfscanf [unknown] [k] 00000000 2.37% top [unknown] [k] 0xf7aafb30 [unknown] [k] 00000000 1.80% top [unknown] [k] 0x0fe07978 libc-2.11.2.so [k] _IO_vfscanf 1.60% top libc-2.11.2.so [k] _IO_vfscanf [kernel.kallsyms] [k] .do_task_stat 1.20% top [kernel.kallsyms] [k] .do_task_stat [kernel.kallsyms] [k] .do_task_stat 1.02% top libc-2.11.2.so [k] vfprintf libc-2.11.2.so [k] vfprintf 0.92% top top [k] _init [unknown] [k] 0x0fe037f4 Changes in V2 -------------- - Added copyright messages to the newly created files - Modified couple of commit messages Changes in V3 ------------- - Incorporated review comments from Segher https://lkml.org/lkml/2013/4/16/350 - Worked on a solution for review comment from Michael Ellerman https://lkml.org/lkml/2013/4/17/548 - Could not move updated cpu_hw_events structure from core-book3s.c file into perf_event_server.h Because perf_event_server.h is pulled in first inside linux/perf_event.h before the definition of perf_branch_entry structure. Thats the reason why perf_branch_entry definition is not available inside perf_event_server.h where we define the array inside cpu_hw_events structure. - Finally have pulled in the code from perf_event_bhrb.c into core-book3s.c - Improved documentation for the patchset Anshuman Khandual (5): powerpc, perf: Add new BHRB related instructions for POWER8 powerpc, perf: Add basic assembly code to read BHRB entries on POWER8 powerpc, perf: Add new BHRB related generic functions, data and flags powerpc, perf: Define BHRB generic functions, data and flags for POWER8 powerpc, perf: Enable branch stack sampling framework arch/powerpc/include/asm/perf_event_server.h | 7 ++ arch/powerpc/include/asm/ppc-opcode.h | 7 ++ arch/powerpc/perf/Makefile | 2 +- arch/powerpc/perf/bhrb.S | 44 +++++++ arch/powerpc/perf/core-book3s.c | 167 ++++++++++++++++++++++++++- arch/powerpc/perf/power8-pmu.c | 57 ++++++++- 6 files changed, 279 insertions(+), 5 deletions(-) create mode 100644 arch/powerpc/perf/bhrb.S -- 1.7.11.7