From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.1 required=3.0 tests=DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_PASS,T_DKIM_INVALID, USER_AGENT_MUTT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id D5173C43334 for ; Tue, 4 Sep 2018 14:17:30 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 7ECA2206BA for ; Tue, 4 Sep 2018 14:17:30 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=infradead.org header.i=@infradead.org header.b="Euzsso2q" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 7ECA2206BA Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=infradead.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727524AbeIDSmp (ORCPT ); Tue, 4 Sep 2018 14:42:45 -0400 Received: from bombadil.infradead.org ([198.137.202.133]:49580 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727136AbeIDSmp (ORCPT ); Tue, 4 Sep 2018 14:42:45 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20170209; h=In-Reply-To:Content-Type:MIME-Version :References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=X3s6ZZAWkRG494coXvB1HdqsHsZRoEADTyeE6lXMh9I=; b=Euzsso2qSbBlHbc2FsW7smmZ4 hFWYo1oqrZYzr3bDqmZdCYHNNhtrSbAZIL9OSUoQAyCr14veypaYW0bWmP/KSYMwdVNSL1PvMk35w TtNoncKLy0sDhu3mKnUdvFUgVvrUtJHtbR5p3v9ezbuDgy2X/dt17igKSMV+SJNZnzFPGUCKIvrfe fhwKVwwDlrhgo8rhQpssksSSzW8maVhvDIqZREwX69zUR/71939tAwYjcQSDv6t1DpnjBe14AoR7h qyjJeRx2H0Kf7jzaKXs7qr7JooHS+Jpuh3XiBNx89xSKy9KC8anzgi5bUW6qg4M33UZJNUL/HqZf9 wXBoWWhwA==; Received: from j217100.upc-j.chello.nl ([24.132.217.100] helo=hirez.programming.kicks-ass.net) by bombadil.infradead.org with esmtpsa (Exim 4.90_1 #2 (Red Hat Linux)) id 1fxC90-0000ib-CS; Tue, 04 Sep 2018 14:17:26 +0000 Received: by hirez.programming.kicks-ass.net (Postfix, from userid 1000) id DDD50202AFE0C; Tue, 4 Sep 2018 16:17:24 +0200 (CEST) Date: Tue, 4 Sep 2018 16:17:24 +0200 From: Peter Zijlstra To: Arnaldo Carvalho de Melo Cc: Stephane Eranian , Jiri Olsa , Jiri Olsa , LKML , Namhyung Kim Subject: Re: [RFC] perf tool improvement requests Message-ID: <20180904141724.GJ24124@hirez.programming.kicks-ass.net> References: <20180904071049.GY24124@hirez.programming.kicks-ass.net> <20180904134218.GA5364@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20180904134218.GA5364@kernel.org> User-Agent: Mutt/1.10.0 (2018-05-17) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Sep 04, 2018 at 10:42:18AM -0300, Arnaldo Carvalho de Melo wrote: > Then I need to get the DW_AT_location stuff parsed in pahole, so > that with those offsets (second column, ending with :) with hits (first > column, there its local period, but we can ask for some specific metric > [1]), I'll be able to figure out what DW_TAG_variable or > DW_TAG_formal_parameter is living there at that time, get the offset > from the decoded instruction, say that xor, 0x138 offset from the type > for %r15 at that offset (85) from kmem_cache_alloc, right? I'm not sure how the DWARF location stuff works; it could be it already includes the offset and decoding the instruction is not needed. But yes, that's the basic idea; get DWARF to tell you what variable is used at a certain IP. > In a first milestone we'd have something like: > > perf annotate --hits function | pahole --annotate -C task_struct > > perf annotate --hits | pahole --annotate Not sure keeping it two proglets makes sense, but whatever :-) The alternative I suppose is making perf do the IP->struct::member mapping and freed that to pahole, which then only uses it to annotate the output. Or, munge the entirety of pahole into perf..