[PATCH] s390: cpu timer reset in machine check handler
authorHeiko Carstens <heiko.carstens@de.ibm.com>
Wed, 27 Jul 2005 18:45:06 +0000 (11:45 -0700)
committerLinus Torvalds <torvalds@g5.osdl.org>
Wed, 27 Jul 2005 23:26:05 +0000 (16:26 -0700)
Fix wrong move direction of timer values for cpu accounting in case of a
machine check that indicates a broken cpu timer.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
arch/s390/kernel/entry.S
arch/s390/kernel/entry64.S

index 5b262b5..1a271b1 100644 (file)
@@ -690,9 +690,9 @@ mcck_int_handler:
        bo      BASED(0f)
        spt     __LC_LAST_UPDATE_TIMER  # revalidate cpu timer
 #ifdef CONFIG_VIRT_CPU_ACCOUNTING
-       mvc     __LC_LAST_UPDATE_TIMER(8),__LC_ASYNC_ENTER_TIMER
-       mvc     __LC_LAST_UPDATE_TIMER(8),__LC_SYNC_ENTER_TIMER
-       mvc     __LC_LAST_UPDATE_TIMER(8),__LC_EXIT_TIMER
+       mvc     __LC_ASYNC_ENTER_TIMER(8),__LC_LAST_UPDATE_TIMER
+       mvc     __LC_SYNC_ENTER_TIMER(8),__LC_LAST_UPDATE_TIMER
+       mvc     __LC_EXIT_TIMER(8),__LC_LAST_UPDATE_TIMER
 0:     tm      __LC_MCCK_CODE+2,0x08   # mwp of old psw valid?
        bno     BASED(mcck_no_vtime)    # no -> skip cleanup critical
        tm      __LC_MCK_OLD_PSW+1,0x01 # interrupting from user ?
index 57ca75d..d9f2291 100644 (file)
@@ -727,9 +727,9 @@ mcck_int_handler:
        jo      0f
        spt     __LC_LAST_UPDATE_TIMER
 #ifdef CONFIG_VIRT_CPU_ACCOUNTING
-       mvc     __LC_LAST_UPDATE_TIMER(8),__LC_ASYNC_ENTER_TIMER
-       mvc     __LC_LAST_UPDATE_TIMER(8),__LC_SYNC_ENTER_TIMER
-       mvc     __LC_LAST_UPDATE_TIMER(8),__LC_EXIT_TIMER
+       mvc     __LC_ASYNC_ENTER_TIMER(8),__LC_LAST_UPDATE_TIMER
+       mvc     __LC_SYNC_ENTER_TIMER(8),__LC_LAST_UPDATE_TIMER
+       mvc     __LC_EXIT_TIMER(8),__LC_LAST_UPDATE_TIMER
 0:     tm      __LC_MCCK_CODE+2,0x08   # mwp of old psw valid?
        jno     mcck_no_vtime           # no -> no timer update
        tm      __LC_MCK_OLD_PSW+1,0x01 # interrupting from user ?