diff options
author | Helge Deller <deller@gmx.de> | 2018-01-12 22:44:00 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2019-04-17 08:36:47 +0200 |
commit | 79bedcb095bdc5c83db65180b414a8b0ac89b91d (patch) | |
tree | e551fd0be41e32844edade0400d2914a505f37b3 | |
parent | 32810f94a69cc7b4bd3f3f7d1ca3a27248961bb7 (diff) |
parisc: Use cr16 interval timers unconditionally on qemu
commit 5ffa8518851f1401817c15d2a7eecc0373c26ff9 upstream.
When running on qemu we know that the (emulated) cr16 cpu-internal
clocks are syncronized. So let's use them unconditionally on qemu.
Signed-off-by: Helge Deller <deller@gmx.de>
Cc: stable@vger.kernel.org # 4.14+
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r-- | arch/parisc/include/asm/processor.h | 2 | ||||
-rw-r--r-- | arch/parisc/kernel/time.c | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/arch/parisc/include/asm/processor.h b/arch/parisc/include/asm/processor.h index 2e674e13e005..656984ec1958 100644 --- a/arch/parisc/include/asm/processor.h +++ b/arch/parisc/include/asm/processor.h @@ -323,6 +323,8 @@ extern int _parisc_requires_coherency; #define parisc_requires_coherency() (0) #endif +extern int running_on_qemu; + #endif /* __ASSEMBLY__ */ #endif /* __ASM_PARISC_PROCESSOR_H */ diff --git a/arch/parisc/kernel/time.c b/arch/parisc/kernel/time.c index 47ef8fdcd382..22754e0c3bda 100644 --- a/arch/parisc/kernel/time.c +++ b/arch/parisc/kernel/time.c @@ -299,7 +299,7 @@ static int __init init_cr16_clocksource(void) * The cr16 interval timers are not syncronized across CPUs, so mark * them unstable and lower rating on SMP systems. */ - if (num_online_cpus() > 1) { + if (num_online_cpus() > 1 && !running_on_qemu) { clocksource_cr16.flags = CLOCK_SOURCE_UNSTABLE; clocksource_cr16.rating = 0; } |