Received: by 10.223.176.5 with SMTP id f5csp1628523wra; Wed, 31 Jan 2018 09:08:15 -0800 (PST) X-Google-Smtp-Source: AH8x225oeEtcRPrYvtVfkmnJ8TDeOkelC3ykR5dAzn06ia9lI02HIHcTXlFFSVDIMed53inFqLQ3 X-Received: by 10.98.32.151 with SMTP id m23mr34587963pfj.182.1517418495333; Wed, 31 Jan 2018 09:08:15 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1517418495; cv=none; d=google.com; s=arc-20160816; b=BiZBaCXkuH3lSi6IC31ZYN/0uDlrz9ILlSPbAJEBJZbumE0H+OT1BiLsrfqDDWlF7b Fs7Vy8qmXh7QkLC0kM1cm+UmSH9zAHsaSR7RK9ljPAaBFbd3H5lYczu9BoM8oIOihahn 8yu+05G1jssRKwsFGwpBx4lS84W3eZCRMNnyL334iAAAy2vzO5tlaRbhxqHoduEOPoGf Sd1mQUETnSj7VdJLrD5JFno1nSg3Qw6crchZPEcjfg5/L3QQ3lbEgOt0qXb1mb981eCO tvMadws7SHlm/sqRhgRdQWJ/YtbmxYzZbjF6qndmNHwCJPTxmJiwYo/gECU/1QxK3/93 qn9w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :arc-authentication-results; bh=H93hZEkatX3Abi9Li93gihDvPoxMABUu9/WF/dDMync=; b=stzN4VP6odzzqIlHJFV0AnIvpU4C9RJl+4dc1OPFsC313ISBzz7bdyYy7gGZOZD4Tg JUb3MdpAMgTYfuFqgMIIiQgV6BwtY9j6e6UJb/WqUYwvXxVsCLVhk1cL7bVIksOz07XY EmRQgHVZREwiu/2vnC80iqzQfaf1F3FJLZmUKO+LMGZTooDPQyF/opmPvQehx2m8qts+ DOCk9fGR+GvgBhH3KHkkMjpe0uj9wEZ7f6UmXlBlefOFGdfcMoaEmxXQ24jYRI8apLQh ci7LQyLl8S2mFFXmkS2lW+9WqmGCzng9E+jSwhzFNeTUjs57/z+fSmq+ZWr5yhBt1Pb7 7cUA== 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 t190si4052790pgc.129.2018.01.31.09.08.00; Wed, 31 Jan 2018 09:08:15 -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 S1753572AbeAaP5p (ORCPT + 99 others); Wed, 31 Jan 2018 10:57:45 -0500 Received: from mga06.intel.com ([134.134.136.31]:36002 "EHLO mga06.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752300AbeAaP5j (ORCPT ); Wed, 31 Jan 2018 10:57:39 -0500 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga007.jf.intel.com ([10.7.209.58]) by orsmga104.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 31 Jan 2018 07:57:38 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.46,440,1511856000"; d="scan'208";a="14005602" Received: from gvt-dell.bj.intel.com (HELO gvt-dell-host.bj.intel.com) ([10.238.154.59]) by orsmga007.jf.intel.com with ESMTP; 31 Jan 2018 07:57:36 -0800 From: changbin.du@intel.com To: rostedt@goodmis.org Cc: mingo@redhat.com, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, Changbin Du Subject: [PATCH] tracing/fgraph: Missed irq return mark for leaf entry Date: Wed, 31 Jan 2018 23:48:49 +0800 Message-Id: <1517413729-20411-1-git-send-email-changbin.du@intel.com> X-Mailer: git-send-email 2.7.4 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Changbin Du The fgraph forget to print irq return mark for leaf entry. Then we can see unbalanced irq mark in the trace. This patch fix this. Before: 1) | SyS_write() { 1) | __fdget_pos() { 1) 0.061 us | __fget_light(); 1) 0.289 us | } 1) | vfs_write() { 1) 0.049 us | rw_verify_area(); 1) + 15.424 us | __vfs_write(); 1) ==========> | 1) 6.003 us | smp_apic_timer_interrupt(); 1) 0.055 us | __fsnotify_parent(); 1) 0.073 us | fsnotify(); 1) + 23.665 us | } 1) + 24.501 us | } After: 0) | SyS_write() { 0) | __fdget_pos() { 0) 0.052 us | __fget_light(); 0) 0.328 us | } 0) | vfs_write() { 0) 0.057 us | rw_verify_area(); 0) | __vfs_write() { 0) ==========> | 0) 8.548 us | smp_apic_timer_interrupt(); 0) <========== | 0) + 36.507 us | } /* __vfs_write */ 0) 0.049 us | __fsnotify_parent(); 0) 0.066 us | fsnotify(); 0) + 50.064 us | } 0) + 50.952 us | } Signed-off-by: Changbin Du --- kernel/trace/trace_functions_graph.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/kernel/trace/trace_functions_graph.c b/kernel/trace/trace_functions_graph.c index 23c0b0c..169b3c4 100644 --- a/kernel/trace/trace_functions_graph.c +++ b/kernel/trace/trace_functions_graph.c @@ -831,6 +831,7 @@ print_graph_entry_leaf(struct trace_iterator *iter, struct ftrace_graph_ret *graph_ret; struct ftrace_graph_ent *call; unsigned long long duration; + int cpu = iter->cpu; int i; graph_ret = &ret_entry->ret; @@ -839,7 +840,6 @@ print_graph_entry_leaf(struct trace_iterator *iter, if (data) { struct fgraph_cpu_data *cpu_data; - int cpu = iter->cpu; cpu_data = per_cpu_ptr(data->cpu_data, cpu); @@ -869,6 +869,9 @@ print_graph_entry_leaf(struct trace_iterator *iter, trace_seq_printf(s, "%ps();\n", (void *)call->func); + print_graph_irq(iter, graph_ret->func, TRACE_GRAPH_RET, + cpu, iter->ent->pid, flags); + return trace_handle_return(s); } -- 2.7.4