All of lore.kernel.org
 help / color / mirror / Atom feed
From: linux@arm.linux.org.uk (Russell King - ARM Linux)
To: linux-arm-kernel@lists.infradead.org
Subject: [Openpxa-users] Linux udelay() is way off
Date: Thu, 20 Jan 2011 22:10:25 +0000	[thread overview]
Message-ID: <20110120221025.GM6335@n2100.arm.linux.org.uk> (raw)
In-Reply-To: <AANLkTikawLY2QcoUdcrF-SmmAbGM1MhzWLZogKb=5VAV@mail.gmail.com>

On Thu, Jan 20, 2011 at 09:25:36PM +0100, Bj?rn Forsman wrote:
> 2011/1/20 Russell King - ARM Linux <linux@arm.linux.org.uk>:
> > On Thu, Jan 20, 2011 at 08:18:10PM +0100, Bj?rn Forsman wrote:
> >> [ ? 11.425363] cpufreq-core: saving 518144 as reference value for
> >> loops_per_jiffy; freq is 312000 kHz
> >> [ ? 11.425523] cpufreq-core: scaling loops_per_jiffy to 1036288 for
> >> frequency 624000 kHz
> >
> > So despite scaling lpj by a factor of two for the doubling in clock
> > frequency, we see a 30% error in it?
> 
> No. udelay() is ~30 % of what it should be. My gpio + oscilloscope
> test showed that udelay(50) => 16 us in real time with cpufreq
> enabled. This gives 16/50 = 0.32.
> 
> > Is it possible to boot at 624MHz and report the resulting lpj?
> 
> I think I need some help doing that. I found some clock setup in
> <u-boot-pxa>/arch/arm/cpu/pxa/start.S (OpenPXA tree) but I'm not
> familiar with it.
> 
> > Alternatively, call calibrate_delay() after the cpufreq switch to
> > 624MHz, disabling the 'printed' stuff and see what it reports.
> 
> First attempts at moving calibrate_delay() after freq switch failed. I
> will try more. Just had to send this so stop the misunderstanding
> about how much udelay() is off...

Not a good idea to remove it from its current location.  I was suggesting
adding another call to calibrate_delay() after the cpufreq stuff has
initialized.

> What do you mean by disabling the 'printed' stuff? The cpufreq debug stuff?

See calibrate_delay() in init/calibrate.c.  'static bool printed;'  It's
set true after the first run, and there after it won't print the
information again.  So if you want to see it from subsequent runs, you
need to defeat it.

  reply	other threads:[~2011-01-20 22:10 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <AANLkTin_cCzNWhJnD=A2h1qiKpeUrnPrSZPs_Kmfjjd1@mail.gmail.com>
2011-01-20 17:00 ` [Openpxa-users] Linux udelay() is way off Marek Vasut
2011-01-20 17:55   ` Russell King - ARM Linux
2011-01-20 19:18     ` Bjørn Forsman
2011-01-20 19:30       ` Russell King - ARM Linux
2011-01-20 20:25         ` Bjørn Forsman
2011-01-20 22:10           ` Russell King - ARM Linux [this message]
2011-01-21  0:02             ` Bjørn Forsman
2011-01-21 17:46         ` Bjørn Forsman
2011-01-21 18:11           ` Marek Vasut
2011-01-21 18:55             ` Bjørn Forsman
2011-01-23 10:35           ` Marek Vasut
2011-01-25 17:45             ` Bjørn Forsman
2011-01-25 20:18               ` Marek Vasut
2011-01-21  7:29       ` Saravana Kannan
2011-01-21 17:56         ` Bjørn Forsman

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=20110120221025.GM6335@n2100.arm.linux.org.uk \
    --to=linux@arm.linux.org.uk \
    --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 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.