From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752605AbbJFMZR (ORCPT ); Tue, 6 Oct 2015 08:25:17 -0400 Received: from mx1.redhat.com ([209.132.183.28]:57286 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751616AbbJFMZQ (ORCPT ); Tue, 6 Oct 2015 08:25:16 -0400 From: Jiri Olsa To: Arnaldo Carvalho de Melo Cc: lkml , David Ahern , Ingo Molnar , Namhyung Kim , Peter Zijlstra Subject: [RFC 0/3] perf tools: Make perf_hpp__init respect output dimensions Date: Tue, 6 Oct 2015 14:25:09 +0200 Message-Id: <1444134312-29136-1-git-send-email-jolsa@kernel.org> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org hi, The perf_hpp__init currently does not respect sorting dimensions and the setup_sorting function could endup queueing same format twice. That screwed up the perf_hpp__list and got stuck in loop within perf_hpp__setup_output_field function. $ perf report -F +overhead 0x00000000004c1355 in perf_hpp__is_sort_entry (format=format@entry=0x880440 ) at util/sort.c:1506 1506 { #0 0x00000000004c1355 in perf_hpp__is_sort_entry (format=format@entry=0x880440 ) at util/sort.c:1506 #1 0x00000000004c139d in perf_hpp__same_sort_entry (a=a@entry=0x880440 , b=b@entry=0x2bb2fe0) at util/sort.c:1380 #2 0x00000000004f8d3c in perf_hpp__setup_output_field () at ui/hist.c:554 #3 0x00000000004c1d1e in setup_sorting () at util/sort.c:1984 #4 0x000000000042efbf in cmd_report (argc=0, argv=0x7ffea5a0e790, prefix=) at builtin-report.c:874 #5 0x0000000000476f13 in run_builtin (p=p@entry=0x875628 , argc=argc@entry=3, argv=argv@entry=0x7ffea5a0e790) at perf.c:385 #6 0x000000000047710b in handle_internal_command (argc=3, argv=0x7ffea5a0e790) at perf.c:445 #7 0x0000000000477176 in run_argv (argcp=argcp@entry=0x7ffea5a0e5fc, argv=argv@entry=0x7ffea5a0e5f0) at perf.c:489 #8 0x00000000004773e7 in main (argc=3, argv=0x7ffea5a0e790) at perf.c:606 Using hpp_dimension__add_output function to register the output column. It will also mark the dimension as taken and omit above stuck. It might need some other changes.. not sure, Namhyung? ;-) Available in: git://git.kernel.org/pub/scm/linux/kernel/git/jolsa/perf.git perf/cols thanks, jirka --- Jiri Olsa (3): perf tools: Get rid of superfluos call to reset_dimensions perf tools: Introduce hpp_dimension__add_output function perf tools: Use hpp_dimension__add_output to register hpp columns tools/perf/ui/hist.c | 16 ++++++++-------- tools/perf/util/sort.c | 8 ++++++-- tools/perf/util/sort.h | 2 ++ 3 files changed, 16 insertions(+), 10 deletions(-)