Messages in this thread | | | Date | Sat, 12 May 2007 22:13:43 +0200 | From | "Francis Moreau" <> | Subject | Re: clockevent questions |
| |
Hi Thomas,
Thanks for answering so quickly !
On 5/12/07, Thomas Gleixner <tglx@linutronix.de> wrote: > Francis, > > On Sat, 2007-05-12 at 16:54 +0200, Francis Moreau wrote: > > I'm trying to use clocksource and clockevent new subsystem. My > > platform has a timer that I'd like to use both as a clocksource and a > > clockevent devices. > > See arch/i386/kernel/hpet.c >
thanks for the pointer
> > This timer is continueous in sense that it can run > > without any interruption > > -ENOPARSE > > Has your timer a free running counter and a match register based event > mechanism ? >
yes
> > so I assume I can flag the clocksource device > > with "CLOCK_SOURCE_IS_CONTINUOUS". However I noticed that clockevent > > device can be stopped by using "set_mode()" method. Are these two > > behaviours compatible ? > > the clock event stop only stops the event mechanism, it does not stop > the counter. > > See arch/i386/kernel/hpet.c >
OK. I got it now, In my initial plan, I was thinking to stop the counter to stop the event. But that's not the right thing to do. It seems that I should disable event interrupt instead.
> > Another question is that I have another embedded 16 bits timer that I > > would like to use. Since the timer is only 16 bits, the maximum > > interval is tiny, My question if a user ask for a clockevent device > > using an interval is bigger that 2^16, the clockevent system doesn't > > return an error. Instead it silently reduce the interval to 2^16. Is > > this correct ? if so why ? > > Yes, it is correct. The generic timer code requests an event in the > future. It does not care, whether the hardware device can handle that or > not. So the clock event code limits the delta to the maximum delta the > device can handle. The interrupt fires and the generic timer code > reschedules the event with the remaining delta time. >
Thanks again for explanations. Could you give me a pointer of this reschedules ?
-- Francis - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |