Hi Jiri, On Wed, Mar 09, 2016 at 10:13:56AM +0100, Jiri Olsa wrote: > On Wed, Mar 09, 2016 at 12:06:40AM +0900, Namhyung Kim wrote: > > When a command-line filter was applied in hierarchy mode, output was > > broken especially when filtering on lower level. The higher level > > entries didn't show up so it's hard to see the result. > > > > Also it needs to handle multi sort keys in a single level of hierarchy. > > > > Before: > > > > $ perf report --hierarchy -s 'cpu,{dso,comm}' --comms swapper --stdio > > ... > > # Overhead CPU / Shared Object+Command > > # ........... ........................... > > # > > 13.79% [kernel.vmlinux] swapper > > 31.71% 000 > > 13.80% [kernel.vmlinux] swapper > > 0.43% [e1000e] swapper > > 11.89% [kernel.vmlinux] swapper > > 9.18% [kernel.vmlinux] swapper > > > > After: > > > > # Overhead CPU / Shared Object+Command > > # ........... ............................... > > # > > 33.09% 003 > > 13.79% [kernel.vmlinux] swapper > > 31.71% 000 > > 13.80% [kernel.vmlinux] swapper > > 0.43% [e1000e] swapper > > 21.90% 002 > > 11.89% [kernel.vmlinux] swapper > > 13.30% 001 > > 9.18% [kernel.vmlinux] swapper > > I'm getting funny numbers when using 'F' toggle in tui mode > > [jolsa@krava perf]$ ./perf report --hierarchy -s 'cpu,{dso,comm}' --comms > swapper > > Samples: 254 of event 'cycles:pp', Event count (approx.): 132263887 > Overhead CPU / Shared Object+Command > > ◆ > + 69.85% 001 > > ▒ > + 44.28% 000 > > ▒ > + 41.62% 002 > > ▒ > + 36.80% 003 > > > > > [jolsa@krava perf]$ sudo ./perf top --hierarchy -s 'cpu,{dso,comm}' --comms > swapper > > Overhead CPU / Shared O+Command > + 320.64% 000 > + 179.91% 002 > + 137.05% 003 > + 88.37% 001
Hmm.. I think it's because that the total period is a sum of periods of leaf nodes. But if a filter is applied, sum of periods of upper level entries can be different than sum of the lower level entries. So it should use top-level entries periods instead IMHO. I will send a fix. Thanks, Namhyung