Rusty Russell wrote: > On Thu, 2007-08-16 at 17:58 +0200, Laurent Vivier wrote: >> [PATCH 3/3] introduce "account modifiers" mechanism in the kernel allowing a >> module to modify the collected accounting for a given task. This implementation >> is based on the "preempt_notifier". "account_system_time()" and >> "account_user_time()" can call functions registered by a module to modify the >> cputime value. >> >> Signed-off-by: Laurent Vivier <[email protected]> > > > Hi Laurent, Hi Rusty, how are your puppies ? And thank you for your comment. > This seems a little like overkill. Why not just add an > "account_guest_time" which subtracts the given amount of time from > system time (if available) and adds it to guest time? Then kvm (and > lguest) should just need to call this at the right times. We can. I did something like this before. By doing like that, I think there is a major issue: system time can be decreasing (as we substract a value from it), and thus we can have negative value in a tool like top. It's why I play with the cputime to add to system time and not directly with the system time. BUT I'm very open, my only goal is be able to compute guest time, "how" is not very important... what we can do: - keep PATCHES 1 and 2, because we need to store guest time for cpu and tasks. It is very generic. - remove PATCH 3, and add in task_struct a "ktime vtime" where we accumulate guest time (by calling something like guest_enter() and guest_exit() from the virtualization engine), and when in account_system_time() we have cputime > vtime we substrate vtime from cputime and add vtime to user time and guest time. But doing like this we freeze in kernel/sched.c the link between system time, user time and guest time (i.e. system time = system time - vtime, user time = user time + vtime and guest time = guest time + vtime). - modify PATCH 4 to use new PATCH 3. Do you agree ? Anybody doesn't agree ? Laurent -- ------------- [email protected] -------------- "Software is hard" - Donald Knuth
Attachment:
signature.asc
Description: OpenPGP digital signature
- Follow-Ups:
- Re: [PATCH/RFC 3/4]Introduce "account modifiers" mechanism
- From: Rusty Russell <[email protected]>
- Re: [PATCH/RFC 3/4]Introduce "account modifiers" mechanism
- References:
- [PATCH/RFC 3/4]Introduce "account modifiers" mechanism
- From: Laurent Vivier <[email protected]>
- Re: [PATCH/RFC 3/4]Introduce "account modifiers" mechanism
- From: Rusty Russell <[email protected]>
- [PATCH/RFC 3/4]Introduce "account modifiers" mechanism
- Prev by Date: Re: [PATCH 0/24] make atomic_read() behave consistently across all architectures
- Next by Date: Re: Fork Bombing Patch
- Previous by thread: Re: [PATCH/RFC 3/4]Introduce "account modifiers" mechanism
- Next by thread: Re: [PATCH/RFC 3/4]Introduce "account modifiers" mechanism
- Index(es):