[PATCH] improve precision of process accounting.
The unit of the cputime accouting values that are stored per process is currently a microsecond. The CPU timer has a maximum granularity of 2**-12 microseconds. There is no benefit in storing the per process values in the lesser precision and there is the disadvantage that the backend has to do the rounding to microseconds. The better solution is to use the maximum granularity of the CPU timer as cputime unit. Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
@@ -99,7 +99,7 @@ static inline void restore_access_regs(unsigned int *acrs)
|
||||
prev = __switch_to(prev,next); \
|
||||
} while (0)
|
||||
|
||||
extern void account_vtime(struct task_struct *);
|
||||
extern void account_vtime(struct task_struct *, struct task_struct *);
|
||||
extern void account_tick_vtime(struct task_struct *);
|
||||
extern void account_system_vtime(struct task_struct *);
|
||||
|
||||
@@ -121,7 +121,7 @@ static inline void cmma_init(void) { }
|
||||
|
||||
#define finish_arch_switch(prev) do { \
|
||||
set_fs(current->thread.mm_segment); \
|
||||
account_vtime(prev); \
|
||||
account_vtime(prev, current); \
|
||||
} while (0)
|
||||
|
||||
#define nop() asm volatile("nop")
|
||||
|
Reference in New Issue
Block a user