From: J. William Campbell <jwilliamcampbell@comcast.net>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v1 (WIP) 00/16] [Timer]API Rewrite
Date: Tue, 12 Jul 2011 07:30:39 -0700 [thread overview]
Message-ID: <4E1C5A8F.50908@comcast.net> (raw)
In-Reply-To: <4E1BAED7.3070009@gmail.com>
On 7/12/2011 6:10 AM, Wolfgang Denk wrote:
> Dear Graeme Russ,
>
<snip>
> Do we? What exactly is the needed resolution of the underlying
> hardware timer? So far, it appears sufficient to have it ticking with
> 1000 Hz or more. Are there really systems that cannot provide that?
> The only architecture I remember that seemed prolematic was NIOS - but
> then the NIOS documentation suggests that this might actually be
Hi All,
The NIOS2 "systems" are a FPGA based architecture ("soft" core).
They CAN have all different kinds of timers. However, there are many
already out in the world that were built (generated) with a timer that
has 10 ms resolution. We can't retro-actively change these. We can
declare them not supported in future releases, but we can't fix the
resolution problem retroactively.
I have two comments regarding this discussion so far. First, I
think using the "time" function name at all is a VERY BAD idea. People
will confuse it with the "normal" c library function that returns the
time of day since the epoch. One may say that they should RTFM, but it
is lots easier to just use another name and avoid all such confusion.
Second, I think forcing all systems to use 64 bit time stamps is not a
good idea. The main purpose of the timer API is to provide hardware
timeouts. 64 bits is vast overkill for such a purpose. Mandating 64 bit
capability for all u-boots is I think counter-productive. A 32 bit
timestamp in millisecond resolution plus udelay covers all practical
cases. The 1 ms resolution is probably inadequate for performance
measurement, but for every u-boot system that is sometimes used for
performance measurement, there are 100 (probably even more, like 1000,
but I don't really have the figures) systems that are just used to boot
Linux or another stand alone program. So we may need a different API for
performance measurement that uses higher resolution. On most "larger"
CPUs, there are hardware timers that can already do this with minimal
work. On some less-capable CPUs, it may be lots harder, but if you
aren't doing performance measurement, you don't need it. So I suggest
that mandating a 64 bit API for some of the processors (68K comes to
mind) is not really a good idea. It seems counter to the elegant
simplicity of the rest of u-boot to stick a 64 bit requirement on
timestamps used to determine if the boot delay is expired.
Best Regards,
J. William Campbell
> Best regards,
>
>
> Wolfgang Denk
>
next prev parent reply other threads:[~2011-07-12 14:30 UTC|newest]
Thread overview: 110+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-28 11:40 [U-Boot] [PATCH v1 (WIP) 00/16] [Timer]API Rewrite Graeme Russ
2011-06-28 11:40 ` [U-Boot] [PATCH v1 (WIP) 01/16] [Timer]Fix misuse of ARM *timer_masked() functions outside arch/arm Graeme Russ
2011-06-28 12:35 ` Andreas Bießmann
2011-07-11 21:57 ` Wolfgang Denk
2011-07-14 17:01 ` Albert ARIBAUD
2011-07-14 19:50 ` Wolfgang Denk
2011-07-14 23:24 ` Graeme Russ
2011-07-15 6:31 ` Wolfgang Denk
2011-07-15 7:00 ` Graeme Russ
2011-07-15 12:16 ` [U-Boot] [PATCH v2 1/7]Timer: Fix " Graeme Russ
2011-07-16 8:40 ` Albert ARIBAUD
2011-07-16 8:59 ` Graeme Russ
2011-07-16 9:12 ` Albert ARIBAUD
2011-07-16 9:31 ` [U-Boot] [PATCH v3 " Graeme Russ
2011-07-16 9:58 ` Albert ARIBAUD
2011-06-28 11:40 ` [U-Boot] [PATCH v1 (WIP) 02/16] [Timer]Remove calls to set_timer outside arch/ Graeme Russ
2011-07-11 21:58 ` Wolfgang Denk
2011-07-15 12:17 ` [U-Boot] [PATCH v2 2/7]Timer: Remove " Graeme Russ
2011-07-16 9:33 ` [U-Boot] [PATCH v3 " Graeme Russ
2011-07-26 12:52 ` Wolfgang Denk
2011-06-28 11:40 ` [U-Boot] [PATCH v1 (WIP) 03/16] [Timer]Remove calls to set_timer in arch/ Graeme Russ
2011-07-11 21:59 ` Wolfgang Denk
2011-07-15 12:18 ` [U-Boot] [PATCH v2 3/7]Timer: Remove set_timer completely Graeme Russ
2011-07-16 9:34 ` [U-Boot] [PATCH v3 " Graeme Russ
2011-07-26 12:52 ` Wolfgang Denk
2011-06-28 11:40 ` [U-Boot] [PATCH v1 (WIP) 04/16] [Timer]Allow reset_timer() only for Nios2 Graeme Russ
2011-07-11 22:01 ` Wolfgang Denk
2011-07-15 12:18 ` [U-Boot] [PATCH v2 4/7]Timer: Allow reset_timer() only for systems with low resolution timers Graeme Russ
2011-07-16 9:35 ` [U-Boot] [PATCH v3 " Graeme Russ
2011-07-26 12:53 ` Wolfgang Denk
2011-06-28 11:40 ` [U-Boot] [PATCH v1 (WIP) 05/16] [Timer]Remove reset_timer() for non-Nios2 arches Graeme Russ
2011-07-11 22:02 ` Wolfgang Denk
2011-07-15 0:01 ` Graeme Russ
2011-07-15 12:19 ` [U-Boot] [PATCH v2 5/7]Timer: Remove " Graeme Russ
2011-07-16 9:36 ` [U-Boot] [PATCH v3 " Graeme Russ
2011-07-26 12:53 ` Wolfgang Denk
2011-08-19 21:24 ` Mike Frysinger
2011-08-19 22:55 ` Graeme Russ
2011-08-19 23:12 ` Mike Frysinger
2011-09-28 19:24 ` Wolfgang Denk
2011-06-28 11:40 ` [U-Boot] [PATCH v1 (WIP) 06/16] [Timer]Fix at91rm9200/spi.c timer usage Graeme Russ
2011-06-28 12:30 ` Andreas Bießmann
2011-07-15 12:20 ` [U-Boot] [PATCH v2 6/7]Timer: Fix " Graeme Russ
2011-07-16 9:37 ` [U-Boot] [PATCH v3 " Graeme Russ
2011-07-26 12:54 ` Wolfgang Denk
2011-06-28 11:41 ` [U-Boot] [PATCH v1 (WIP) 07/16] [Timer]Remove reset_timer_masked() Graeme Russ
2011-07-11 22:04 ` Wolfgang Denk
2011-07-15 12:21 ` [U-Boot] [PATCH v2 7/7]Timer: Remove reset_timer_masked() Graeme Russ
2011-07-16 9:38 ` [U-Boot] [PATCH v3 " Graeme Russ
2011-07-26 12:54 ` Wolfgang Denk
2011-06-28 11:41 ` [U-Boot] [PATCH v1 (WIP) 08/16] [Timer]Create new userland timer API Graeme Russ
2011-06-29 4:31 ` Simon Glass
2011-06-29 4:36 ` Graeme Russ
2011-06-29 4:48 ` Simon Glass
2011-07-11 22:05 ` Wolfgang Denk
2011-07-11 22:32 ` Graeme Russ
2011-06-28 11:41 ` [U-Boot] [PATCH v1 (WIP) 09/16] [Timer]Replace get_timer() usage in drivers/block/ Graeme Russ
2011-06-29 4:40 ` Simon Glass
2011-06-29 5:06 ` Reinhard Meyer
2011-06-29 5:19 ` Graeme Russ
2011-06-29 5:30 ` Simon Glass
2011-06-29 5:38 ` Graeme Russ
2011-06-28 11:41 ` [U-Boot] [PATCH v1 (WIP) 10/16] [Timer]Replace get_timer() usage in driver/mtd and driver/block Graeme Russ
2011-06-28 11:41 ` [U-Boot] [PATCH v1 (WIP) 11/16] [Timer]Remove reset_timer() completely Graeme Russ
2011-06-28 11:41 ` [U-Boot] [PATCH v1 (WIP) 12/16] [Timer]Replace get_timer() usage in drivers/ Graeme Russ
2011-06-28 12:36 ` Vitaly Kuzmichev
2011-06-28 23:03 ` Graeme Russ
2011-06-28 11:41 ` [U-Boot] [PATCH v1 (WIP) 13/16] [Timer]Replace get_timer() usage in net/ Graeme Russ
2011-06-28 11:41 ` [U-Boot] [PATCH v1 (WIP) 14/16] [Timer]Replace get_timer() usage in common/ Graeme Russ
2011-06-28 11:41 ` [U-Boot] [PATCH v1 (WIP) 15/16] [Timer]Replace get_timer() usage in board/ Graeme Russ
2011-06-28 11:41 ` [U-Boot] [PATCH v1 (WIP) 16/16] [Timer]Replace get_timer() usage in arch/ Graeme Russ
2011-06-29 4:45 ` Simon Glass
2011-06-29 4:51 ` Graeme Russ
2011-06-29 5:15 ` Mike Frysinger
2011-06-29 5:26 ` Mike Frysinger
2011-06-29 5:29 ` Graeme Russ
2011-06-29 4:54 ` [U-Boot] [PATCH v1 (WIP) 00/16] [Timer]API Rewrite Graeme Russ
2011-06-29 5:08 ` Mike Frysinger
2011-06-29 5:20 ` Graeme Russ
2011-07-08 0:25 ` Graeme Russ
2011-07-09 6:01 ` Albert ARIBAUD
2011-07-11 21:56 ` Wolfgang Denk
2011-07-11 22:49 ` Graeme Russ
2011-07-11 23:36 ` Graeme Russ
2011-07-12 2:17 ` Graeme Russ
2011-07-12 8:49 ` Wolfgang Denk
2011-07-12 10:36 ` Graeme Russ
2011-07-12 13:10 ` Wolfgang Denk
2011-07-12 15:23 ` Scott McNutt
2011-07-12 17:27 ` J. William Campbell
2011-07-13 0:29 ` Graeme Russ
2011-07-14 19:30 ` Wolfgang Denk
2011-07-17 1:51 ` Graeme Russ
2011-07-12 14:30 ` J. William Campbell [this message]
2011-07-12 16:08 ` Reinhard Meyer
2011-07-13 0:33 ` Graeme Russ
2011-07-13 1:20 ` J. William Campbell
2011-07-14 19:41 ` Wolfgang Denk
2011-07-14 23:52 ` J. William Campbell
2011-07-15 7:17 ` Wolfgang Denk
2011-07-15 18:08 ` J. William Campbell
2011-07-15 18:34 ` Wolfgang Denk
2011-07-15 21:03 ` J. William Campbell
2011-07-16 14:11 ` Graeme Russ
2011-07-15 12:15 ` [U-Boot] [PATCH v2 0/7]Timer: Simplify API Graeme Russ
2011-07-15 13:08 ` Graeme Russ
2011-07-16 8:36 ` Albert ARIBAUD
2011-07-16 9:01 ` Graeme Russ
2011-07-16 9:13 ` Albert ARIBAUD
2011-07-16 9:32 ` 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=4E1C5A8F.50908@comcast.net \
--to=jwilliamcampbell@comcast.net \
--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 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.