All of lore.kernel.org
 help / color / mirror / Atom feed
From: "John Hawkes" <hawkes@sgi.com>
To: linux-ia64@vger.kernel.org
Subject: Re: [PATCH] - sched_clock() broken for ia64 SN platform
Date: Thu, 20 Nov 2003 04:09:15 +0000	[thread overview]
Message-ID: <marc-linux-ia64-106930158803834@msgid-missing> (raw)
In-Reply-To: <marc-linux-ia64-106928980122896@msgid-missing>

From: "David Mosberger" <davidm@napali.hpl.hp.com>> >>>>> On Wed, 19 Nov 2003
16:56:23 -0800 (PST), John Hawkes <hawkes@babylon.engr.sgi.com> said:
>
>   John> We might instead want to implement a more general scheme,
>   John> along the lines of what is done by (struct time_interpolator),
>   John> to provide a framework to solve this for other architectures
>   John> that have "drifty" non-default timebases.
>
> My sense is that with a bit of thinking, it would be possible to come
> up with a solution that allows even drifty platforms to use ITC for
> sched_clock()---it serves very a specific purpose in the scheduler and
> scalability is key and perfect accuracy is not (unlike for
> gettimeofday).  I don't think anything that goes out to read a single
> (shared) platform counter will be sufficiently scalable to the number
> of CPUs you guys are talking about.  But yes, it would be much more
> effort than just adding Yet Another Callback.  The rewards would be
> bigger, though, too...

In 2.4 the scheduler used "jiffies" directly as a timestamp for this purpose.
Then for some reason someone decided to abstract that into sched_clock(), to
let every architecture decide how to implement it.  The alpha architecture
implements sched_clock() with jiffies.  The i386 uses the TSC (which might not
be synchronized for all platforms?).  The ia64 uses the ITC.

I'd like to hear an argument about why sched_clock() needs sub-microsecond
accuracy, instead of just using jiffies, when one use of sched_clock() is to
compare a delta time against cache_decay_ticks, which is a
"jiffies"-granularity value, and the other use is to determine the relative
computebound-vs-interactive characteristics of the process.

John Hawkes


  parent reply	other threads:[~2003-11-20  4:09 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-11-20  0:56 [PATCH] - sched_clock() broken for ia64 SN platform John Hawkes
2003-11-20  1:24 ` David Mosberger
2003-11-20  4:09 ` John Hawkes [this message]
2003-11-20  6:01 ` David Mosberger
2003-11-20 15:23 ` Jack Steiner
2003-11-20 17:25 ` Grant Grundler
2003-11-20 17:25 ` Rich Altmaier
2003-11-20 18:32 ` David Mosberger
2003-11-20 19:20 ` Robin Holt
2003-11-20 19:23 ` Robin Holt
2003-11-20 20:58 ` John Hawkes
2003-11-20 21:27 ` David Mosberger
2003-11-20 21:58 ` john stultz
2003-11-20 22:14 ` John Hawkes

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=marc-linux-ia64-106930158803834@msgid-missing \
    --to=hawkes@sgi.com \
    --cc=linux-ia64@vger.kernel.org \
    /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.