[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <200704121136.03098.ak@novell.com>
Date: Thu, 12 Apr 2007 11:36:02 +0200
From: Andi Kleen <ak@...ell.com>
To: Andrew Morton <akpm@...ux-foundation.org>
Cc: Daniel Walker <dwalker@...sta.com>, linux-kernel@...r.kernel.org,
johnstul@...ibm.com, tglx@...utronix.de
Subject: Re: [PATCH] i386 tsc: remove xtime_lock'ing around cpufreq notifier
> OK, so I resurrected x86_64-mm-sched-clock-share.patch and
> x86_64-mm-sched-clock64.patch. The x86_64 box hangs on boot when using
> netconsole and printk timestamps too. Removing "time" from the kernel boot
> command line prevents that.
Ah. But ktime_get shouldn't printk. Or did you change that?
>
> This explains why the hang only happens with
> x86_64-mm-log-reason-why-tsc-was-marked-unstable.patch applied, too: that
> patch must be triggering a printk inside xtime_lock.
>
> Does someone want to cook up a lockless printk_clock() for i386 and x86_64?
Just use jiffies directly in printk. That's only HZ accurate, but should
be good enough for printk.
One could use pure monotonic xtime as fallback instead of ktime_get in sched_clock.
The trouble is just that they might cause sched_clock to go backwards during
a temporary instability period (cpufreq change) because the xtime will be
always a bit behind the TSC and a TSC->xtime conversion will lose time.
At least the scheduler doesn't handle backwards time warp on a CPU gratefully.
Ok I guess it could return max(last_value_before_instability, xtime)
-Andi
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists