Calloutng : a new infrastructure for timer facilities in the FreeBSD kernel
暂无分享,去创建一个
In BSD kernels, timers are provided by the callout facility, which allows to register a function with an argument to be called at specified future time. The current design of this subsystem suffer of some problems, such as the impossibility of handling high-resolution events or its inherent periodic structure, which may lead to spurious wakeups and higher power consumptions. Some consumers, such as high-speed networking, VoIP and other real-time applications need a better precision than the one currently allowed. Also, especially with the ubiquity of laptops in the last years, the energy wasted by interrupts waking CPUs from sleep may be a sensitive factor. In this paper we present a new design and implementation of the callout facility, which tries to address those long standing issues, proposing also a new programming interface to take advantage of the new features.
[1] Poul-Henning Kamp. Timecounters: Efficient and precise timekeeping in SMP kernels. , 2002 .
[2] George Varghese,et al. Redesigning the BSD Callout and Timer Facilities , 1995 .
[3] R. Watson. How the FreeBSD Project , 2006 .