Timer coalescing: Difference between revisions
Appearance
Content deleted Content added
Citation bot (talk | contribs) Alter: title. Add: date. | Use this bot. Report bugs. | Suggested by Whoop whoop pull up | #UCB_webform 157/3352 |
|||
(38 intermediate revisions by 22 users not shown) | |||
Line 1: | Line 1: | ||
{{Short description|Operating system feature to reduce CPU idle time}} |
|||
'''Timer coalescing''' is a technique |
'''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"/> |
|||
⚫ | |||
|url=http://www.microsoft.com/whdc/system/pnppwr/powermgmt/TimerCoal.mspx |
|url=http://www.microsoft.com/whdc/system/pnppwr/powermgmt/TimerCoal.mspx |
||
|title=Windows Timer Coalescing |
|title=Windows Timer Coalescing |
||
Line 8: | Line 11: | ||
|publisher=Microsoft |
|publisher=Microsoft |
||
}}</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"/> |
|||
*[[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 |
|||
{{reflist}} |
|||
}}</ref> |
|||
== See also == |
== See also == |
||
{{Div col}} |
|||
* [[Advanced Configuration and Power Interface]] (ACPI) |
|||
* [[Advanced Programmable Interrupt Controller]] (APIC) |
|||
* [[High Precision Event Timer]] (HPET) |
|||
* [[HLT (x86 instruction)]] |
|||
* [[Interrupt coalescing]] |
* [[Interrupt coalescing]] |
||
* [[ |
* [[Programmable interval timer]] |
||
* [[Time Stamp Counter]] (TSC) |
|||
{{Div col end}} |
|||
⚫ | |||
{{reflist | 30em | refs= |
|||
<ref name=ars_technica_os_x> |
|||
{{cite web | url = https://arstechnica.com/apple/2013/06/how-os-x-mavericks-works-its-power-saving-magic/ |
|||
| 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> |
|||
<ref name=git_commit> |
|||
{{cite web|url=https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=6e453a67510a17f01b63835f18569e8c3939a38c |
|||
| title = Add support for deferrable timers | date = 2007-05-08 | accessdate=2014-03-22}}</ref> |
|||
<ref name=k_newb> |
|||
{{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"> |
|||
{{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> |
|||
<ref name="OS X Mavericks: Core Technologies Overview"> |
|||
{{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: 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> |
|||
}} |
|||
{{compsci-stub}} |
{{compsci-stub}} |
||
[[Category:Operating system kernels]] |
|||
[[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.