tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: rfc: high-resolution timer framework



On Wed, Jun 25, 2008 at 04:45:50PM +0300, Alexander Shishkin wrote:

> This is to announce and request for comments on the so-called
> high-resolution timer framework [1] that we came up with and want to share
> and further improve.
> 
> High-resolution timers are implemented on top of posix timers interface
> and are meant to provide userspace applications with timers as accurate
> as 1ms. Current implementation adds separate CLOCK_HIGHRES timer type,
> which might be moved in place of CLOCK_REALTIME code at some point.
> 
> The implementation comes in three patches for the convenience: first one
> introduces the framework into kernel so that it extends timecounter
> structure with an additional field which is either a pointer to a
> structure with two high-resolution timer methods or NULL in case a
> timecounter in not capable of this. Relevant timecounter drivers are
> changed to set this field to NULL; two other patches introduce experimental
> high-resolution timer drivers based upon lapic and omap general-purpose
> timer.
> 
> [1] http://koowaldah.org/people/ash/netbsd/hrtim-patchset.tar.gz

Some general comments:

- This will fill one of the gaps left in our real time support - cool!

- I don't understand why there is interaction with the timecounter code.
  Maybe I haven't looked closely enough.

- Why not change the callout code instead? That way we get general purpose,
  high-res timers within the kernel. Also, it would mean that we could hide
  the abstraction a bit. If the machine doesn't have a suitable one-shot
  timer, then just emulate it using the clock interrupt: ie, things would
  work as they do now.

- If we based everything on callouts, the ptimer gunk that uses the clock
  interrupt for CLOCK_MONOTONIC could be abandoned and we could use callouts
  for it.

Thanks,
Andrew


Home | Main Index | Thread Index | Old Index