Message ID | 20170413114803.poziwglvrzbmtmvb@hirez.programming.kicks-ass.net (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 13/04/17 14:48, Peter Zijlstra wrote: > On Wed, Apr 12, 2017 at 05:49:53PM +0300, Martin Peres wrote: > >> Good to know. Is there a way to disable this behaviour, as a workaround for >> our CI system until a proper fix lands? We already pushed locally the revert >> for this patch, but that may affect other platforms which do not exhibit the >> problem. > > Blergh, so the patch is correct, but the __gtod_offset calculation is > fed with absolute crap numbers due to 'circumstances' and then using it > ends up being worse than not using it. Thanks for taking this bug seriously! > > Something like the below could be a work-around, but let me see if I > can't fix things better. Yeah, this should be a last-resort. Thanks, Martin
diff --git a/arch/x86/kernel/tsc.c b/arch/x86/kernel/tsc.c index 714dfba..8ab883a 100644 --- a/arch/x86/kernel/tsc.c +++ b/arch/x86/kernel/tsc.c @@ -374,6 +374,8 @@ static int __init tsc_setup(char *str) tsc_clocksource_reliable = 1; if (!strncmp(str, "noirqtime", 9)) no_sched_irq_time = 1; + if (!strcmp(str, "unstable")) + mark_tsc_unstable("boot parameter"); return 1; }