Re: [PATCH 01/17] perf hists: Basic support of hierarchical report view
From: Jiri Olsa
Date: Sun Jan 17 2016 - 11:16:15 EST
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!
could we have the hist_entry storage little more generic?
and maybe dynamically allocated?
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 ;-)
I'm preparing RFC patchset in my perf/c2c branch, if you want
to take a look
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
thanks,
jirka