diff options
author | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2008-12-31 09:11:41 -0500 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2008-12-31 09:11:48 -0500 |
commit | 9cfb9b3c3a7361c793c031e9c3583b177ac5debd (patch) | |
tree | b735c71e6fee3fd1464c21ce53f93d98ceddf90d /arch/s390/kernel/entry64.S | |
parent | 6f43092441bda528dd38f2dc6c1e2522c5079fb7 (diff) |
[PATCH] improve idle cputime accounting
Distinguish the cputime of the idle process where idle is actually using
cpu cycles from the cputime where idle is sleeping on an enabled wait psw.
The former is accounted as system time, the later as idle time.
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/kernel/entry64.S')
-rw-r--r-- | arch/s390/kernel/entry64.S | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/s390/kernel/entry64.S b/arch/s390/kernel/entry64.S index 16bb4fd1a403..ae83c195171c 100644 --- a/arch/s390/kernel/entry64.S +++ b/arch/s390/kernel/entry64.S | |||
@@ -559,8 +559,8 @@ kernel_per: | |||
559 | */ | 559 | */ |
560 | .globl io_int_handler | 560 | .globl io_int_handler |
561 | io_int_handler: | 561 | io_int_handler: |
562 | stpt __LC_ASYNC_ENTER_TIMER | ||
563 | stck __LC_INT_CLOCK | 562 | stck __LC_INT_CLOCK |
563 | stpt __LC_ASYNC_ENTER_TIMER | ||
564 | SAVE_ALL_BASE __LC_SAVE_AREA+32 | 564 | SAVE_ALL_BASE __LC_SAVE_AREA+32 |
565 | SAVE_ALL_ASYNC __LC_IO_OLD_PSW,__LC_SAVE_AREA+32 | 565 | SAVE_ALL_ASYNC __LC_IO_OLD_PSW,__LC_SAVE_AREA+32 |
566 | CREATE_STACK_FRAME __LC_IO_OLD_PSW,__LC_SAVE_AREA+32 | 566 | CREATE_STACK_FRAME __LC_IO_OLD_PSW,__LC_SAVE_AREA+32 |
@@ -721,8 +721,8 @@ io_notify_resume: | |||
721 | */ | 721 | */ |
722 | .globl ext_int_handler | 722 | .globl ext_int_handler |
723 | ext_int_handler: | 723 | ext_int_handler: |
724 | stpt __LC_ASYNC_ENTER_TIMER | ||
725 | stck __LC_INT_CLOCK | 724 | stck __LC_INT_CLOCK |
725 | stpt __LC_ASYNC_ENTER_TIMER | ||
726 | SAVE_ALL_BASE __LC_SAVE_AREA+32 | 726 | SAVE_ALL_BASE __LC_SAVE_AREA+32 |
727 | SAVE_ALL_ASYNC __LC_EXT_OLD_PSW,__LC_SAVE_AREA+32 | 727 | SAVE_ALL_ASYNC __LC_EXT_OLD_PSW,__LC_SAVE_AREA+32 |
728 | CREATE_STACK_FRAME __LC_EXT_OLD_PSW,__LC_SAVE_AREA+32 | 728 | CREATE_STACK_FRAME __LC_EXT_OLD_PSW,__LC_SAVE_AREA+32 |
@@ -746,6 +746,7 @@ __critical_end: | |||
746 | */ | 746 | */ |
747 | .globl mcck_int_handler | 747 | .globl mcck_int_handler |
748 | mcck_int_handler: | 748 | mcck_int_handler: |
749 | stck __LC_INT_CLOCK | ||
749 | la %r1,4095 # revalidate r1 | 750 | la %r1,4095 # revalidate r1 |
750 | spt __LC_CPU_TIMER_SAVE_AREA-4095(%r1) # revalidate cpu timer | 751 | spt __LC_CPU_TIMER_SAVE_AREA-4095(%r1) # revalidate cpu timer |
751 | lmg %r0,%r15,__LC_GPREGS_SAVE_AREA-4095(%r1)# revalidate gprs | 752 | lmg %r0,%r15,__LC_GPREGS_SAVE_AREA-4095(%r1)# revalidate gprs |