timer_stats slimmed down
cover timer_stats slimmed down
2.6.21-rc* kernels come with a feature that adds timer statistics to /proc/timer_stats (CONFIG_TIMER_STATS). This patch set makes it use the proposed statistics infrastructure (-mm tree), and adds prequisite functions to the statistics code.
The result are noticeable lines of code savings. kernel/time/timer_stats.c which comes with several functions which can be made redundant by using corresponding functions of lib/statistic.c, that is:
- accounting
- printing output in sequential files
- user interface for switching accounting on/off, reset etc.
- measuring the accounting time
- per-cpu optimisations
Function that were missing in lib/statistics, and which are added by this patch set, are:
- allow arbitrary keys for statistics entries (e.g. structures)
- allow client to label output of statistics entries (e.g. using keys)
A secondary effect of the patch set is that we won't add another entry to good old /proc. The statistics infrastructure uses debugfs.
This patch set is a prototype that works for me, but which might allow for optimisations. Suggestions are welcome.
[Patch 1/4] timer_stats slimmed down: statistics prereq, cleanup [Patch 2/4] timer_stats slimmed down: statistics prereq, labels [Patch 3/4] timer_stats slimmed down: statistics prereq, keys [Patch 4/4] timer_stats slimmed down: using statistics infrastucture
Patch set is against 2.6.21-rc6-mm1 and additionaly requires "[Patch] statistics: fix sorted list" posted this morning.
Martin,
Quoted 19 lines · Martin Peschke
2.6.21-rc* kernels come with a feature that adds timer statistics to
/proc/timer_stats(CONFIG_TIMER_STATS). This patch set makes it use the proposed statistics infrastructure (-mm tree), and adds prequisite functions to the statistics code.The result are noticeable lines of code savings.
kernel/time/timer_stats.cwhich comes with several functions which can be made redundant by using corresponding functions oflib/statistic.c, that is:- accounting
- printing output in sequential files
- user interface for switching accounting on/off, reset etc.
- measuring the accounting time
- per-cpu optimisationsFunction that were missing in lib/statistics, and which are added by this patch set, are:
Quoted 8 lines
- allow arbitrary keys for statistics entries (e.g. structures)
- allow client to label output of statistics entries (e.g. using keys)A secondary effect of the patch set is that we won't add another entry to good old /proc. The statistics infrastructure uses debugfs.
This patch set is a prototype that works for me, but which might allow for optimisations. Suggestions are welcome.
I'm a bit short of time to take a closer look, but on the first glance it looks good to me. I give it a whirl, when I'm back from travelling.
tglx