From: Robin Holt <holt@sgi.com>
To: "Luck, Tony" <tony.luck@intel.com>
Cc: Dimitri Sivanich <sivanich@sgi.com>,
"linux-ia64@vger.kernel.org" <linux-ia64@vger.kernel.org>,
Greg KH <greg@kroah.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Peter Zijlstra <peterz@infradead.org>,
Gregory Haskins <ghaskins@novell.com>,
Nick Piggin <npiggin@suse.de>, Tony Luck <tony.luck@gmail.com>,
Robin Holt <holt@sgi.com>
Subject: Re: [PATCH] configure HAVE_UNSTABLE_SCHED_CLOCK for SGI_SN systems
Date: Tue, 6 Jan 2009 14:19:50 -0600 [thread overview]
Message-ID: <20090106201950.GA3850@sgi.com> (raw)
In-Reply-To: <57C9024A16AD2D4C97DC78E552063EA35CB95575@orsmsx505.amr.corp.intel.com>
On Tue, Jan 06, 2009 at 12:15:34PM -0800, Luck, Tony wrote:
> > Turn on CONFIG_HAVE_UNSTABLE_SCHED_CLOCK for SGI_SN.
> >
> > SGI Altix has unsynchronized itc clocks. This results in rq->clock
> > occasionally being set to a time in the past by a remote cpu.
>
> SGI Altix is definitely the worst offender here. On heterogeneneous
> systems with different model cpus across nodes the itc rate may differ
> by hundreds of megahertz. Even when all cpus are at the same rated
> speed, different nodes are driven from different crystals, so the itc
> values will slowly drift apart (Linux discovers this from SAL and so
> doesn't bother to synchronize them).
>
> > Note that it is possible that this problem may exist for other ia64
> > machines as well, based on the following comment for sched_clock() in
> > arch/ia64/kernel/head.S:
> >
> > * Return a CPU-local timestamp in nano-seconds. This timestamp is
> > * NOT synchronized across CPUs its return value must never be
> > * compared against the values returned on another CPU. The usage in
> > * kernel/sched.c ensures that.
>
> When sched_clock() was first created this was part of its definition.
> It meant that sched_clock could be simple & fast because it didn't
> need to be synchronized across cpus.
>
> It seems that new uses have grown for it that no longer allow that
> flexibility.
>
> All ia64 systems are potentially affected ... but perhaps you might
> never see the problem on most because the itc clocks are synced as close
> as s/w can get them when cpus are brought on line.
Do you want Dimitri to resubmit with this set for all IA64 or leave it
as is?
Thanks,
Robin
next prev parent reply other threads:[~2009-01-06 20:20 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-01-06 16:27 [PATCH] configure HAVE_UNSTABLE_SCHED_CLOCK for SGI_SN systems Dimitri Sivanich
2009-01-06 17:12 ` Greg KH
2009-01-06 20:15 ` Luck, Tony
2009-01-06 20:19 ` Robin Holt [this message]
2009-01-06 20:34 ` Luck, Tony
2009-01-06 20:57 ` Peter Zijlstra
2009-01-06 22:50 ` Robin Holt
2009-01-06 23:16 ` Peter Zijlstra
2009-01-07 3:00 ` Nick Piggin
2009-01-07 3:16 ` Jack Steiner
2009-01-07 7:28 ` Peter Zijlstra
2009-01-07 7:40 ` Nick Piggin
2009-01-07 9:43 ` Robin Holt
2009-01-07 9:53 ` Peter Zijlstra
2009-01-07 13:32 ` Dimitri Sivanich
2009-01-07 15:16 ` Peter Zijlstra
2009-01-15 18:48 ` Greg KH
2009-01-15 19:21 ` Luck, Tony
2009-01-22 19:04 ` Greg KH
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=20090106201950.GA3850@sgi.com \
--to=holt@sgi.com \
--cc=ghaskins@novell.com \
--cc=greg@kroah.com \
--cc=linux-ia64@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=npiggin@suse.de \
--cc=peterz@infradead.org \
--cc=sivanich@sgi.com \
--cc=tony.luck@gmail.com \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox