Arjan van de Ven wrote:> On Mon, 2007-05-14 at 10:26 +0200, Martin Peschke wrote:>>>> [root@t2930041 timer_stats]# cat data>>> this patch changes the userspace API though, and breaks PowerTOP :(>> Though I think it was unfortunate to add the "old" proc API in 2.6.21.>> timer_stats is clearly labeled as debug stuff in config help, which is why >> debugfs would have been a proper place.> > but it's not there, it's in it's current place. And userspace apps> depend on it...

mea culpa

> so what's the reason to change this after it became ABI ?

A sort of race condition ;-)

I posted this as an RFC when one of the last 2.6.21-rc's came out, that is timerstats wasn't ABI yet, anticipating that I was late anyway.

> If there's a good one I can fix powertop..

kernel/time/timer_stats.c | 385 +++++------------------------------- kernel/timer.c | 2 2 files changed, 59 insertions(+), 328 deletions(-)It would be similar for other kernel code I have looked at.And I think there would be an advantage if one was able to understand device driver A's statistics code immediately because it was written against some common library functions.

But it isn't easy to get this interface into the kernel by finding users.I have got to "intercept" candidates before they add some own ABI to proc or whereever, while I can't change established statistics.

In short, if you would like to help in this case, I would appreciate it.

> but.... oh well I hope you kept the rest of the file format the same ;)

Almost. Though, there might be ways to keep the old format totally unchanged.It would be a matter of stretching the concepts of a unified user interface for statistics.

Currently, my format comes with a substring representing <statistics name> <basket> preceding each line, which currently reads "expired - " plus the line powertop is familiar with.Would it be feasible to to teach powertop to skip the first two elements?