<story><title>How Linux 3.6 Nearly Broke PostgreSQL</title><url>http://lwn.net/Articles/518329/</url></story><parent_chain></parent_chain><comment><author>cs702</author><text>Unintended adverse side effects from a tiny change to a small component of a complex OS kernel that runs on complex modern processors that are part of mindbogglingly complex computer systems, on which we run the ridiculously vast software ecosystem which makes possible the massively complex global network of applications and services we call &quot;the Web.&quot;&lt;p&gt;Every time I read or hear about unintended-consequence incidents like this one, I&apos;m reminded me of Jean-Baptiste Queru&apos;s essay, &quot;Dizzying but Invisible Depth&quot; -- highly recommended if you haven&apos;t read it.[1]&lt;p&gt;--&lt;p&gt;[1] &lt;a href=&quot;https://plus.google.com/u/0/112218872649456413744/posts/dfydM2Cnepe&quot; rel=&quot;nofollow&quot;&gt;https://plus.google.com/u/0/112218872649456413744/posts/dfyd...&lt;/a&gt;</text></comment>
<story><title>How Linux 3.6 Nearly Broke PostgreSQL</title><url>http://lwn.net/Articles/518329/</url></story><parent_chain></parent_chain><comment><author>efuquen</author><text>&quot;A potentially simpler alternative is to let the application itself tell the scheduler that one of its processes is special. PostgreSQL could request that its dispatcher be allowed to run at the expense of one of its own workers, even if the normal scheduling algorithm would dictate otherwise.&quot;&lt;p&gt;I don&apos;t see how this is so bad, it seems like the best solution too me.  If you&apos;re writing a specialized high performance piece of software I feel like the application developer should be the one tasked with making sure the kernel knows certain things about it&apos;s application.  It&apos;s pretty clear a project like postgres is doing all sorts of tricks and optimizations already, I don&apos;t see how this would be any more or less burdensome.&lt;p&gt;Overall I feel like it&apos;s a fair trade-off to have kernel be told specific things by the application so it can make the better scheduling decisions vs it having to guess and potentially make poor decisions at the expense of most common applications.</text></comment>