public inbox for linux-arm-kernel@lists.infradead.org
 help / color / mirror / Atom feed
From: tglx@linutronix.de (Thomas Gleixner)
To: linux-arm-kernel@lists.infradead.org
Subject: [patch 00/16] arm: Replace arm sched_clock by clocksource based sched_clock
Date: Fri, 29 Apr 2011 12:22:25 +0200 (CEST)	[thread overview]
Message-ID: <alpine.LFD.2.02.1104291217120.3005@ionos> (raw)
In-Reply-To: <20110429094606.GA5126@n2100.arm.linux.org.uk>

On Fri, 29 Apr 2011, Russell King - ARM Linux wrote:

> On Sat, Apr 23, 2011 at 08:54:39PM -0000, Thomas Gleixner wrote:
> > Most of ARM sched_clocks is using the timekeeping clocksource as the
> > sched_clock. Only versatile uses a different clock for it, but there
> > is no real reason why it can't use the clocksource as well.
> 
> sched_clock really needs to be setup earlier than clocksources are setup,
> before sched_init() is called in init/main.c.  This is where the scheduler
> reads the initial value of sched_clock() to start its time measurements.
> This is well before clocksources are initialized, or even the irq subsystem.
> 
> So I don't believe bolting it directly into the clocksource code in this
> way is correct.  As things are currently setup with my sched_clock()
> implementation, we can (and in any cases do) get the sched_clock() up
> and running really early which is what's required.

Not really. There is no requirement to have a high resolution sched
clock in the early boot process. The only requirement is that
sched_clock is monotonic increasing nsecs. So the code utilizes
jiffies up to the point where the clocksource is installed and then
switches over keeping the clock monotonic. The scheduler does not care
whether it gets coarse grained time information in the early boot
stage and then fine grained information at some point later.

The only drawback is that you don't get precise timestamps for tracing
up to the point where the clock source is installed. But that's really
not a big deal to worry about.

Thanks,

	tglx

  reply	other threads:[~2011-04-29 10:22 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-04-23 20:54 [patch 00/16] arm: Replace arm sched_clock by clocksource based sched_clock Thomas Gleixner
2011-04-23 20:54 ` [patch 01/16] time: Provide clocksource based sched_clock() Thomas Gleixner
2011-04-23 21:33   ` Stephen Boyd
2011-04-23 21:40     ` Thomas Gleixner
2011-04-25  7:10   ` Kukjin Kim
2011-04-26 16:36   ` Stephen Boyd
2011-04-23 20:54 ` [patch 02/16] arm: plat-orion: Use clocksource based sched_clock Thomas Gleixner
2011-04-23 20:54 ` [patch 03/16] arm: s5p: " Thomas Gleixner
2011-04-23 21:33   ` Stephen Boyd
2011-04-23 21:41     ` Thomas Gleixner
2011-04-25  7:08   ` Kukjin Kim
2011-04-23 20:54 ` [patch 04/16] arm: davinci: " Thomas Gleixner
2011-04-26 15:40   ` Nori, Sekhar
2011-04-23 20:54 ` [patch 05/16] arm: ixp4xx: " Thomas Gleixner
2011-04-23 20:54 ` [patch 06/16] arm: mmp: " Thomas Gleixner
2011-04-23 20:54 ` [patch 07/16] arm: omap: " Thomas Gleixner
2011-04-29 11:57   ` Tony Lindgren
2011-04-29 12:28     ` Thomas Gleixner
2011-04-29 12:51       ` Tony Lindgren
2011-04-29 14:19         ` Thomas Gleixner
2011-05-02  8:10           ` Tony Lindgren
2011-04-23 20:54 ` [patch 08/16] arm: pxa: " Thomas Gleixner
2011-04-25 16:25   ` Eric
2011-04-26  7:23     ` Sascha Hauer
2011-04-26  7:26       ` Eric Miao
2011-04-23 20:54 ` [patch 09/16] arm: sa1100: " Thomas Gleixner
2011-04-23 20:54 ` [patch 10/16] arm: tegra: " Thomas Gleixner
2011-04-23 20:54 ` [patch 11/16] arm: u300: " Thomas Gleixner
2011-04-24  7:03   ` Linus Walleij
2011-04-23 20:54 ` [patch 12/16] arm: plat-iop: " Thomas Gleixner
2011-04-23 20:54 ` [patch 13/16] arm plat-mxc: " Thomas Gleixner
2011-04-26  7:23   ` Sascha Hauer
2011-04-23 20:54 ` [patch 14/16] arm: nomadik: " Thomas Gleixner
2011-04-24  7:04   ` Linus Walleij
2011-04-23 20:54 ` [patch 15/16] arm: versatile: " Thomas Gleixner
2011-04-23 20:54 ` [patch 16/16] arm: Remove sched_clock code Thomas Gleixner
2011-04-25  7:11   ` Kukjin Kim
2011-04-24  7:27 ` [patch 00/16] arm: Replace arm sched_clock by clocksource based sched_clock Linus Walleij
2011-04-25 19:10   ` john stultz
2011-04-26  7:45     ` Linus Walleij
2011-04-26  8:50       ` Tony Lindgren
2011-04-26  8:02   ` Thomas Gleixner
2011-04-29  9:46 ` Russell King - ARM Linux
2011-04-29 10:22   ` Thomas Gleixner [this message]
2011-04-29 10:32     ` Tony Lindgren
2011-04-29 17:01       ` Thomas Gleixner
2011-04-29 21:53         ` Linus Walleij
2011-04-29 21:57           ` Thomas Gleixner
2011-05-02  8:18             ` Tony Lindgren
2011-05-08 20:34             ` Linus Walleij
2011-06-13  2:32 ` Rob Herring

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=alpine.LFD.2.02.1104291217120.3005@ionos \
    --to=tglx@linutronix.de \
    --cc=linux-arm-kernel@lists.infradead.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox