Todo
From Perf Wiki
(Difference between revisions)
Line 36: | Line 36: | ||
* Adopt Vince Weaver's suite of tests in 'perf test'. | * Adopt Vince Weaver's suite of tests in 'perf test'. | ||
** http://www.eece.maine.edu/~vweaver/projects/perf_events/validation/ | ** http://www.eece.maine.edu/~vweaver/projects/perf_events/validation/ | ||
+ | |||
+ | * Add reference counters to the dso, thread, structures, so that in tools like 'top' we can remove unused threads from the dead_threads list and also | ||
+ | unload symbol tables not referenced by any maps. |
Revision as of 19:01, 31 January 2013
Perf tools
- Factorize the multidimensional sorting between perf report and annotate (will be used by perf trace)
- Implement a perf cmp (profile comparison between two perf.data) (DONE, its called 'perf diff')
- Implement a perf view (GUI) (Partially done, see 'perf report --gtk')
- Enhance perf trace:
- Handle the cpu field
- Handle the timestamp
- Use the in-perf ip -> symbol resolving
- Use the in-perf pid -> cmdline resolving
- Implement multidimensional sorting by field name
- The feature tests performed only when a file that needs those tests, or at least only when some .c or .h file will be rebuilt
- Packages needed for the build should be checked before we start building object files, such as bison (bpetkov)
- Forward port the page fault tracepoints and use it in 'trace':
- Use the highest precision level available by default, e.g.: cycles:pp
- Use Kconfig to allow selecting features and build minimal version of perf, e.g. one with just 'record' for use in embedded platforms.
- David Ahern prototyped this, dig those patches and update them.
- Make the instruction augmentation in the annotate browser platform specific.
- Right now they are x86 specific but are in the common code.
- Cherry pick the plugin support in libtraceevent.
- Add build id support in PERF_RECORD_MMAP, so that we can support long running sessions where update of components may take place.
- Allow automatic downloading of DSOs with richer symtabs and DWARF info from debuginfo servers such as darkserver (https://fedoraproject.org/wiki/Darkserver).
- Limit the size of the build id cache (~/.debug), in a way similar to how ccache manages its cache.
- Adopt Vince Weaver's suite of tests in 'perf test'.
- Add reference counters to the dso, thread, structures, so that in tools like 'top' we can remove unused threads from the dead_threads list and also
unload symbol tables not referenced by any maps.