public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: john stultz <johnstul@us.ibm.com>
To: Stephen Hemminger <shemminger@vyatta.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 10:48:57 -0700	[thread overview]
Message-ID: <1250531337.26171.12.camel@work-vm> (raw)
In-Reply-To: <20090817090319.20979986@nehalam>

On Mon, 2009-08-17 at 09:03 -0700, Stephen Hemminger wrote:
> The following commit causes a change for kernels built with HRT but
> not actually using HRT.  I typically use the generic kernel we ship
> on test machines, and that kernel has NOHZ and HRT (for power savings/virt
> and HRT for QoS), but I want to be able to enable TSC as a clock source
> when doing performance tests with pktgen.
> 
> The machine in question is a several year old Opteron box, that
> normally reports clocksources: acpi_pm jiffies tsc
> but now with 2.6.31-rc6, it only has acpi_pm.

I might need to review the patch again, but I believe we just don't
allow you to switch to non HRT compatible clocksources (like jiffies) if
we're already in HRT mode (and thus would hang when switched). 


The behavior you describe where you can't switch to the TSC, may be due
to the TSC disqualification code marking it as non HRT compatible
(again, I need to double check). While I'm not sure that's really
correct, as the TSC is fine for HRT, in this case on your box, the TSC
has been marked as unstable (likely due to being unsynced on old AMD SMP
systems). There is a real chance that the timekeeping code on your
system could see the TSC go backwards, calculate a negative time
interval, and then end up hanging. 

I suspect for that reason its been removed from the clocksource list.

Thomas: what's your take on this? It seems the proper fix would be to
maybe have a "go ahead, shoot yourself" boot option that disables the
TSC disqualification? Or should we not be flipping the HRT compatible
flag on the TSC clocksource on disqualification?


> Since HRT/NOHZ is not really runtime configurable, I think the
> proper behavior is:
> 
>   * kernel reports all possible clocksources and chooses the best
>     by default
>   * if user demands a different clocksource, the kernel should use that
>     but degrade if necessary: ie. high-res timers have less (maybe even
>     only HZ accuracy), and nohz should be automatically disabled if
>     needed

Yea, the way it is is actually due to HRT/NOHZ not being runtime
configurable. Safely shutting down HRT/NOHZ is more difficult then the
transition to enabling it, so once its on, its on .

-john


  parent reply	other threads:[~2009-08-17 17:50 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 [this message]
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
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=1250531337.26171.12.camel@work-vm \
    --to=johnstul@us.ibm.com \
    --cc=akpm@linux-foundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=shemminger@vyatta.com \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox