<?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 - Mathieu Desnoyers</title>
 <link>http://kerneltrap.org/taxonomy/term/329/0</link>
 <description></description>
 <language>en-local</language>
<item>
 <title>Measuring Kernel Marker Overhead</title>
 <link>http://kerneltrap.org/Linux/Measuring_Kernel_Marker_Overhead</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;It looks to be about 2.1% increase in time to do the make/mount/unmount operations with the marker patches in place and no blktrace operations,&lt;/i&gt;&quot; Alan Brunelle summarized some benchmarks testing the overhead of the kernel markers patches.  He continued, &quot;&lt;i&gt;with the blktrace operations in place we see about a 3.8% decrease in time to do the same ops.&lt;/i&gt;&quot;  Block layer maintainer Jens Axboe responded favorably, &quot;&lt;i&gt;thanks for running these numbers. I don&#039;t think you have to bother with it more. My main concern was a performance regression, increasing the overhead of running blktrace.&lt;/i&gt;&quot;  He added, &quot;&lt;i&gt;I&#039;d say the above is Good Enough for me,&lt;/i&gt;&quot; acking the kernel marker patches.&lt;/p&gt;
&lt;p&gt;Jens went on to muse, &quot;&lt;i&gt;I do wonder about that performance _increase_ with blktrace enabled. I remember that we have seen and discussed something like this before, it&#039;s still a puzzle to me...&lt;/i&gt;&quot;  Mathieu Desnoyers agreed, &quot;&lt;i&gt;interesting question indeed,&lt;/i&gt;&quot; going on to suggest possible future tests to understand the unexpected performance increase.  &lt;code&gt;blktrace&lt;/code&gt; is a block layer IO tracing tool for providing detailed information about request queue operations, originally developed by Jens Axboe and merged into the mainline kernel in 2.6.17-rc1.&lt;/p&gt;
&lt;!-- google_ad_section_end --&gt;&lt;p&gt;&lt;a href=&quot;http://kerneltrap.org/Linux/Measuring_Kernel_Marker_Overhead&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://kerneltrap.org/Linux/Measuring_Kernel_Marker_Overhead#comments</comments>
 <category domain="http://kerneltrap.org/2.6.17">2.6.17</category>
 <category domain="http://kerneltrap.org/taxonomy/term/1049">Alan Brunelle</category>
 <category domain="http://kerneltrap.org/blktrace">blktrace</category>
 <category domain="http://kerneltrap.org/block_layer">block layer</category>
 <category domain="http://kerneltrap.org/Jens_Axboe">Jens Axboe</category>
 <category domain="http://kerneltrap.org/kernel_markers">kernel markers</category>
 <category domain="http://kerneltrap.org/Mathieu_Desnoyers">Mathieu Desnoyers</category>
 <category domain="http://kerneltrap.org/performance">performance</category>
 <category domain="http://kerneltrap.org/news/linux">Linux news</category>
 <pubDate>Sun, 07 Oct 2007 13:02:36 +0000</pubDate>
 <dc:creator>Jeremy</dc:creator>
 <guid isPermaLink="false">14531 at http://kerneltrap.org</guid>
</item>
<item>
 <title>Kernel Markers Aiming for 2.6.24</title>
 <link>http://kerneltrap.org/Linux/Kernel_Markers_Aiming_for_2.6.24</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;Mathieu Desnoyers posted an updated version of his Linux Kernel Markers patchset explaining, &quot;&lt;i&gt;following Christoph Hellwig&#039;s suggestion, aiming at a Linux Kernel Markers inclusion for 2.6.24, I made a simplified version of the Linux Kernel Markers.  There are no more dependencies on any other patchset.&lt;/i&gt;&quot;  He continued, &quot;&lt;i&gt;the modification only involved turning the immediate values into static variables and adapting the documentation accordingly. It will have a little more data cache impact when disabled than the version based on the immediate values, but it is far less complex.&lt;/i&gt;&quot;  The patch includes documentation which explains:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&quot;A marker placed in code provides a hook to call a function (probe) that you can provide at runtime. A marker can be &#039;on&#039; (a probe is connected to it) or &#039;off&#039; (no probe is attached). When a marker is &#039;off&#039; it has no effect, except for adding a tiny time penalty (checking a condition for a branch) and space penalty (adding a few bytes for the function call at the end of the instrumented function and adds a data structure in a separate section).  When a marker is &#039;on&#039;, the function you provide is called each time the marker is executed, in the execution context of the caller. When the function provided ends its execution, it returns to the caller (continuing from the marker site).&quot;&lt;/p&gt;&lt;/blockquote&gt;
&lt;!-- google_ad_section_end --&gt;&lt;p&gt;&lt;a href=&quot;http://kerneltrap.org/Linux/Kernel_Markers_Aiming_for_2.6.24&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://kerneltrap.org/Linux/Kernel_Markers_Aiming_for_2.6.24#comments</comments>
 <category domain="http://kerneltrap.org/2.6.24">2.6.24</category>
 <category domain="http://kerneltrap.org/debug">debug</category>
 <category domain="http://kerneltrap.org/kernel_markers">kernel markers</category>
 <category domain="http://kerneltrap.org/Linux">Linux</category>
 <category domain="http://kerneltrap.org/Mathieu_Desnoyers">Mathieu Desnoyers</category>
 <category domain="http://kerneltrap.org/merge_window">merge window</category>
 <category domain="http://kerneltrap.org/news/linux">Linux news</category>
 <pubDate>Tue, 25 Sep 2007 14:57:59 +0000</pubDate>
 <dc:creator>Jeremy</dc:creator>
 <guid isPermaLink="false">14443 at http://kerneltrap.org</guid>
</item>
<item>
 <title>Linux: Kernel Markers</title>
 <link>http://kerneltrap.org/node/8186</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;In a series of ten patches, Mathieu Desnoyers posted an updated version of the Linux Kernel Markers.  In the first patch he explains the need for markers:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&quot;With the increasing complexity of today&#039;s user-space application and the wide deployment of SMP systems, the users need an increasing understanding of the behavior and performance of a system across multiple processes/different execution contexts/multiple CPUs.  In applications such as large clusters (Google, IBM), video acquisition (Autodesk), embedded real-time systems (Wind River, Monta Vista, Sony) or sysadmin/programmer-type tasks (SystemTAP from Redhat), a tool that permits tracing of kernel-user space interaction becomes necessary.&quot;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Mathieu goes on to explain that in complex system finding bugs can be even more difficult due to the rarity of their occurance, &quot;&lt;i&gt;one can therefore only hope at having the best conditions to statistically reproduce the bug while extracting information from the system.  Some bugs have been successfully found at Google using their ktrace tracer only because they could enable it on production machines and therefore recreate the same context where the bug happened.&lt