Dear Graeme Russ,

In message <4de383d3.7020...@gmail.com> you wrote:
> 
> Some platforms are _way_ worse than this - I am sure I have seen a udelay()
> done with the millisecond time - So udelay(100) could be closer to
> udelay(1000) - So your above 5 second delay could take as long as 50 
> seconds!!!

That should show up quickly as soon as you run a "sleep 5" command on
the console (which is implemented like that).

> >     while (test_for_event() == 0) {
> >             now = get_timer(0);
> >             if ((now - start) > timeout)
> >                     handle_timeout();
> > 
> >             udelay(100);
> >     }
> > 
> >    Here the loop overhead caused by short delay which may result in a
> >    high number of calls to test_for_event() gets eliminated because
> >    the time reference is independet of the delay.
> 
> I personally think _any_ timeout greater than 1s (maybe even >500ms) should
> be done this way

Agreed. As soon as the timeout is >> the interval size of the
underlying timer service this is the best we can do.

> >     start = get_timer(0);
> > 
> >     do_something_complicated();
> > 
> >     now = get_timer(0);
> > 
> >     printf("execution time: %ld millisec\n", now - start);
> 
> Currently fails spectacularly if do_something_complicated() involves a
> delay loop which calls reset_timer()

Note that I (intentionally) always used argument 0 in the calls to
get_timer().  I think we really should get rid of this argument.

> I think this may become more popular for performance tuning once the API
> has been established. The desire for boot profiling was what initially made
> me investigate the API given the current use of reset_timer() prohibits
> profiling across a timeout loop.

Agreed.

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: w...@denx.de
"I find this a nice feature but it is not according to  the  documen-
tation. Or is it a BUG?"   "Let's call it an accidental feature. :-)"
                       - Larry Wall in <6...@jpl-devvax.jpl.nasa.gov>
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to