<story><title>Linux 5.6 is the most exciting kernel in years</title><url>https://www.phoronix.com/scan.php?page=article&amp;item=linux-56-features&amp;num=1</url></story><parent_chain><item><author>lucb1e</author><text>For more info on the second point: &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;en.wikipedia.org&amp;#x2F;wiki&amp;#x2F;Linux_kernel#Preemption&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;en.wikipedia.org&amp;#x2F;wiki&amp;#x2F;Linux_kernel#Preemption&lt;/a&gt; seems to have something to do with real-time operating systems, but I didn&amp;#x27;t dive into it.&lt;p&gt;Edit: Thanks for the downvotes without commenting what I should do differently next time?</text></item><item><author>nrclark</author><text>It&amp;#x27;s great to see all these new features entering the kernel. Here are a couple of other things I&amp;#x27;ve seen in recent changelogs:&lt;p&gt;- The 5.4 kernel can use CIFS as a root filesystem, meaning CIFS can replace NFS for diskless boot.&lt;p&gt;- The 5.3 and 5.4 kernels both include prep for merging PREEMPT_RT into mainline. This will be a fantastic addition that benefits embedded Linux nerds like me.</text></item></parent_chain><comment><author>devit</author><text>Currently the Linux kernel disables preemption inside spinlocks and interrupt handlers, and these code sections are not necessarily carefully written to be short and constant-time, so you can in theory get in a situation where all cores are running spinlock or interrupt handler code from low priority threads for arbitrarily long times, preventing higher priority realtime threads to run (which in practice means that whatever hardware you are controlling will be uncontrolled, and thus your self-driving car, rocket, plane or industrial machine might be destroyed).&lt;p&gt;The PREEMPT_RT patch solves this by reimplementing all kernel spinlocks as mutexes with priority inheritance that are fully preemptible and all interrupt handlers as preemptable threads.&lt;p&gt;The result is that if you have a bunch of real-time process&amp;#x2F;thread that do not make system calls, it&amp;#x27;s guaranteed that in a bounded amount time the highest priority set will be running.&lt;p&gt;If you do however make system calls (or even if you cause page faults because you didn&amp;#x27;t call mlockall() and accessed non-mlocked memory), with the exception of some system calls that provide better guarantees, then you can still have kernel spinlock contention with other threads that may hold the same spinlock for an unbounded amount of time, so the system is more limited than dedicated real-time OSes that are careful about this.</text></comment>
<story><title>Linux 5.6 is the most exciting kernel in years</title><url>https://www.phoronix.com/scan.php?page=article&amp;item=linux-56-features&amp;num=1</url></story><parent_chain><item><author>lucb1e</author><text>For more info on the second point: &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;en.wikipedia.org&amp;#x2F;wiki&amp;#x2F;Linux_kernel#Preemption&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;en.wikipedia.org&amp;#x2F;wiki&amp;#x2F;Linux_kernel#Preemption&lt;/a&gt; seems to have something to do with real-time operating systems, but I didn&amp;#x27;t dive into it.&lt;p&gt;Edit: Thanks for the downvotes without commenting what I should do differently next time?</text></item><item><author>nrclark</author><text>It&amp;#x27;s great to see all these new features entering the kernel. Here are a couple of other things I&amp;#x27;ve seen in recent changelogs:&lt;p&gt;- The 5.4 kernel can use CIFS as a root filesystem, meaning CIFS can replace NFS for diskless boot.&lt;p&gt;- The 5.3 and 5.4 kernels both include prep for merging PREEMPT_RT into mainline. This will be a fantastic addition that benefits embedded Linux nerds like me.</text></item></parent_chain><comment><author>hactually</author><text>It aims to turn Linux into a real-time OS. The preempty patchset aims to give faster response times but the main focus is to remove all unbounded latencies - for example, situations where the delay can vary depending on other factors.</text></comment>