perf kmem: Support sort keys on page analysis
Add new sort keys for page: page, order, migtype, gfp - existing
'bytes', 'hit' and 'callsite' sort keys also work for page. Note that
-s/--sort option should be preceded by either of --slab or --page option
to determine where the sort keys applies.
Now it properly groups and sorts allocation stats - so same
page/caller with different order/migtype/gfp will be printed on a
different line.
# perf kmem stat --page --caller -l 10 -s order,hit
-----------------------------------------------------------------------------
Total alloc (KB) | Hits | Order | Mig.type | GFP flags | Callsite
-----------------------------------------------------------------------------
64 | 4 | 2 | RECLAIM |
00285250 | new_slab
50,144 | 12,536 | 0 | MOVABLE |
0102005a | __page_cache_alloc
52 | 13 | 0 | UNMOVABL |
002084d0 | pte_alloc_one
40 | 10 | 0 | MOVABLE |
000280da | handle_mm_fault
28 | 7 | 0 | UNMOVABL |
000000d0 | __pollwait
20 | 5 | 0 | MOVABLE |
000200da | do_wp_page
20 | 5 | 0 | MOVABLE |
000200da | do_cow_fault
16 | 4 | 0 | UNMOVABL |
00000200 | __tlb_remove_page
16 | 4 | 0 | UNMOVABL |
000084d0 | __pmd_alloc
8 | 2 | 0 | UNMOVABL |
000084d0 | __pud_alloc
... | ... | ... | ... | ... | ...
-----------------------------------------------------------------------------
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Acked-by: Pekka Enberg <penberg@kernel.org>
Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Joonsoo Kim <js1304@gmail.com>
Cc: Minchan Kim <minchan@kernel.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: linux-mm@kvack.org
Link: http://lkml.kernel.org/r/1429592107-1807-3-git-send-email-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>