On Sat, Mar 28, 2009 at 09:20:46PM -0700, David Brownell wrote:
> On Saturday 28 March 2009, Mark A. Greer wrote:
> > When enabled, the clocksource remains a continuous
> > 32-bit counter but the clock event will no longer
> > support periodic interrupts.  Instead only oneshot
> > timers will be supported and implemented by setting
> > the compare register to the current timer value plus
> > the period that the clock event subsystem is requesting.
> 
> How well stress tested is that mode?
> 
> Thing is, it's inherently racey because the "current"
> timer is counting up while you're setting the compare
> register.  Maybe it incremented just after you read it.
> That normally means min_delta_ns for the clockevent needs
> to be at least two ticks ... ideally several more than
> that, on the order of an IRQ latency,

Yes, it is racey and I ran into the race when I had some
printk's in it during debugging.  I bumped up
clockevent_davinci.min_delta_ns until they went away.
The printk's added so many artifacts that it wasn't valid
testing, though.

> For the record this is quite like HPET on x86, where
> there's one counter (used in 32-bit mode even though
> it may well support 64-bits) and a bunch of compare
> registers (32 bit, almost always) to generate IRQs.

I did test it doing more-or-less "normal" things but
I don't believe the true min is 1ns. :)

I'll do some experimenting and come up with a better
value.

Mark
--

_______________________________________________
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

Reply via email to