Skip to contentSkip to conversation

timer_stats slimmed down

RFC PATCH In review Martin Peschke 2 participants 2 messages Apr 14, 2007 s390

lore
Share & tools
lore
#0 lore raw

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.

#1 lore raw

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.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:

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