<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="http://kerneltrap.org"  xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
 <title>KernelTrap - low-latency</title>
 <link>http://kerneltrap.org/taxonomy/term/645/0</link>
 <description></description>
 <language>en-local</language>
<item>
 <title>LatencyTop, Identifying System Latency</title>
 <link>http://kerneltrap.org/Linux/LatencyTop_Identifying_System_Latency</link>
 <description>&lt;div class=&quot;taxonomy-images&quot;&gt;&lt;a href=&quot;/news/linux&quot; class=&quot;taxonomy-image-links&quot;&gt;&lt;img src=&quot;http://kerneltrap.org/files/category_pictures/K-Linux.gif&quot; alt=&quot;Linux news&quot; title=&quot;Linux news&quot;  width=&quot;75&quot; height=&quot;75&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;!-- google_ad_section_start --&gt;&lt;p&gt;&quot;&lt;i&gt;Slow servers, Skipping audio, Jerky video --everyone knows the symptoms of latency. But to know what&#039;s really going on in the system, what&#039;s causing the latency, and how to fix it... those are difficult questions without good answers right now,&lt;/i&gt;&quot; &lt;a href=&quot;http://kerneltrap.org/mailarchive/linux-kernel/2008/1/18/581438&quot;&gt;began Arjan van de Van&lt;/a&gt;, announcing version 0.1 of LatencyTop, &quot;&lt;i&gt;a tool for developers to visualize system latencies.&lt;/i&gt;&quot;  He continued:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&quot;LatencyTOP is a Linux tool for software developers (both kernel and userspace), aimed at identifying where system latency occurs, and what kind of operation/action is causing the latency to happen. By identifying this, developers can then change the code to avoid the worst latency hiccups.&lt;/p&gt;
&lt;p&gt;&quot;There are many types and causes of latency, and LatencyTOP focus on type that causes audio skipping and desktop stutters. Specifically, LatencyTOP focuses on the cases where the applications want to run and execute useful code, but there&#039;s some resource that&#039;s not currently available (and the kernel then blocks the process). This is done both on a system level and on a per process level, so that you can see what&#039;s happening to the system, and which process is suffering and/or causing the delays.&quot;&lt;/p&gt;&lt;/blockquote&gt;
&lt;!-- google_ad_section_end --&gt;&lt;p&gt;&lt;a href=&quot;http://kerneltrap.org/Linux/LatencyTop_Identifying_System_Latency&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://kerneltrap.org/Linux/LatencyTop_Identifying_System_Latency#comments</comments>
 <category domain="http://kerneltrap.org/Arjan_van_de_Ven">Arjan van de Ven</category>
 <category domain="http://kerneltrap.org/Intel">Intel</category>
 <category domain="http://kerneltrap.org/latencytop">latencytop</category>
 <category domain="http://kerneltrap.org/Linux">Linux</category>
 <category domain="http://kerneltrap.org/low-latency">low-latency</category>
 <category domain="http://kerneltrap.org/news/linux">Linux news</category>
 <pubDate>Fri, 18 Jan 2008 20:28:35 +0000</pubDate>
 <dc:creator>Jeremy</dc:creator>
 <guid isPermaLink="false">15266 at http://kerneltrap.org</guid>
</item>
<item>
 <title>Caution and Latency</title>
 <link>http://kerneltrap.org/Linux/Caution_and_Latency</link>
 <description>&lt;div class=&quot;taxonomy-images&quot;&gt;&lt;a href=&quot;/news/linux&quot; class=&quot;taxonomy-image-links&quot;&gt;&lt;img src=&quot;http://kerneltrap.org/files/category_pictures/K-Linux.gif&quot; alt=&quot;Linux news&quot; title=&quot;Linux news&quot;  width=&quot;75&quot; height=&quot;75&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;!-- google_ad_section_start --&gt;&lt;p&gt;&quot;&lt;i&gt;With latencytop, I noticed that the (in memory) atime updates during a kernel build had latencies of 600 msec or longer; this is obviously not so nice behavior. Other EXT3 journal related operations had similar or even longer latencies,&lt;/i&gt;&quot; &lt;a href=&quot;http://kerneltrap.org/mailarchive/linux-kernel/2007/10/15/343499&quot;&gt;Arjan van de Ven reported&lt;/a&gt;, describing a &quot;mass priority inversion&quot; caused by, &quot;&lt;i&gt;an interaction between EXT3 and CFQ in that CFQ tries to be fair to everyone, including kjournald. However, in reality, kjournald is &#039;special&#039; in that it does a lot of journal work&lt;/i&gt;&quot;.  Finally, he offered a tiny patch to resolve the issue, &quot;&lt;i&gt;the patch below makes kjournald of the IOPRIO_CLASS_RT priority to break this priority inversion behavior. With this patch, the latencies for atime updates (and similar operation) go down by a factor of 3x to 4x !&lt;/i&gt;&quot;&lt;/p&gt;
