All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alex Williamson <alex.williamson@hp.com>
To: Christoph Lameter <clameter@engr.sgi.com>
Cc: tony.luck@intel.com, linux-kernel@vger.kernel.org
Subject: Re: long delays (possibly infinite) in time_interpolator_get_counter
Date: Sat, 30 Jul 2005 10:47:34 -0600	[thread overview]
Message-ID: <1122742054.28719.58.camel@localhost.localdomain> (raw)
In-Reply-To: <Pine.LNX.4.62.0507291625390.19428@schroedinger.engr.sgi.com>

On Fri, 2005-07-29 at 16:31 -0700, Christoph Lameter wrote:
> What you are dealing with is a machine that is using ITC as a time bases. 
> That is a special case.

   The default time source for ia64 systems is a "special case"?  4
socket and smaller boxes typically do not have any other time source.

> The fix should not affect machines that have a 
> proper time source. More below. You can circumvent the compensation for 
> ITC inaccuracies by specifying "nojitter" on the kernel command if you are 
> willing to take the risk of slightly inaccurate time.

   And what if you don't have any HPET and aren't willing to take that
risk?  We need a solution that works with all time sources.  A system
with the default time source should not hang or have unreasonable delays
with the standard setup.  Why is a synchronized ITC driven from a common
clock such a terrible time source for small systems?

> Well get a proper time source and do not use ITC for a time source in an 
> SMP system. Got HPET hardware?

   No, HPET on small boxes is unnecessary, we should be able to come up
with something that can effectively use the ITC.  Does a seqlock really
make sense for the do_gettimeofday() path?  This problem arises because
a reader of time is actually updating and writing a part of time.  It
would certainly be too much overhead to obtain a write lock for every
gettimeofday(), but to avoid that we have to put some kind of contention
avoidance in the path.  I don't know whether that should be some kind of
back-off algorithm at the point of contention w/ the cmpxchg or up
higher with a new seqlock read entry point that blocks when a write is
in progress.  In any case, I think we need to focus on a solution that
works well on all systems, not just those with extra timer hardware.
Thanks,

	Alex




  reply	other threads:[~2005-07-30 16:48 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-07-29 22:06 long delays (possibly infinite) in time_interpolator_get_counter tony.luck
2005-07-29 23:31 ` Christoph Lameter
2005-07-30 16:47   ` Alex Williamson [this message]
2005-07-30 18:10     ` Christoph Lameter
2005-07-31 17:02       ` Alex Williamson
2005-07-31 20:00         ` Christoph Lameter
2005-08-01 16:57       ` Bjorn Helgaas
2005-08-01 17:04         ` Christoph Lameter
2005-07-30  0:32 ` Christoph Lameter

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=1122742054.28719.58.camel@localhost.localdomain \
    --to=alex.williamson@hp.com \
    --cc=clameter@engr.sgi.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=tony.luck@intel.com \
    /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.