From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753542AbcAGV4R (ORCPT ); Thu, 7 Jan 2016 16:56:17 -0500 Received: from mail-wm0-f48.google.com ([74.125.82.48]:36756 "EHLO mail-wm0-f48.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752015AbcAGV4Q (ORCPT ); Thu, 7 Jan 2016 16:56:16 -0500 MIME-Version: 1.0 Date: Thu, 7 Jan 2016 13:56:14 -0800 Message-ID: Subject: [RFC] perf record: missing buildid for callstack modules From: Stephane Eranian To: LKML Cc: Arnaldo Carvalho de Melo , Jiri Olsa , Namhyung Kim , Peter Zijlstra , Ingo Molnar , Adrian Hunter , "ak@linux.intel.com" Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, Whenever you do: $ perf record -g -a sleep 10 Perf will collect the callstack for each sample. At the end of the run, perf record adds the buildid for all dso with at least one sample. But when it does this, it only looks at the sampled IP and ignore the modules traversed by the callstack. That means that, it is not possible to uniquely identify the modules executed, unless they had at least one IP sample captured. But this is not always the case. How about providing an option to perf record to force collecting buildid for all IPs captured in the callstack? I understand that would cost more at the end of the collection, but this would be beneficial to several monitoring scenarios.