&lt;p&gt;Andrew Morton took a cautious stance, &quot;&lt;i&gt;seems a pretty fundamental change which could do with some careful benchmarking, methinks.  See, your patch amounts to &#039;do more seeks to improve one test case&#039;.  Surely other testcases will worsen.  What are they?&lt;/i&gt;&quot; CFQ author Jens Axboe agreed, &quot;&lt;i&gt;It should not be merged as-is, instead I&#039;ll provide a function to do this.&lt;/i&gt;&quot;  Ingo Molnar wasn&#039;t convinced, &quot;&lt;i&gt;atime update latencies went down by a factor of 3x-4x ... but what bothers me even more is the large picture. Linux&#039;s development is still fundamentally skewed towards bandwidth (which goes up with hardware advances anyway), while the focus on latencies is very lacking (which users do care about much more and which usually does _not_ improve with improved hardware), so i cannot see why we shouldnt apply this.&lt;/i&gt;&quot;  He added, &quot;&lt;i&gt;if bandwidth hurts anywhere, it will be pointed out and fixed, we&#039;ve got  like tons of bandwidth benchmarks and it&#039;s _easy_ to fix bandwidth problems. But _finally_ we now have desktop latency tools, hard numbers and patches that fix them, but what do we do ... we put up extra roadblocks??&lt;/i&gt;&quot;  Andrew calmy replied, &quot;&lt;i&gt;I think the situation is that we&#039;ve asked for some additional what-can-be-hurt-by-this testing.  Yes, we could sling it out there and wait for the reports.  But often that&#039;s a pretty painful process and regressions can be discovered too late for us to do anything about them.&lt;/i&gt;&quot;&lt;/p&gt;
&lt;!-- google_ad_section_end --&gt;&lt;p&gt;&lt;a href=&quot;http://kerneltrap.org/Linux/Caution_and_Latency&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://kerneltrap.org/Linux/Caution_and_Latency#comments</comments>
 <category domain="http://kerneltrap.org/Andrew_Morton">Andrew Morton</category>
 <category domain="http://kerneltrap.org/Arjan_van_de_Ven">Arjan van de Ven</category>
 <category domain="http://kerneltrap.org/CFQ">CFQ</category>
 <category domain="http://kerneltrap.org/Ingo_Molnar">Ingo Molnar</category>
 <category domain="http://kerneltrap.org/Jens_Axboe">Jens Axboe</category>
 <category domain="http://kerneltrap.org/latencytop">latencytop</category>
 <category domain="http://kerneltrap.org/Linux">Linux</category>
 <category domain="http://kerneltrap.org/low-latency">low-latency</category>
 <category domain="http://kerneltrap.org/news/linux">Linux news</category>
 <pubDate>Mon, 22 Oct 2007 12:28:25 +0000</pubDate>
 <dc:creator>Jeremy</dc:creator>
 <guid isPermaLink="false">14641 at http://kerneltrap.org</guid>
</item>
<item>
 <title>Preemptible RCU</title>
 <link>http://kerneltrap.org/Linux/Preemptible_RCU</link>
 <description>&lt;div class=&quot;taxonomy-images&quot;&gt;&lt;a href=&quot;/news/linux&quot; class=&quot;taxonomy-image-links&quot;&gt;&lt;img src=&quot;http://kerneltrap.org/files/category_pictures/K-Linux.gif&quot; alt=&quot;Linux news&quot; title=&quot;Linux news&quot;  width=&quot;75&quot; height=&quot;75&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;!-- google_ad_section_start --&gt;&lt;p&gt;&quot;&lt;i&gt;This patch implements a new version of RCU which allows its read-side critical sections to be preempted,&lt;/i&gt;&quot; &lt;a href=&quot;http://kerneltrap.org/mailarchive/linux-kernel/2007/9/10/192214&quot;&gt;Paul McKenney said in a posting&lt;/a&gt; to the Linux Kernel mailing list.  He described the &lt;a href=&quot;http://en.wikipedia.org/wiki/Read-copy-update&quot;&gt;RCU&lt;/a&gt; code contained in his 9 part patchset, &quot;&lt;i&gt;it uses a set of counter pairs to keep track of the read-side critical sections and flips them when all tasks exit [the] read-side critical section.&lt;/i&gt;&quot;  He continued:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&quot;This patch was developed as a part of the -rt kernel development and meant to provide better latencies when read-side critical sections of RCU don&#039;t disable preemption.  As a consequence of keeping track of RCU readers, the readers have a slight overhead (optimizations in the paper). This implementation co-exists with the &#039;classic&#039; RCU implementations and can be switched to at compiler.&quot;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Ingo Molnar responded very favorably to the patch, &quot;&lt;i&gt;cool! Now after 2 years of development and testing I think this is one of the most mature patchsets on lkml - so i&#039;d like to see this designated for potential upstream inclusion. I.e. everyone who can see some bug, please holler now.&lt;/i&gt;&quot;&lt;/p&gt;
