From: John L. <mov...@us...> - 2002-05-02 02:19:37
|
Update of /cvsroot/oprofile/oprofile In directory usw-pr-cvs1:/tmp/cvs-serv8579 Modified Files: ChangeLog TODO op_user.h Log Message: Most files touched, but actually nothing particularly exciting : 1) command line cleanup 2) daemon lock file 3) named sessions support Index: ChangeLog =================================================================== RCS file: /cvsroot/oprofile/oprofile/ChangeLog,v retrieving revision 1.427 retrieving revision 1.428 diff -u -d -r1.427 -r1.428 --- ChangeLog 2 May 2002 01:12:31 -0000 1.427 +++ ChangeLog 2 May 2002 02:19:02 -0000 1.428 @@ -1,3 +1,42 @@ +2002-05-02 John Levon <mo...@co...> + + * TODO: update + + * op_user.h: + * dae/op_start: + * dae/op_stop: + * dae/opd_util.h: + * dae/opd_util.c: + * dae/oprofiled.c: + * dae/oprofiled.h: + * doc/oprofile.1.in: + * doc/oprofile.xml: + * gui/oprof_start.h: + * gui/oprof_start.cpp: + * gui/oprof_start_config.h: + * gui/oprof_start_config.cpp: + * gui/ui/oprof_start_base.ui: + * oprof_report/oprof_report.cpp: + * pp/op_merge.cpp: + * pp/op_time.cpp: + * pp/opf_filter.cpp: + * pp/oprofpp.cpp: + * pp/oprofpp.h: + * pp/oprofpp_util.cpp: remove useless command line + options in anticipation of the new spec + + * libdb/db-manage.c: reset base_memory and fd + on close + + * dae/.cvsignore: + * dae/Makefile.in: + * dae/op_session.c: + * dae/opd_proc.c: + * dae/opd_proc.h: + * dae/oprofiled.h: + * dae/oprofiled.c: use lock file for daemon. + Implement named sessions + 2002-05-02 Philippe Elie <ph...@wa...> * pp/oprofpp.cpp: Index: TODO =================================================================== RCS file: /cvsroot/oprofile/oprofile/TODO,v retrieving revision 1.98 retrieving revision 1.99 diff -u -d -r1.98 -r1.99 --- TODO 1 May 2002 19:56:17 -0000 1.98 +++ TODO 2 May 2002 02:19:04 -0000 1.99 @@ -3,23 +3,22 @@ o fix kernel/module problem o - disable oprof_report for now by default - o test post-profile -c0,1 --sort - o check post profile for multiple symbols with same name Before 1.0 ---------- o document gcc 2.95 and linenr info problems especially for inline functions - o remove pid filter from module ... - o get symbol size via elf instead of bfd + o document somewhere that oprofpp -s blah will only find the first symbol + called "blah" (not worth fixing) + o get symbol size via elf instead of bfd ? o add support for samples not belonging to any symbols probably through artificially created symbols these two todo are perhaps worthwhile to implement now. The new filtering of symbols make them less interesting. - let's wait - john - o remaining little cleanups of output format etc. (wahat needs doing ??) o difference between two profile session. Difference must be made at source level. (This is a part of post-prof). Difference can be made also at symbols level. Important. - o Checkpointing + o better support in post-prof for session names. Consistent cmd line interfaces - + this should be before 1.0 so we don't piss off users o We want to make the post-prof stuff far more flexible. See my doc in oprofile-tests module. So for starters we want a nice internal API for accessing info that we can @@ -41,18 +40,14 @@ o determine where we need preempt_disable/enable to prevent pre-emption + test (ugh) o should we pin rather than loop sample buffer overflow too ? o audit oprof_start for security + document sudo - o split documentation into tutorial + ref. Include /everything/ in the ref: sample format, - logfile meanings etc. + o split doc into user's manual and hacking manual, document much more o op_time for only some specified files... - o cache some stuff / nr. samples - op_time is horrendously slow o coherent naming class conventions o use standard C integer type <stdint.h> int32_t int16_t etc. - but they are so ugly ... o add option to op_to_source like oprofpp -u -m on a symbol basis. o review the exception table of the nmi handler (at least stop oprofile) - o take oprof_convert out the back and do the cruel to be kind thing (cleanup after that misc.h/misc.c see opd_simplify_pathname) o more discussion of problematic code needs to go in the "interpreting" section. - o use a filelock rather a sleep to synchronize op_start and daemon. o check chroot() processes and the path hash stuff o thread profiling in the old and new flavour (2.5 introduce a new thread handling) @@ -85,7 +80,7 @@ * @return false if there were no wheels */ -- demangling +- demangling automatically oprof_report: @@ -97,18 +92,12 @@ - tune and test hotspot - source (later ?) - o profile the NMI handler code -o post-prof GUI ? (big job) o merge sample files into one big report (like vtune can do repeated runs) -? o move .oprofile to name=value pairs to avoid conflicts on change. - o move from racy sysctl to procfs, if it can be done nicely -o pentium 4 patches ? - o integrate dasm, probably the best way is to allow to fall back to objdump. o turn (or only compile) daemon in C++ to allow more code sharing with pp/gui @@ -122,8 +111,6 @@ o the interrupt handler code could probably be improved by moving into asm -o can we fold in the "untouched sample entry" case in hash table to another case ? - o we don't really need a vmlinux file during profiling ... o Other x86 processors Index: op_user.h =================================================================== RCS file: /cvsroot/oprofile/oprofile/op_user.h,v retrieving revision 1.22 retrieving revision 1.23 diff -u -d -r1.22 -r1.23 --- op_user.h 30 Apr 2002 20:42:15 -0000 1.22 +++ op_user.h 2 May 2002 02:19:04 -0000 1.23 @@ -18,10 +18,17 @@ #ifndef OP_USER_H #define OP_USER_H -/* stuff shared between user-space and the module */ - #include "version.h" +/* various paths, duplicated in op_start */ +#define OP_BASE_DIR "/var/lib/oprofile/" +#define OP_SAMPLES_DIR OP_BASE_DIR "samples/" +#define OP_LOCK_FILE OP_BASE_DIR "lock" +#define OP_DEVICE OP_BASE_DIR "opdev" +#define OP_NOTE_DEVICE OP_BASE_DIR "opnotedev" +#define OP_HASH_DEVICE OP_BASE_DIR "ophashmapdev" +#define OP_LOG_FILE OP_BASE_DIR "oprofiled.log" + /*@{\name miscellaneous types */ #ifndef u8 #define u8 unsigned char |