From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933094AbcASKwU (ORCPT ); Tue, 19 Jan 2016 05:52:20 -0500 Received: from mail-pa0-f67.google.com ([209.85.220.67]:35232 "EHLO mail-pa0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932677AbcASKwR (ORCPT ); Tue, 19 Jan 2016 05:52:17 -0500 Date: Tue, 19 Jan 2016 19:51:18 +0900 From: Namhyung Kim To: Jiri Olsa Cc: Arnaldo Carvalho de Melo , Ingo Molnar , Peter Zijlstra , Jiri Olsa , LKML , David Ahern , Stephane Eranian , Andi Kleen , Wang Nan Subject: Re: [PATCH 01/17] perf hists: Basic support of hierarchical report view Message-ID: <20160119105118.GC1324@danjae.kornet> References: <1452960197-5323-1-git-send-email-namhyung@kernel.org> <1452960197-5323-2-git-send-email-namhyung@kernel.org> <20160117161533.GC17618@krava.redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20160117161533.GC17618@krava.redhat.com> User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Jiri, On Sun, Jan 17, 2016 at 05:15:33PM +0100, Jiri Olsa wrote: > On Sun, Jan 17, 2016 at 01:03:01AM +0900, Namhyung Kim wrote: > > SNIP > > > char *srcfile; > > struct symbol *parent; > > - struct rb_root sorted_chain; > > struct branch_info *branch_info; > > struct hists *hists; > > struct mem_info *mem_info; > > void *raw_data; > > u32 raw_size; > > void *trace_output; > > + struct perf_hpp_fmt *fmt; > > + struct hist_entry *parent_he; > > + union { > > + /* this is for hierarchical entry structure */ > > + struct { > > + struct rb_root hroot_in; > > + struct rb_root hroot_out; > > + }; /* non-leaf entries */ > > + struct rb_root sorted_chain; /* leaf entry has callchains */ > > + }; > > looks like cool feature! Thanks! > > could we have the hist_entry storage little more generic? > and maybe dynamically allocated? I'm fine with it. > > I'm doing the same thing for the c2c stuff, like having > for each hist_entry its own 'struct hists' object, which > records data related to parent hist_entry > > maybe we could strip the 'hists' object to some bare minimum > which is needed for store/sort/stat and display entries > in hists_browser ;-) Yeah, as you can see, it basically needs a pointer to parent entry, hpp output format, and rbtrees for chlidren. Also I added depth and leaf field to make it easy for browser routines. > > I'm preparing RFC patchset in my perf/c2c branch, if you want > to take a look Sure. > > however, as I said above, for my own sake it all boils down > to have 'hists' object within hist_entry, so I can use it > in the UI code easily > > FYI I also added support for hists object's own sort/output > format lists.. which I'll curve out and send for review soon OK, will take a look. Thanks, Namhyung