All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stephen Hemminger <shemminger@vyatta.com>
To: john stultz <johnstul@us.ibm.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	linux-kernel@vger.kernel.org
Subject: Re: clocksource changes in 2.6.31 - possible regression
Date: Mon, 17 Aug 2009 16:27:29 -0700	[thread overview]
Message-ID: <20090817162729.451613b4@nehalam> (raw)
In-Reply-To: <1250551074.7212.84.camel@localhost.localdomain>

On Mon, 17 Aug 2009 16:17:54 -0700
john stultz <johnstul@us.ibm.com> wrote:

> On Mon, 2009-08-17 at 16:02 -0700, Stephen Hemminger wrote:
> > On Mon, 17 Aug 2009 15:23:22 -0700
> > john stultz <johnstul@us.ibm.com> wrote:
> > 
> > > On Mon, 2009-08-17 at 14:45 -0700, Stephen Hemminger wrote:
> > > > On Mon, 17 Aug 2009 14:37:57 -0700
> > > > john stultz <johnstul@us.ibm.com> wrote:
> > > > > However, I think its fair, that as your TSC is being disqualified for
> > > > > being an old AMD SMP box, and there is a *possibility* that if you don't
> > > > > run with cpufreq and the SUMA-ness of the box didn't get in the way of
> > > > > TSC synchronization, you might have an argument for overriding the
> > > > > unsynchronized_tsc() heuristics.
> > > > > 
> > > > > Luckily the option is already there. :)
> > > > > 
> > > > > So try booting with "tsc=reliable" to override those checks, and I think
> > > > > you'll be able to do what you want to do.
> > > > > 
> > > > 
> > > > Good idea, doesn't work.
> > > > 
> > > > vyatta@amd1:~$ cat /proc/cmdline 
> > > > BOOT_IMAGE=/boot/vmlinuz-2.6.31-rc6 root=/dev/sda1 ro tsc=reliable
> > > > vyatta@amd1:~$ cat /sys/devices/system/clocksource/clocksource0/available_clocksource
> > > > acpi_pm 
> > > 
> > > Bah! My apologies for half-assing this. 
> > > 
> > > How about with the following *tested* patch (includes a variant of
> > > Thomas' fix). 
> > > 
> > > thanks
> > > -john
> > > 
> > > 
> > > Signed-off-by: John Stultz <johnstul@us.ibm.com>
> > > 
> > > diff --git a/arch/x86/kernel/tsc.c b/arch/x86/kernel/tsc.c
> > > index 71f4368..648fb26 100644
> > > --- a/arch/x86/kernel/tsc.c
> > > +++ b/arch/x86/kernel/tsc.c
> > > @@ -825,6 +825,9 @@ __cpuinit int unsynchronized_tsc(void)
> > >  
> > >  	if (boot_cpu_has(X86_FEATURE_CONSTANT_TSC))
> > >  		return 0;
> > > +
> > > +	if (tsc_clocksource_reliable)
> > > +		return 0;
> > >  	/*
> > >  	 * Intel systems are normally all synchronized.
> > >  	 * Exceptions must mark TSC as unstable:
> > > @@ -832,10 +835,10 @@ __cpuinit int unsynchronized_tsc(void)
> > >  	if (boot_cpu_data.x86_vendor != X86_VENDOR_INTEL) {
> > >  		/* assume multi socket systems are not synchronized: */
> > >  		if (num_possible_cpus() > 1)
> > > -			tsc_unstable = 1;
> > > +			return 1;
> > >  	}
> > >  
> > > -	return tsc_unstable;
> > > +	return 0;
> > >  }
> > >  
> > >  static void __init init_tsc_clocksource(void)
> > > 
> > > 
> > 
> > This adds tsc, but makes it first?  it is reliable, but do I want
> > to make it most important?
> > 
> > $ cat /sys/devices/system/clocksource/clocksource0/available_clocksource
> > tsc acpi_pm
> 
> 
> Well, if you're overriding the system saying that its safe, then sure,
> its better then anything else, why wouldn't we?
> 

That's acceptable, maybe add change to Documentation/kernel-parameters.txt

	tsc=		Disable clocksource-must-verify flag for TSC.
			Format: <string>
			[x86] reliable: mark tsc clocksource as reliable and
                        makes tsc the default clocksource; this
			disables clocksource verification at runtime.
			Used to enable high-resolution timer mode on older
			hardware, and in virtualized environment.


-- 

  reply	other threads:[~2009-08-17 23:27 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-08-17 16:03 clocksource changes in 2.6.31 - possible regression Stephen Hemminger
2009-08-17 17:46 ` Thomas Gleixner
2009-08-17 17:48 ` john stultz
2009-08-17 18:01   ` Stephen Hemminger
2009-08-17 18:15     ` john stultz
2009-08-17 18:27       ` Stephen Hemminger
2009-08-17 18:34         ` Thomas Gleixner
2009-08-17 19:54           ` Stephen Hemminger
2009-08-17 20:04             ` Thomas Gleixner
2009-08-17 20:27               ` Stephen Hemminger
2009-08-17 20:44                 ` Thomas Gleixner
2009-08-17 21:10         ` john stultz
2009-08-17 21:37           ` john stultz
2009-08-17 21:45             ` Stephen Hemminger
2009-08-17 22:23               ` john stultz
2009-08-17 23:02                 ` Stephen Hemminger
2009-08-17 23:17                   ` john stultz
2009-08-17 23:27                     ` Stephen Hemminger [this message]
2009-08-17 23:40                       ` [PATCH] make tsc=reliable override boot time stability checks john stultz
2009-08-18  1:39                         ` Alok Kataria
2009-08-19  1:04                           ` john stultz
2009-08-28 19:16                         ` [tip:x86/tsc] x86: Make " tip-bot for john stultz

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090817162729.451613b4@nehalam \
    --to=shemminger@vyatta.com \
    --cc=akpm@linux-foundation.org \
    --cc=johnstul@us.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=tglx@linutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.