Re: [PATCH/RFC 3/4]Introduce "account modifiers" mechanism

Christian Borntraeger
2007-08-17T13:32:32Z

Am Freitag, 17. August 2007 schrieb Laurent Vivier:
> > The normal user/system accounting has the same issue, no? Whereever we
> > happen to land (kernel or user) gets the whole tick.
>
> Yes... but perhaps I should rewrite this too ;-)

If you look further, you will see, that this was actually rewritten in 2.6.12
and thats why we have cputime_t. The infrastructure is currently only used by
s390 and ppc64. On s390 we use our cpu timer to get the current time on each
syscall/irq/context switch etc to get precise accounting data for
system/user/irq/softirq/nice. We also get steal time (this is interesting for
the guest: how much of my cpu was actually not available because the
hypervisor scheduled me away). I dont know enough about other architectures
to say which one could exploit this infrastructure as well.

The current git tree is somewhat broken for CONFIG_VIRT_CPU_ACCOUTING due to
the accouting changes introduced by CFS - we work on this.

If you are interested in the cputime stuff, you can have a look at
arch/s390/kernel/vtime.c (account_system_vtime, account_vtime) as well as:

http://git.kernel.org/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=6be7071fdd321c206b1ee7a3e534782f25572830
for the first introduction and
http://git.kernel.org/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=db59f519d37f80683f3611927f6b5c3bdfc0f9e6
for the s390 exploitation.

Christian