Commit d97180ad authored by Helge Deller's avatar Helge Deller
Browse files

parisc: Mark sched_clock unstable only if clocks are not syncronized



We check at runtime if the cr16 clocks are stable across CPUs. Only mark
the sched_clock unstable by calling clear_sched_clock_stable() if we
know that we run on a system which isn't syncronized across CPUs.

Signed-off-by: default avatarHelge Deller <deller@gmx.de>
parent 907872ba
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -150,8 +150,6 @@ void __init setup_arch(char **cmdline_p)
#ifdef CONFIG_PA11
	dma_ops_init();
#endif

	clear_sched_clock_stable();
}

/*
+3 −4
Original line number Diff line number Diff line
@@ -265,6 +265,9 @@ static int __init init_cr16_clocksource(void)
			    (cpu0_loc == per_cpu(cpu_data, cpu).cpu_loc))
				continue;

			/* mark sched_clock unstable */
			clear_sched_clock_stable();

			clocksource_cr16.name = "cr16_unstable";
			clocksource_cr16.flags = CLOCK_SOURCE_UNSTABLE;
			clocksource_cr16.rating = 0;
@@ -272,10 +275,6 @@ static int __init init_cr16_clocksource(void)
		}
	}

	/* XXX: We may want to mark sched_clock stable here if cr16 clocks are
	 *	in sync:
	 *	(clocksource_cr16.flags == CLOCK_SOURCE_IS_CONTINUOUS) */

	/* register at clocksource framework */
	clocksource_register_hz(&clocksource_cr16,
		100 * PAGE0->mem_10msec);