{"id":1377,"date":"2013-11-14T13:17:17","date_gmt":"2013-11-14T13:17:17","guid":{"rendered":"http:\/\/blog.bachi.net\/?p=1377"},"modified":"2018-04-26T18:27:32","modified_gmt":"2018-04-26T18:27:32","slug":"linux-time-subsystem-high-resolution-timer-api","status":"publish","type":"post","link":"https:\/\/blog.bachi.net\/?p=1377","title":{"rendered":"Linux Time Subsystem: High-Resolution Timer API"},"content":{"rendered":"<h3>Articles<\/h3>\n<p><a href=\"http:\/\/btorpey.github.io\/blog\/2014\/02\/18\/clock-sources-in-linux\/\">Measuring Latency in Linux<\/a><br \/>\n<a href=\"https:\/\/elinux.org\/Kernel_Timer_Systems\">Kernel Timer Systems<\/a><br \/>\n<a href=\"https:\/\/elinux.org\/High_Resolution_Timers\">High Resolution Timers<\/a><br \/>\n<a href=\"https:\/\/elinux.org\/High_Resolution_Timers#How_to_detect_if_your_timer_system_supports_high_resolution\">How to detect if your timer system supports high resolution<\/a><\/p>\n<p><a href=\"https:\/\/www.kernel.org\/doc\/ols\/2006\/ols2006v1-pages-333-346.pdf\">Hrtimers and Beyond: Transforming the Linux Time Subsystems<\/a> (PDF)<br \/>\n<a href=\"http:\/\/lwn.net\/Articles\/167897\/\">The high-resolution timer API<\/a><br \/>\n<a href=\"http:\/\/lwn.net\/Articles\/504744\/\">Leaping seconds and looping servers<\/a><br \/>\n<a href=\"http:\/\/www.wired.com\/wiredenterprise\/2012\/07\/leap-second-glitch-explained\/\">The Inside Story of the Extra Second That Crashed the Web<\/a><br \/>\n<a href=\"http:\/\/stackoverflow.com\/questions\/13214197\/hrtimer-repeating-task-in-the-linux-kernel\">hrtimer repeating task in the Linux kernel<\/a><br \/>\n<a href=\"http:\/\/www.python.org\/dev\/peps\/pep-0418\/\">Python: Add monotonic time, performance counter, and process time functions<\/a><\/p>\n<h3>Patches<\/h3>\n<p><a href=\"http:\/\/linux.derkeiler.com\/Mailing-Lists\/Kernel\/2005-12\/msg01449.html\"> hrtimer &#8211; High-resolution timer subsystem<\/a><br \/>\n<a href=\"http:\/\/linux.derkeiler.com\/Mailing-Lists\/Kernel\/2008-12\/msg06686.html\">[PATCH v2] tracing\/function-graph-tracer: prevent from hrtimer interrupt infinite loop<\/a><br \/>\n<a href=\"http:\/\/lkml.indiana.edu\/hypermail\/linux\/kernel\/1207.2\/03257.html\">[ 074\/108] ntp: Fix leap-second hrtimer livelock<\/a><br \/>\n<a href=\"http:\/\/lkml.indiana.edu\/hypermail\/linux\/kernel\/1207.2\/03256.html\">[ 080\/108] timekeeping: Maintain ktime_t based offsets for hrtimers<\/a><br \/>\n<a href=\"http:\/\/www.spinics.net\/lists\/netdev\/msg246488.html\">[PATCHv3 linux-next] hrtimer: Add notifier when clock_was_set was called<\/a><br \/>\n<a href=\"http:\/\/www.mail-archive.com\/linux-kernel@vger.kernel.org\/msg502631.html\">Re: [PATCHv3 linux-next] hrtimer: Add notifier when clock_was_set was called<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Articles Measuring Latency in Linux Kernel Timer Systems High Resolution Timers How to detect if your timer system supports high resolution Hrtimers and Beyond: Transforming the Linux Time Subsystems (PDF) The high-resolution timer API Leaping seconds and looping servers The Inside Story of the Extra Second That Crashed the Web hrtimer repeating task in the [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1377","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/blog.bachi.net\/index.php?rest_route=\/wp\/v2\/posts\/1377","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.bachi.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.bachi.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.bachi.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.bachi.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1377"}],"version-history":[{"count":8,"href":"https:\/\/blog.bachi.net\/index.php?rest_route=\/wp\/v2\/posts\/1377\/revisions"}],"predecessor-version":[{"id":7713,"href":"https:\/\/blog.bachi.net\/index.php?rest_route=\/wp\/v2\/posts\/1377\/revisions\/7713"}],"wp:attachment":[{"href":"https:\/\/blog.bachi.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1377"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.bachi.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1377"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.bachi.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1377"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}