From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752552AbbJMHJu (ORCPT ); Tue, 13 Oct 2015 03:09:50 -0400 Received: from mail-pa0-f49.google.com ([209.85.220.49]:35094 "EHLO mail-pa0-f49.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752291AbbJMHJt (ORCPT ); Tue, 13 Oct 2015 03:09:49 -0400 From: Stephane Eranian To: linux-kernel@vger.kernel.org Cc: acme@redhat.com, peterz@infradead.org, mingo@elte.hu, ak@linux.intel.com, jolsa@redhat.com, namhyung@kernel.org, khandual@linux.vnet.ibm.com Subject: [PATCH 0/4] perf: add ability to sample direct call branches Date: Tue, 13 Oct 2015 09:09:07 +0200 Message-Id: <1444720151-10275-1-git-send-email-eranian@google.com> X-Mailer: git-send-email 1.9.1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This short patch series improves the perf_events interface by providing a new branch_sample_type bit to sample only direct call branches. Up until now, you could specify PERF_SAMPLE_BRANCH_ANY_CALL (any calls) or PERF_SAMPLE_BRANCH_IND_CALL (indirect calls). But there was no way to sample only direct calls. This series adds PERF_SAMPLE_BRANCH_CALL. This covers direct function calls (incl. zero length calls) but not syscalls. It can be used for those who want to analyze direct calls only. The series includes the kernel generic code changes. The x86 support based on the LBR filter (or sofware filter) and the PPC check. The series also includes the changes to perf record to support the new filter: $ perf record -j call -e cycles ...... Patch is relative to tip.git @ commit e6f195f Merge branch 'ras/core' Stephane Eranian (4): perf: add PERF_SAMPLE_BRANCH_CALL perf/x86: add support for PERF_SAMPLE_BRANCH_CALL perf/powerpc: add support for PERF_SAMPLE_BRANCH_CALL perf record: add ability to sample call branches arch/powerpc/perf/power8-pmu.c | 3 +++ arch/x86/kernel/cpu/perf_event_intel_lbr.c | 4 ++++ include/uapi/linux/perf_event.h | 2 ++ tools/perf/Documentation/perf-record.txt | 1 + tools/perf/util/parse-branch-options.c | 1 + 5 files changed, 11 insertions(+) -- 1.9.1