&lt;!-- google_ad_section_end --&gt;&lt;p&gt;&lt;a href=&quot;http://kerneltrap.org/Linux/Preemptible_RCU&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://kerneltrap.org/Linux/Preemptible_RCU#comments</comments>
 <category domain="http://kerneltrap.org/taxonomy/term/581">-rt</category>
 <category domain="http://kerneltrap.org/Ingo_Molnar">Ingo Molnar</category>
 <category domain="http://kerneltrap.org/low-latency">low-latency</category>
 <category domain="http://kerneltrap.org/taxonomy/term/583">patch</category>
 <category domain="http://kerneltrap.org/taxonomy/term/908">Paul McKenney</category>
 <category domain="http://kerneltrap.org/taxonomy/term/907">RCU</category>
 <category domain="http://kerneltrap.org/news/linux">Linux news</category>
 <pubDate>Tue, 11 Sep 2007 16:45:33 +0000</pubDate>
 <dc:creator>Jeremy</dc:creator>
 <guid isPermaLink="false">14341 at http://kerneltrap.org</guid>
</item>
<item>
 <title>Linux:  2.6.9-mm1, What&#039;s Merging In 2.6.10 And Beyond</title>
 <link>http://kerneltrap.org/node/4040</link>
 <description>&lt;div class=&quot;taxonomy-images&quot;&gt;&lt;/div&gt;&lt;!-- google_ad_section_start --&gt;&lt;p&gt;With the release of 2.6.9-mm1, Andrew Morton [&lt;a href=&quot;http://kerneltrap.org/node/view/10&quot;&gt;interview&lt;/a&gt;] offered a quick status update on a number of patches in his -mm tree [&lt;a href=&quot;http://kerneltrap.org/forum/linux/kernel/2.6/mm&quot;&gt;forum&lt;/a&gt;] that are 2.6-mainline hopefuls.  For example, regarding the much debated reiser4 filesystem [&lt;a href=&quot;http://kerneltrap.org/node/view/3749&quot;&gt;story&lt;/a&gt;], Andrew said that he is still &quot;&lt;i&gt;not sure, really.  The namespace extensions were disabled, although all the code for that is still present.  Linus&#039;s filesystem criterion used to be &#039;once lots of people are using it, preferably when vendors are shipping it&#039;. That&#039;s a bit of a chicken and egg thing though. Needs more discussion&lt;/i&gt;&quot;.  And as for Ingo Molnar [&lt;a href=&quot;&quot;&gt;interview&lt;/a&gt;]&#039;s preemption and low-latency fixups [&lt;a href=&quot;http://kerneltrap.org/node/view/3995&quot;&gt;forum&lt;/a&gt;] Andrew offered, &quot;&lt;i&gt;I haven&#039;t really thought about it and haven&#039;t looked at the patches yet.  Hopefully 2.6.10 material.&lt;/i&gt;&quot;&lt;/p&gt;
&lt;p&gt;Other projects specifically mentioned include the sysfs backing store, the ext3 reservations code, the ext3 resize code, kexec and crashdump [&lt;a href=&quot;http://kerneltrap.org/node/view/3870&quot;&gt;story&lt;/a&gt;], perfctr, cachefs, cpusets, and the md updates.  Read on for Andrew&#039;s comments and the complete -mm1 changelog.&lt;/p&gt;
&lt;!-- google_ad_section_end --&gt;&lt;p&gt;&lt;a href=&quot;http://kerneltrap.org/node/4040&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://kerneltrap.org/node/4040#comments</comments>
 <category domain="http://kerneltrap.org/-mm">-mm</category>
 <category domain="http://kerneltrap.org/taxonomy/term/654">2.6.10</category>
 <category domain="http://kerneltrap.org/taxonomy/term/618">2.6.9</category>
 <category domain="http://kerneltrap.org/Andrew_Morton">Andrew Morton</category>
 <category domain="http://kerneltrap.org/ext3">ext3</category>
 <category domain="http://kerneltrap.org/filesystem">filesystem</category>
 <category domain="http://kerneltrap.org/Ingo_Molnar">Ingo Molnar</category>
 <category domain="http://kerneltrap.org/kexec">kexec</category>
 <category domain="http://kerneltrap.org/taxonomy/term/171">Linux kernel</category>
 <category domain="http://kerneltrap.org/low-latency">low-latency</category>
 <category domain="http://kerneltrap.org/merge_plans">merge plans</category>
 <category domain="http://kerneltrap.org/taxonomy/term/458">preemption</category>
 <category domain="http://kerneltrap.org/reiser4">reiser4</category>
 <pubDate>Fri, 22 Oct 2004 11:31:38 +0000</pubDate>
 <dc:creator>Jeremy</dc:creator>
 <guid isPermaLink="false">4040 at http://kerneltrap.org</guid>
</item>
<item>
 <title>Linux:  Low Latency and Filesystems</title>
 <link>http://kerneltrap.org/node/3466</link>
 <description>&lt;div class=&quot;taxonomy-images&quot;&gt;&lt;a href=&quot;/news/linux&quot; class=&quot;taxonomy-image-links&quot;&gt;&lt;img src=&quot;http://kerneltrap.org/files/category_pictures/K-Linux.gif&quot; alt=&quot;Linux news&quot; title=&quot;Linux news&quot;  width=&quot;75&quot; height=&quot;75&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;!-- google_ad_section_start --&gt;&lt;p&gt;Continuing the earlier discussion a