Received: by 10.223.148.5 with SMTP id 5csp6036623wrq; Wed, 17 Jan 2018 08:37:51 -0800 (PST) X-Google-Smtp-Source: ACJfBovfJJJK6cObje0kbYfKnQpZEXuuHMfqDIFc+BpJYao8XgBngegmYXVVToyyEIRJowvaQxrK X-Received: by 10.98.242.2 with SMTP id m2mr13952072pfh.102.1516207071739; Wed, 17 Jan 2018 08:37:51 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1516207071; cv=none; d=google.com; s=arc-20160816; b=fJGpenPuJMPQDtv/4Rz35CjMQdFRa3S0ddF1OKz6nulFcXgW99KajCaMYKT5oIdP+9 iuK2l2rdrYxUtZUCO7glBceUcY7L4BdKsJ51DvvFuCVERhW1Ddjo39YwvLx3NWapKr0l Ws12q2kcoXGwFciE5zXB9sgDkMzGguVzbtmFDsSfDA3fCZX+fiJygq440Jm9qe3M6HA1 my2RaM5aciwksP/HBhF7LaGOe2LgKNJbcGr05C8dPtqu3hStX6HMJpTBC6oo59R+E9jT qf8ReRSFuoSiNIpL7pLj3NRHmYnK02s0nApHrrkLi+amWDX0Tg0HcI+KALA7Z0MQjA0D 0FlA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-disposition :content-transfer-encoding:mime-version:robot-unsubscribe:robot-id :git-commit-id:subject:to:reply-to:cc:message-id:from:date :arc-authentication-results; bh=fIIzsyIFmKpVdQKtYsK0Da2v0AvlEcfQympXZCopPsY=; b=T4O1Fivbok76RBLIxpW0fJNRWVM7EWCsKQIe1HuDC/RDDwDbIqd976q4l0HMqvGRnB s/PrAYo+QrCRq7NvkSVNeJkH6PUMZQolwTR5E+waDqIUsl3hGMYVO6Tssx8OeZtMc8nx kWtLkHzlHKe9OPBRDRexrOn1pt9LaUS8hQ7QKOGMn1b5kq0y8zj0g5Eir/U9rfe74XTu HaAZ66qY47N+/LD/XH+nrADPy4BIB6vPbjW2NcAto2I1qe+idCAFIsUlH0OdjcVAFPWc NSJzF+MDJDcvJwtNFHYOmraTbwXIwahBsk+hEeThI6cd2ngCwYN6kkvTSjl6geddT6ET SJLw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id n10si2399482pgp.8.2018.01.17.08.37.37; Wed, 17 Jan 2018 08:37:51 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754498AbeAQQgt (ORCPT + 99 others); Wed, 17 Jan 2018 11:36:49 -0500 Received: from terminus.zytor.com ([65.50.211.136]:58765 "EHLO terminus.zytor.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754378AbeAQQgr (ORCPT ); Wed, 17 Jan 2018 11:36:47 -0500 Received: from terminus.zytor.com (localhost [127.0.0.1]) by terminus.zytor.com (8.15.2/8.15.2) with ESMTP id w0HGY7kZ001639; Wed, 17 Jan 2018 08:34:07 -0800 Received: (from tipbot@localhost) by terminus.zytor.com (8.15.2/8.15.2/Submit) id w0HGY7r5001634; Wed, 17 Jan 2018 08:34:07 -0800 Date: Wed, 17 Jan 2018 08:34:07 -0800 X-Authentication-Warning: terminus.zytor.com: tipbot set sender to tipbot@zytor.com using -f From: tip-bot for Arnaldo Carvalho de Melo Message-ID: Cc: wangnan0@huawei.com, linux-kernel@vger.kernel.org, acme@redhat.com, jolsa@kernel.org, mingo@kernel.org, tglx@linutronix.de, adrian.hunter@intel.com, brueckner@linux.vnet.ibm.com, tmricht@linux.vnet.ibm.com, namhyung@kernel.org, dsahern@gmail.com, hpa@zytor.com Reply-To: jolsa@kernel.org, acme@redhat.com, tglx@linutronix.de, adrian.hunter@intel.com, mingo@kernel.org, wangnan0@huawei.com, linux-kernel@vger.kernel.org, hpa@zytor.com, dsahern@gmail.com, brueckner@linux.vnet.ibm.com, namhyung@kernel.org, tmricht@linux.vnet.ibm.com To: linux-tip-commits@vger.kernel.org Subject: [tip:perf/core] perf trace: Allow overriding global --max-stack per event Git-Commit-ID: bd3dda9ab0fbdb8a91a2e869d93a0c9692b8444f X-Mailer: tip-git-log-daemon Robot-ID: Robot-Unsubscribe: Contact to get blacklisted from these emails MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=UTF-8 Content-Disposition: inline X-Spam-Status: No, score=-2.9 required=5.0 tests=ALL_TRUSTED,BAYES_00 autolearn=ham autolearn_force=no version=3.4.1 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on terminus.zytor.com Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Commit-ID: bd3dda9ab0fbdb8a91a2e869d93a0c9692b8444f Gitweb: https://git.kernel.org/tip/bd3dda9ab0fbdb8a91a2e869d93a0c9692b8444f Author: Arnaldo Carvalho de Melo AuthorDate: Mon, 15 Jan 2018 11:33:53 -0300 Committer: Arnaldo Carvalho de Melo CommitDate: Wed, 17 Jan 2018 10:23:33 -0300 perf trace: Allow overriding global --max-stack per event The per-event max-stack setting wasn't overriding the global --max-stack setting: # perf trace --no-syscalls --max-stack 4 -e probe_libc:inet_pton/call-graph=dwarf,max-stack=2/ ping -6 -c 1 ::1 PING ::1(::1) 56 data bytes 64 bytes from ::1: icmp_seq=1 ttl=64 time=0.072 ms --- ::1 ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 0.072/0.072/0.072/0.000 ms 0.000 probe_libc:inet_pton:(7feb7a998350)) __inet_pton (inlined) gaih_inet.constprop.7 (/usr/lib64/libc-2.26.so) __GI_getaddrinfo (inlined) [0xffffaa39b6108f3f] (/usr/bin/ping) # Fix it: # perf trace --no-syscalls --max-stack 4 -e probe_libc:inet_pton/call-graph=dwarf,max-stack=2/ ping -6 -c 1 ::1 PING ::1(::1) 56 data bytes 64 bytes from ::1: icmp_seq=1 ttl=64 time=0.073 ms --- ::1 ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 0.073/0.073/0.073/0.000 ms 0.000 probe_libc:inet_pton:(7f1083221350)) __inet_pton (inlined) gaih_inet.constprop.7 (/usr/lib64/libc-2.26.so) # Cc: Adrian Hunter Cc: David Ahern Cc: Hendrick Brueckner Cc: Jiri Olsa Cc: Namhyung Kim Cc: Thomas Richter Cc: Wang Nan Link: https://lkml.kernel.org/n/tip-ic3g837xg8ob3kcpkspxwz0g@git.kernel.org Signed-off-by: Arnaldo Carvalho de Melo --- tools/perf/builtin-trace.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/tools/perf/builtin-trace.c b/tools/perf/builtin-trace.c index ee85c29..531d43b 100644 --- a/tools/perf/builtin-trace.c +++ b/tools/perf/builtin-trace.c @@ -1644,7 +1644,7 @@ static int trace__resolve_callchain(struct trace *trace, struct perf_evsel *evse struct addr_location al; if (machine__resolve(trace->host, &al, sample) < 0 || - thread__resolve_callchain(al.thread, cursor, evsel, sample, NULL, NULL, trace->max_stack)) + thread__resolve_callchain(al.thread, cursor, evsel, sample, NULL, NULL, evsel->attr.sample_max_stack)) return -1; return 0; @@ -2423,6 +2423,18 @@ static int trace__run(struct trace *trace, int argc, const char **argv) trace->multiple_threads = thread_map__pid(evlist->threads, 0) == -1 || evlist->threads->nr > 1 || perf_evlist__first(evlist)->attr.inherit; + + /* + * Now that we already used evsel->attr to ask the kernel to setup the + * events, lets reuse evsel->attr.sample_max_stack as the limit in + * trace__resolve_callchain(), allowing per-event max-stack settings + * to override an explicitely set --max-stack global setting. + */ + evlist__for_each_entry(evlist, evsel) { + if ((evsel->attr.sample_type & PERF_SAMPLE_CALLCHAIN) && + evsel->attr.sample_max_stack == 0) + evsel->attr.sample_max_stack = trace->max_stack; + } again: before = trace->nr_events;