From: Wolfgang Denk <wd@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 0/4] Accurate boot time measurement
Date: Mon, 16 May 2011 20:32:23 +0200 [thread overview]
Message-ID: <20110516183223.BBBAA1491B09@gemini.denx.de> (raw)
In-Reply-To: <BANLkTi=wdddeKLjoBFRoNcqzXJN9uGnBSw@mail.gmail.com>
Dear Simon Glass,
In message <BANLkTi=wdddeKLjoBFRoNcqzXJN9uGnBSw@mail.gmail.com> you wrote:
>
> Such a lot of text about such a small patch. It is clear to me that you are
> used to doing things one way, and this is a different approach. As I said
You can tell many things about me, but this one certainly is not the
case.
> > I don't see that we use any FIFOs in the output direction.
>
> Yes we do, and in fact they do improve boot performance slightly when the
> console is muted.
Do you have an explanation how that works? When there is no output on
the console, the use of a FIFO in tx direction should not matter at
all?
> I agree it is unfortunate to have features which require platform-specific
> features. Perhaps we should define a microsecond timer as a requirement of a
> U-Boot port? Or perhaps an option which opens up new features?
We already have that, or better. The problem is that it depends on
the architecture.
On PPC systems for example you always have the time base, a 64 bit
counter which is clocked with something like 1/4 or 1/16 of the CPU
clock.
And whe have the timer that gettime() is based on - which is in
milliseocnd resolution (hence the demand that CONFIG_SYS_HZ must
always be defined as 1000).
The problem comes with the multitude of different architectures and
SoCs we support - there is no concept of timebase registers on ARM, on
some systems we need interrupts to implement timer services so these
are available only after relocation, etc.
> > But you need storage for the timing events, and you don't have this
> > before relocation. So you miss some really interesting parts of the
> > boot procedure.
>
> It is easy enough to get storage if we want it - you can maintain a
> pre-reloc table which is copied over afterwards. I notice that some
Where will you store this "pre-reloc" table? Yes, there are some
systems with plenty of on-chip-memory or huge caches that can beused
for this. But there are also systems where we barely can find the
room for the most vital global data before relocation.
Even worse - if you take this seriously, you will probably also get
timing information from early boot stages, like how long it's taking
to load the U-Boot image from NAND - but on some systems this loader
code has to fit in as little as 2 KiB.
> I believe it compares favourably. It has a more friendly display, doesn't
> require a serial port, is more accurate, can run self-hosted, etc. With the
> TCL script you need to add a new line before you will get a new time.
Well, the display format is trivial to adapt, as well as the trigger
criteria. Keep in mind that this is just an example script that
covers the most common use case we've seen so far.
> > But to do so, you need to insert trace points. With the same effort
> > we can insert a printf().
>
> Fair enough. If you have your heart set on the TCL script I'm really not
> going to get very far!
I haven't my heart set on it. It is just one example of solutions
which cover a large percentage of the potential use cases. I am
trying to understand the ration of advanatges versus effort, that's
all.
> In terms of all this discussion I can see your point :-) I did have
> expressions of interest from two people including one I thought was at your
> company, which I why I went to the effort to clean up and submit this. At
> that time I didn't realise it would be such a touchy subject.
Where is the problem? If you are convinced of you idea you should be
ready to defend it. If you are not, it's not wort it at all. And if
you see a voting result of 2:1 pro this is pretty good, isn't it?
> But if you really don't want this in U-Boot then please accept my apologies
> for wasting so much time on the list.
I don't consider this discussion a waste of time. I hope you don't do,
either.
Best regards,
Wolfgang Denk
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Life would be so much easier if we could just look at the source
code. -- Dave Olson
next prev parent reply other threads:[~2011-05-16 18:32 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-05-13 20:51 [U-Boot] [PATCH 0/4] Accurate boot time measurement Simon Glass
2011-05-13 20:52 ` [U-Boot] [PATCH 1/4] Add microsecond " Simon Glass
2011-05-14 11:19 ` Mike Frysinger
2011-05-14 11:31 ` Mike Frysinger
2011-05-13 20:52 ` [U-Boot] [PATCH 2/4] Add bootstage progress report Simon Glass
2011-05-14 11:42 ` Mike Frysinger
2011-05-13 20:52 ` [U-Boot] [PATCH 3/4] Add bootstage calls in places appropriate for network booting Simon Glass
2011-05-14 11:44 ` Mike Frysinger
2011-05-13 20:52 ` [U-Boot] [PATCH 4/4] Add option to print boot stage report before starting kernel Simon Glass
2011-05-14 11:46 ` Mike Frysinger
2011-05-14 11:34 ` [U-Boot] [PATCH 0/4] Accurate boot time measurement Mike Frysinger
2011-05-14 17:32 ` Simon Glass
2011-05-15 10:03 ` Graeme Russ
2011-05-15 21:34 ` Simon Glass
2011-05-15 22:56 ` Graeme Russ
2011-05-16 5:56 ` Wolfgang Denk
2011-05-16 6:10 ` Graeme Russ
2011-05-15 11:53 ` Wolfgang Denk
2011-05-15 21:58 ` Simon Glass
2011-05-15 22:36 ` Graeme Russ
2011-05-16 5:55 ` Wolfgang Denk
2011-05-16 6:11 ` Graeme Russ
2011-05-16 11:18 ` Wolfgang Denk
2011-05-16 2:59 ` Mike Frysinger
2011-05-16 5:48 ` Wolfgang Denk
2011-05-16 6:23 ` Graeme Russ
2011-05-16 11:40 ` Wolfgang Denk
2011-05-16 18:25 ` Scott Wood
2011-05-16 23:09 ` Graeme Russ
2011-05-16 14:23 ` Premi, Sanjeev
2011-05-16 16:00 ` Simon Glass
2011-05-16 18:32 ` Wolfgang Denk [this message]
2011-05-16 21:35 ` Simon Glass
2011-05-17 8:20 ` Detlev Zundel
2011-05-17 17:00 ` Simon Glass
2011-05-17 22:57 ` Graeme Russ
2011-05-19 8:36 ` Detlev Zundel
2011-05-20 1:48 ` Simon Glass
2011-05-20 2:28 ` Graeme Russ
2011-05-20 2:29 ` Graeme Russ
2011-05-23 15:22 ` Detlev Zundel
2011-05-24 2:55 ` Mike Frysinger
2011-05-24 7:18 ` Wolfgang Denk
2011-05-24 18:22 ` Mike Frysinger
2011-05-24 19:24 ` Wolfgang Denk
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=20110516183223.BBBAA1491B09@gemini.denx.de \
--to=wd@denx.de \
--cc=u-boot@lists.denx.de \
/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