Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1740801 > unrolled thread

Re: [PATCH v6 1/4] sched/clock: interface to allow timestamps early in boot

Started byRussell King - ARM Linux <linux@armlinux.org.uk>
First post2017-09-27 16:50 +0200
Last post2017-09-27 20:20 +0200
Articles 3 — 3 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: [PATCH v6 1/4] sched/clock: interface to allow timestamps early  in boot Russell King - ARM Linux <linux@armlinux.org.uk> - 2017-09-27 16:50 +0200
    Re: [PATCH v6 1/4] sched/clock: interface to allow timestamps early  in boot Pasha Tatashin <pasha.tatashin@oracle.com> - 2017-09-27 19:20 +0200
    Re: [PATCH v6 1/4] sched/clock: interface to allow timestamps early  in boot Peter Zijlstra <peterz@infradead.org> - 2017-09-27 20:20 +0200

#1740801 — Re: [PATCH v6 1/4] sched/clock: interface to allow timestamps early in boot

FromRussell King - ARM Linux <linux@armlinux.org.uk>
Date2017-09-27 16:50 +0200
SubjectRe: [PATCH v6 1/4] sched/clock: interface to allow timestamps early in boot
Message-ID<uulOW-4rv-27@gated-at.bofh.it>
On Wed, Aug 30, 2017 at 02:03:22PM -0400, Pavel Tatashin wrote:
> In Linux printk() can output timestamps next to every line.  This is very
> useful for tracking regressions, and finding places that can be optimized.
> However, the timestamps are available only later in boot. On smaller
> machines it is insignificant amount of time, but on larger it can be many
> seconds or even minutes into the boot process.

The sched_clock work I did for ARM could be setup really early at boot,
from setup_arch().  I tried to encourage platforms to do that, but all
my encouragement fell on deaf ears - most people setup the sched_clock
source along side the time initialisation on ARM.

I don't think we need yet another "early" mechanism to solve this problem,
we just need people to use the existing mechanism to register their
sched_clock implementation earlier.

-- 
RMK's Patch system: http://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line in suburbia: sync at 8.8Mbps down 630kbps up
According to speedtest.net: 8.21Mbps down 510kbps up

[toc] | [next] | [standalone]


#1740893

FromPasha Tatashin <pasha.tatashin@oracle.com>
Date2017-09-27 19:20 +0200
Message-ID<uuoa5-60L-1@gated-at.bofh.it>
In reply to#1740801
Hi Russell,

This might be so for ARM, and in fact if you look at my SPARC 
implementation, I simply made source clock initialize early, so regular 
sched_clock() is used. As on SPARC, we use either %tick or %stick 
registers with frequency determined via OpenFrimware. But, on x86 there 
are dozen ways clock sources are setup, and some of them available quiet 
late in boot because of various dependencies. So, my early clock 
initialization for x86 (and expendable to other platforms with unstable 
clocks) is to make it available when TSC is available, which is 
determined by already existing kernel functionality in 
simple_udelay_calibration().

My goal was not to introduce any regressions to the already complex (in 
terms of number of branches and loads) sched_clock_cpu(), therefore I 
added a new function and avoided any extra branches through out the life 
of the system. I could mitigate some of that by using static branches, 
but imo the current approach is better.

Pasha

[toc] | [prev] | [next] | [standalone]


#1740936

FromPeter Zijlstra <peterz@infradead.org>
Date2017-09-27 20:20 +0200
Message-ID<uup6a-6B0-15@gated-at.bofh.it>
In reply to#1740801
On Wed, Sep 27, 2017 at 03:45:06PM +0100, Russell King - ARM Linux wrote:
> On Wed, Aug 30, 2017 at 02:03:22PM -0400, Pavel Tatashin wrote:
> > In Linux printk() can output timestamps next to every line.  This is very
> > useful for tracking regressions, and finding places that can be optimized.
> > However, the timestamps are available only later in boot. On smaller
> > machines it is insignificant amount of time, but on larger it can be many
> > seconds or even minutes into the boot process.
> 
> The sched_clock work I did for ARM could be setup really early at boot,
> from setup_arch().  I tried to encourage platforms to do that, but all
> my encouragement fell on deaf ears - most people setup the sched_clock
> source along side the time initialisation on ARM.
> 
> I don't think we need yet another "early" mechanism to solve this problem,
> we just need people to use the existing mechanism to register their
> sched_clock implementation earlier.

x86 is a bit 'special' in the whole sched_clock department. But yes, we
should very much make the regular sched_clock() happen earlier.

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web