Timer coalescing: Difference between revisions
Appearance
Content deleted Content added
m →References: HTTP→HTTPS for Ars Technica, per BRFA 8 using AWB |
Citation bot (talk | contribs) Alter: title. Add: date. | Use this bot. Report bugs. | Suggested by Whoop whoop pull up | #UCB_webform 157/3352 |
||
(11 intermediate revisions by 9 users not shown) | |||
Line 1: | Line 1: | ||
{{Short description|Operating system feature to reduce CPU idle time}} |
|||
'''Timer coalescing''' is a computer system [[power management|energy-saving]] technique that reduces [[central processing unit]] (CPU) power consumption by reducing the precision of [[software timer]]s |
'''Timer coalescing''' is a computer system [[power management|energy-saving]] technique that reduces [[central processing unit]] (CPU) power consumption by reducing the precision of [[software timer]]s used for synchronization of process wake-ups, minimizing the number of times the CPU is forced to perform the relatively power-costly operation of entering and exiting [[idle (CPU)|idle states]].<ref name=ars_technica_os_x/> |
||
== Implementations of timer coalescing == |
|||
*The [[Linux kernel]] gained support for deferrable timers in 2.6.22,<ref name=k_newb/><ref name=git_commit/> and controllable "timer slack" for [[thread (computing)|thread]]s in 2.6.28 allowing timer coalescing.<ref name="man page: time"/><ref name="man page: prctl"/> |
*The [[Linux kernel]] gained support for deferrable timers in 2.6.22,<ref name=k_newb/><ref name=git_commit/> and controllable "timer slack" for [[thread (computing)|thread]]s in 2.6.28 allowing timer coalescing.<ref name="man page: time"/><ref name="man page: prctl"/> |
||
*Timer coalescing has been a feature of [[Microsoft Windows]] from [[Windows 7]] onward.<ref>{{cite web |
*Timer coalescing has been a feature of [[Microsoft Windows]] from [[Windows 7]] onward.<ref>{{cite web |
||
Line 10: | Line 12: | ||
}}</ref> |
}}</ref> |
||
*[[Apple Inc.|Apple]]'s [[XNU]] kernel based [[OS X]] gained support as of [[OS X Mavericks]].<ref name="Advanced Technologies"/><ref name="OS X Mavericks: Core Technologies Overview"/> |
*[[Apple Inc.|Apple]]'s [[XNU]] kernel based [[OS X]] gained support as of [[OS X Mavericks]].<ref name="Advanced Technologies"/><ref name="OS X Mavericks: Core Technologies Overview"/> |
||
*[[FreeBSD]] supports it since September 2010.<ref>{{cite web|url=https://lists.freebsd.org/pipermail/svn-src-all/2010-September/028792.html |
|||
|title=Refactor timer management code |
|||
|date=13 September 2010 |
|||
}}</ref> |
|||
== See also == |
== See also == |
||
Line 18: | Line 24: | ||
* [[HLT (x86 instruction)]] |
* [[HLT (x86 instruction)]] |
||
* [[Interrupt coalescing]] |
* [[Interrupt coalescing]] |
||
* [[Interrupt service routine]] |
|||
* [[Low-power electronics]] |
|||
* [[Performance per watt]] |
|||
* [[Programmable interval timer]] |
* [[Programmable interval timer]] |
||
* [[Real-time clock]] (RTC) |
|||
* [[System clock]] |
|||
* [[Time Stamp Counter]] (TSC) |
* [[Time Stamp Counter]] (TSC) |
||
* [[Tickless kernel]] |
|||
{{Div col end}} |
{{Div col end}} |
||
Line 32: | Line 32: | ||
<ref name=ars_technica_os_x> |
<ref name=ars_technica_os_x> |
||
{{cite web | url = https://arstechnica.com/apple/2013/06/how-os-x-mavericks-works-its-power-saving-magic/ |
{{cite web | url = https://arstechnica.com/apple/2013/06/how-os-x-mavericks-works-its-power-saving-magic/ |
||
| title = How OS X |
| title = How OS X "Mavericks" works its power-saving magic | author = Anderson, Nate | publisher = [[Ars Technica]] |
||
| date = June 11, 2013 | accessdate=2014-03-22}}</ref> |
| date = June 11, 2013 | accessdate=2014-03-22}}</ref> |
||
<ref name=git_commit> |
<ref name=git_commit> |
||
Line 40: | Line 40: | ||
{{cite web|url=http://kernelnewbies.org/Linux_2_6_22|title=Linux Kernel 2 6 22|publisher=kernelnewbies.org|accessdate=2014-03-22}}</ref> |
{{cite web|url=http://kernelnewbies.org/Linux_2_6_22|title=Linux Kernel 2 6 22|publisher=kernelnewbies.org|accessdate=2014-03-22}}</ref> |
||
<ref name="Advanced Technologies"> |
<ref name="Advanced Technologies"> |
||
{{cite web|url= |
{{cite web|url=https://www.apple.com/osx/preview/advanced-technologies.html|title=OS X Mavericks - Advanced Technologies |
||
|publisher=Apple Inc.|accessdate=2014-03-22}}</ref> |
|publisher=Apple Inc.|accessdate=2014-03-22}}</ref> |
||
<ref name="OS X Mavericks: Core Technologies Overview"> |
<ref name="OS X Mavericks: Core Technologies Overview"> |
||
{{cite web |
{{cite web |
||
|title = OS X Mavericks: Core Technologies Overview |
|||
|url = https://images.apple.com/osx/preview/docs/OSX_Mavericks_Core_Technology_Overview.pdf |
|||
|publisher = Apple, Inc. |
|||
|date = June 10, 2013 |
|||
|accessdate = 2013-06-10 |
|||
|url-status = dead |
|||
|archiveurl = https://web.archive.org/web/20130626042313/http://images.apple.com/osx/preview/docs/OSX_Mavericks_Core_Technology_Overview.pdf |
|||
|archivedate = June 26, 2013 |
|||
}}</ref> |
|||
<ref name="man page: time">{{cite web|url=http://man7.org/linux/man-pages/man7/time.7.html |title=time(7) - Linux manual page |publisher=Man7.org |date= |accessdate=2014-03-24}}</ref> |
<ref name="man page: time">{{cite web|url=http://man7.org/linux/man-pages/man7/time.7.html |title=time(7) - Linux manual page |publisher=Man7.org |date= |accessdate=2014-03-24}}</ref> |
||
<ref name="man page: prctl">{{cite web|url=http://man7.org/linux/man-pages/man2/prctl.2.html |title=prctl(2) - Linux manual page |publisher=Man7.org |date= |accessdate=2014-03-24}}</ref> |
<ref name="man page: prctl">{{cite web|url=http://man7.org/linux/man-pages/man2/prctl.2.html |title=prctl(2) - Linux manual page |publisher=Man7.org |date= |accessdate=2014-03-24}}</ref> |
||
Line 51: | Line 58: | ||
{{compsci-stub}} |
{{compsci-stub}} |
||
[[Category:Operating system kernels]] |
|||
[[Category:Synchronization]] |
[[Category:Synchronization]] |
Latest revision as of 03:00, 27 March 2023
Timer coalescing is a computer system energy-saving technique that reduces central processing unit (CPU) power consumption by reducing the precision of software timers used for synchronization of process wake-ups, minimizing the number of times the CPU is forced to perform the relatively power-costly operation of entering and exiting idle states.[1]
Implementations of timer coalescing
[edit]- The Linux kernel gained support for deferrable timers in 2.6.22,[2][3] and controllable "timer slack" for threads in 2.6.28 allowing timer coalescing.[4][5]
- Timer coalescing has been a feature of Microsoft Windows from Windows 7 onward.[6]
- Apple's XNU kernel based OS X gained support as of OS X Mavericks.[7][8]
- FreeBSD supports it since September 2010.[9]
See also
[edit]References
[edit]- ^ Anderson, Nate (June 11, 2013). "How OS X "Mavericks" works its power-saving magic". Ars Technica. Retrieved 2014-03-22.
- ^ "Linux Kernel 2 6 22". kernelnewbies.org. Retrieved 2014-03-22.
- ^ "Add support for deferrable timers". 2007-05-08. Retrieved 2014-03-22.
- ^ "time(7) - Linux manual page". Man7.org. Retrieved 2014-03-24.
- ^ "prctl(2) - Linux manual page". Man7.org. Retrieved 2014-03-24.
- ^ "Windows Timer Coalescing". Microsoft. January 20, 2009. Retrieved 2009-04-21.
- ^ "OS X Mavericks - Advanced Technologies". Apple Inc. Retrieved 2014-03-22.
- ^ "OS X Mavericks: Core Technologies Overview" (PDF). Apple, Inc. June 10, 2013. Archived from the original (PDF) on June 26, 2013. Retrieved 2013-06-10.
- ^ "Refactor timer management code". 13 September 2010.