linux/arch/s390/lib
Christian Borntraeger 78d81f2f84 [S390] Fix enabled udelay for short delays.
When udelay() gets called with a delay that would expire before the
next clock event it reprograms the clock comparator.
When the interrupt happens the clock comparator won't be resetted
therefore the interrupt condition doesn't get cleared.
The result is an endless timer interrupt loop until the next clock
event would expire (stored in lowcore).
So udelay() usually would wait much longer for small delays than it
should.

Fix this by disabling the local tick which makes sure that the clock
comparator will be resetted when a timer interrupt happens.

Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2009-10-06 10:35:08 +02:00
..
delay.c [S390] Fix enabled udelay for short delays. 2009-10-06 10:35:08 +02:00
div64.c [S390] __div64_31 broken for CONFIG_MARCH_G5 2009-03-18 13:28:12 +01:00
Makefile [S390] add __ucmpdi2() helper function 2009-07-07 16:37:53 +02:00
qrnnd.S [S390] Calibrate delay and bogomips. 2007-02-05 21:18:31 +01:00
spinlock.c [S390] implement interrupt-enabling rwlocks 2009-06-12 10:27:29 +02:00
string.c [S390] use compiler builtin versions of strlen/strcpy/strcat 2009-03-26 15:24:24 +01:00
uaccess_mvcos.c [S390] uaccess_mvcos: #ifdef config dependent code. 2008-04-30 13:38:46 +02:00
uaccess_pt.c Move FAULT_FLAG_xyz into handle_mm_fault() callers 2009-06-21 13:08:22 -07:00
uaccess_std.c [S390] Fix futex_atomic_cmpxchg_std inline assembly. 2008-02-19 15:29:35 +01:00
uaccess.h
ucmpdi2.c [S390] add __ucmpdi2() helper function 2009-07-07 16:37:53 +02:00