{"id":64932,"date":"2024-09-19T14:14:14","date_gmt":"2024-09-19T18:14:14","guid":{"rendered":"http:\/\/pappp.net\/?guid=03035bfd64fa97a715f21fe2b082fba1"},"modified":"2024-09-19T14:14:14","modified_gmt":"2024-09-19T18:14:14","slug":"real-time-linux-is-officially-part-of-the-kernel-after-decades-of-debate","status":"publish","type":"post","link":"https:\/\/pappp.net\/?p=64932","title":{"rendered":"Real-time Linux is officially part of the kernel after decades of debate"},"content":{"rendered":"<p class=\"syndicated-attribution\">Source: <a href=\"https:\/\/arstechnica.com\/?p=2050956\">Ars Technica<\/a><\/p>\n<div style=\"background-color : #fff7d5;\n\t\t\tborder-width : 1px; padding : 5px; border-style : dashed; border-color : #e7d796;margin-bottom : 1em; color : #9a8c59;\">Article note: Very cool, RT patches have been a bit of a pain for decades.  \nI think in an increasing number of applications it now makes more sense to use attached controllers for RT tasks and a (more)conventionally scheduled host, but there are a bunch of places where a big computer with a full OS doing things like sophisticated coordinated motion (think LinuxCNC) is a really nice option.<\/div><div>\n<figure>\n  <img src=\"https:\/\/cdn.arstechnica.net\/wp-content\/uploads\/2024\/09\/GettyImages-154925535-800x533.jpg\" alt=\"CNC laser skipping across a metal surface, leaving light trails in long exposure.\" referrerpolicy=\"no-referrer\" loading=\"lazy\"\/>\n      <p><a href=\"https:\/\/cdn.arstechnica.net\/wp-content\/uploads\/2024\/09\/GettyImages-154925535.jpg\" rel=\"noopener noreferrer\">Enlarge<\/a> <span>\/<\/span> Cutting metal with lasers is hard, but even harder when you don't know the worst-case timings of your code.  (credit: Getty Images)<\/p>  <\/figure>\n\n\n\n\n\n\n<div><a name=\"page-1\"><\/a><\/div>\n<p>As is so often the case, a notable change in an upcoming Linux kernel is both historic and no big deal.<\/p>\n<p>If you wanted to use \"Real-Time Linux\" for your audio gear, your industrial welding laser, or your Mars rover, you have had that option for a long time (presuming you didn't want to use <a href=\"https:\/\/en.wikipedia.org\/wiki\/QNX\" rel=\"noopener noreferrer\">QNX<\/a> or other alternatives). Universities started making their own real-time kernels in the late 1990s. A patch set, <a href=\"https:\/\/en.wikipedia.org\/wiki\/PREEMPT_RT\" rel=\"noopener noreferrer\">PREEMPT_RT<\/a>, has existed since at least 2005. And some aspects of the real-time work, like <a href=\"https:\/\/docs.kernel.org\/timers\/no_hz.html\" rel=\"noopener noreferrer\">NO_HZ<\/a>, were long ago moved into the mainline kernel, enabling its use in data centers, cloud computing, or anything with a lot of CPUs.<\/p>\n<p>But officialness still matters, and in the 6.12 kernel, PREEMPT_RT will <a href=\"https:\/\/www.linkedin.com\/in\/steven-rostedt-0159437a?miniProfileUrn=urn%3Ali%3Afsd_profile%3AACoAABDeZFEBhZrUEECmfcOFAF1snC2lzqCrX_k&amp;lipi=urn%3Ali%3Apage%3Ad_flagship3_detail_base%3BlN9k98ajQf21MqZeP7NF1g%3D%3D\" rel=\"noopener noreferrer\">likely be merged into the mainline<\/a>. As <a href=\"https:\/\/www.zdnet.com\/article\/20-years-later-real-time-linux-makes-it-to-the-kernel-really\/\" rel=\"noopener noreferrer\">noted by Steven Vaughan-Nichols at ZDNet<\/a>, the final sign-off by Linus Torvalds occurred while he was attending Open Source Summit Europe. Torvalds wrote the original code for <a href=\"https:\/\/www.kernel.org\/doc\/html\/next\/core-api\/printk-basics.html\" rel=\"noopener noreferrer\">printk<\/a>, a debugging tool that can pinpoint exact moments where a process crashes, but also introduces latency that runs counter to real-time computing. The Phoronix blog has tracked the progress of PREEMPT_RT into the kernel, along with <a href=\"https:\/\/www.phoronix.com\/news\/Linux-NCON-Consoles-v5\" rel=\"noopener noreferrer\">the printk changes<\/a> that allowed for threaded\/atomic console support crucial to real-time mainlining.<\/p><\/div><p><a href=\"https:\/\/arstechnica.com\/?p=2050956#p3\" rel=\"noopener noreferrer\">Read 3 remaining paragraphs<\/a> | <a href=\"https:\/\/arstechnica.com\/?p=2050956&amp;comments=1\" rel=\"noopener noreferrer\">Comments<\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>Enlarge \/ Cutting metal with lasers is hard, but even harder when you don&#8217;t know the wors&#8230;<\/p>\n<p> <a href=\"https:\/\/pappp.net\/?p=64932\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[226],"tags":[],"class_list":["post-64932","post","type-post","status-publish","format-standard","hentry","category-news-2"],"_links":{"self":[{"href":"https:\/\/pappp.net\/index.php?rest_route=\/wp\/v2\/posts\/64932","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pappp.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pappp.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pappp.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/pappp.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=64932"}],"version-history":[{"count":0,"href":"https:\/\/pappp.net\/index.php?rest_route=\/wp\/v2\/posts\/64932\/revisions"}],"wp:attachment":[{"href":"https:\/\/pappp.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=64932"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pappp.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=64932"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pappp.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=64932"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}