<?xml version="1.0" ?>

<kc>

<title>Kernel Traffic</title>

<author contact="mailto:zbrown@tumblerings.org">Zack Brown</author>

<headquote>

<p>One thing I have to say is that I've learnt a lot more shell tricks.</p>

<p>Now I'll just have to unlearn them, so that I won't have nightmares.</p>

<p>--Linus</p>

</headquote>

<issue num="316" date="20 Jun 2005 00:00:00 -0800" />

<mailbox-stats>
	<global-stats>
		<generated-at>Sat Jun 18 08:32:59 2005</generated-at>
		<first-message>Tue May 31 13:20:48 2005</first-message>
		<last-message>Fri Jun 17 14:42:29 2005</last-message>
		<totals>
			<n-messages>1706</n-messages>
			<n-is-reply>1328</n-is-reply>
			<avg-resp-time>20:35:12</avg-resp-time>
			<n-pgp-signed>72</n-pgp-signed>
			<total-size>10MB</total-size>
			<avg-size>6KB</avg-size>
			<n-attachments>54</n-attachments>
			<att-size>516KB</att-size>
			<bussiest-day-in-n day="2005-06-13"><n-msgs>279</n-msgs><n-bytes>2MB</n-bytes></bussiest-day-in-n>
			<bussiest-day-in-bytes day="2005-06-13"><n-msgs>279</n-msgs><n-bytes>2MB</n-bytes></bussiest-day-in-bytes>
			<n-writers>614</n-writers>
			<wrote-more-then-1-message>243</wrote-more-then-1-message>
			<n-lines>163237</n-lines>
			<header-size>92998</header-size>
			<n-user-agents>64</n-user-agents>
			<n-organisations>52</n-organisations>
			<n-toplevel-domains>35</n-toplevel-domains>
			<avg-spam-score>-28.215885</avg-spam-score>
				<spammiest-writer><score>3.600000</score><name>montagu</name></spammiest-writer>
		</totals>
		<averages>
			<lines-per-message>95</lines-per-message>
			<lines-per-header>54</lines-per-header>
			<header-percent-of-message>56.97%</header-percent-of-message>
			<header-percent-of-total>44.51%</header-percent-of-total>
			<line-length>31</line-length>
		</averages>
		<importance>
			<low>0.00%</low>
			<normal>0.59%</normal>
			<high>0.00%</high>
		</importance>

	</global-stats>
	<top-writers>
		<top-writer rank="1">
			<e-mail-addr>gregkh@suse.de</e-mail-addr>
			<n-messages>41</n-messages>
			<avg-size>9KB</avg-size>
			<total-size>369KB</total-size>
			<mostly-written-at>08:22</mostly-written-at>
		</top-writer>
		<top-writer rank="2">
			<e-mail-addr>david&#32;s.&#32;miller</e-mail-addr>
			<n-messages>36</n-messages>
			<avg-size>4KB</avg-size>
			<total-size>110KB</total-size>
			<mostly-written-at>16:32</mostly-written-at>
		</top-writer>
		<top-writer rank="3">
			<e-mail-addr>ingo&#32;molnar</e-mail-addr>
			<n-messages>35</n-messages>
			<avg-size>7KB</avg-size>
			<total-size>227KB</total-size>
			<mostly-written-at>14:31</mostly-written-at>
		</top-writer>
		<top-writer rank="4">
			<e-mail-addr>karim&#32;yaghmour</e-mail-addr>
			<n-messages>34</n-messages>
			<avg-size>6KB</avg-size>
			<total-size>183KB</total-size>
			<mostly-written-at>15:13</mostly-written-at>
		</top-writer>
		<top-writer rank="5">
			<e-mail-addr>denis&#32;vlasenko</e-mail-addr>
			<n-messages>30</n-messages>
			<avg-size>6KB</avg-size>
			<total-size>162KB</total-size>
			<mostly-written-at>12:35</mostly-written-at>
		</top-writer>
	</top-writers>
	<top-subjects>
		<top-subject rank="1">
			<subject>attempted&#32;summary&#32;of&#32;"rt&#32;patch&#32;acceptance"&#32;thread</subject>
			<n-messages>102</n-messages>
			<avg-size>6KB</avg-size>
			<total-size>549KB</total-size>
			<mostly-written-at>15:28</mostly-written-at>
			<first-msg>1118201206</first-msg>
			<last-msg>1118803650</last-msg>
		</top-subject>
		<top-subject rank="2">
			<subject>[patch]&#32;local_irq_disable&#32;removal</subject>
			<n-messages>85</n-messages>
			<avg-size>6KB</avg-size>
			<total-size>492KB</total-size>
			<mostly-written-at>12:01</mostly-written-at>
			<first-msg>1118218118</first-msg>
			<last-msg>1118914511</last-msg>
		</top-subject>
		<top-subject rank="3">
			<subject>ipw2100:&#32;firmware&#32;problem</subject>
			<n-messages>57</n-messages>
			<avg-size>4KB</avg-size>
			<total-size>219KB</total-size>
			<mostly-written-at>14:55</mostly-written-at>
			<first-msg>1118250327</first-msg>
			<last-msg>1118716972</last-msg>
		</top-subject>
		<top-subject rank="4">
			<subject>preempt_rt&#32;vs&#32;adeos:&#32;the&#32;numbers,&#32;part&#32;1</subject>
			<n-messages>51</n-messages>
			<avg-size>6KB</avg-size>
			<total-size>276KB</total-size>
			<mostly-written-at>13:17</mostly-written-at>
			<first-msg>1118479019</first-msg>
			<last-msg>1118710821</last-msg>
		</top-subject>
		<top-subject rank="5">
			<subject>2.6.12-rc6-mm1</subject>
			<n-messages>50</n-messages>
			<avg-size>6KB</avg-size>
			<total-size>299KB</total-size>
			<mostly-written-at>13:19</mostly-written-at>
			<first-msg>1118147371</first-msg>
			<last-msg>1118618384</last-msg>
		</top-subject>
	</top-subjects>
	<top-receivers>
		<top-receiver rank="1">
			<e-mail-addr>linux-kernel@vger.kernel.org</e-mail-addr>
			<n-messages>267</n-messages>
			<avg-size>9KB</avg-size>
			<total-size>3MB</total-size>
			<mostly-written-at>12:52</mostly-written-at>
		</top-receiver>
		<top-receiver rank="2">
			<e-mail-addr>andrew&#32;morton</e-mail-addr>
			<n-messages>106</n-messages>
			<avg-size>9KB</avg-size>
			<total-size>908KB</total-size>
			<mostly-written-at>13:52</mostly-written-at>
		</top-receiver>
		<top-receiver rank="3">
			<e-mail-addr>ingo&#32;molnar</e-mail-addr>
			<n-messages>37</n-messages>
			<avg-size>5KB</avg-size>
			<total-size>173KB</total-size>
			<mostly-written-at>13:10</mostly-written-at>
		</top-receiver>
		<top-receiver rank="4">
			<e-mail-addr>karim&#32;yaghmour</e-mail-addr>
			<n-messages>37</n-messages>
			<avg-size>6KB</avg-size>
			<total-size>215KB</total-size>
			<mostly-written-at>15:04</mostly-written-at>
		</top-receiver>
		<top-receiver rank="5">
			<e-mail-addr>david&#32;s.&#32;miller</e-mail-addr>
			<n-messages>35</n-messages>
			<avg-size>4KB</avg-size>
			<total-size>139KB</total-size>
			<mostly-written-at>15:02</mostly-written-at>
		</top-receiver>
	</top-receivers>
	<top-ccers>
		<top-ccers rank="1">
			<e-mail-addr>linux-kernel@vger.kernel.org</e-mail-addr>
			<n-messages>663</n-messages>
			<avg-size>6KB</avg-size>
			<total-size>4MB</total-size>
			<mostly-written-at>14:25</mostly-written-at>
		</top-ccers>
		<top-ccers rank="2">
			<e-mail-addr>akpm@osdl.org</e-mail-addr>
			<n-messages>166</n-messages>
			<avg-size>7KB</avg-size>
			<total-size>1005KB</total-size>
			<mostly-written-at>14:19</mostly-written-at>
		</top-ccers>
		<top-ccers rank="3">
			<e-mail-addr>ingo&#32;molnar</e-mail-addr>
			<n-messages>82</n-messages>
			<avg-size>6KB</avg-size>
			<total-size>434KB</total-size>
			<mostly-written-at>12:13</mostly-written-at>
		</top-ccers>
		<top-ccers rank="4">
			<e-mail-addr>bhuey@lnxw.com</e-mail-addr>
			<n-messages>60</n-messages>
			<avg-size>6KB</avg-size>
			<total-size>357KB</total-size>
			<mostly-written-at>16:06</mostly-written-at>
		</top-ccers>
		<top-ccers rank="5">
			<e-mail-addr>andrea@suse.de</e-mail-addr>
			<n-messages>51</n-messages>
			<avg-size>6KB</avg-size>
			<total-size>285KB</total-size>
			<mostly-written-at>15:54</mostly-written-at>
		</top-ccers>
	</top-ccers>
	<top-level-domains>
		<tld rank="1">
			<name>com</name>
			<freq>669</freq>
			<avg-size>7KB</avg-size>
			<total-size>4MB</total-size>
		</tld>
		<tld rank="2">
			<name>org</name>
			<freq>291</freq>
			<avg-size>5KB</avg-size>
			<total-size>2MB</total-size>
		</tld>
		<tld rank="3">
			<name>de</name>
			<freq>190</freq>
			<avg-size>6KB</avg-size>
			<total-size>2MB</total-size>
		</tld>
		<tld rank="4">
			<name>net</name>
			<freq>129</freq>
			<avg-size>5KB</avg-size>
			<total-size>559KB</total-size>
		</tld>
		<tld rank="5">
			<name>au</name>
			<freq>47</freq>
			<avg-size>5KB</avg-size>
			<total-size>199KB</total-size>
		</tld>
	</top-level-domains>
	<top-timezones>
		<tz rank="1">
			<name>+0200</name>
			<freq>509</freq>
			<avg-size>6KB</avg-size>
			<total-size>3MB</total-size>
		</tz>
		<tz rank="2">
			<name>-0700</name>
			<freq>407</freq>
			<avg-size>6KB</avg-size>
			<total-size>3MB</total-size>
		</tz>
		<tz rank="3">
			<name>-0400</name>
			<freq>267</freq>
			<avg-size>6KB</avg-size>
			<total-size>2MB</total-size>
		</tz>
		<tz rank="4">
			<name>-0500</name>
			<freq>107</freq>
			<avg-size>7KB</avg-size>
			<total-size>703KB</total-size>
		</tz>
		<tz rank="5">
			<name>+0100</name>
			<freq>86</freq>
			<avg-size>5KB</avg-size>
			<total-size>396KB</total-size>
		</tz>
	</top-timezones>
	<top-organisations>
		<org rank="1">
			<name>opersys&#32;inc.</name>
			<freq>34</freq>
			<bytes>183KB</bytes>
		</org>
		<org rank="2">
			<name>kihon&#32;technologies</name>
			<freq>11</freq>
			<bytes>52KB</bytes>
		</org>
		<org rank="3">
			<name>ypo4</name>
			<freq>9</freq>
			<bytes>47KB</bytes>
		</org>
		<org rank="4">
			<name>montavista</name>
			<freq>8</freq>
			<bytes>74KB</bytes>
		</org>
		<org rank="5">
			<name>red&#32;hat,&#32;inc.</name>
			<freq>8</freq>
			<bytes>37KB</bytes>
		</org>
	</top-organisations>
	<top-user-agents>
		<useragent rank="1">
			<name>mozilla</name>
			<freq>44</freq>
			<bytes>877KB</bytes>
		</useragent>
		<useragent rank="2">
			<name>evolution</name>
			<freq>38</freq>
			<bytes>1004KB</bytes>
		</useragent>
		<useragent rank="3">
			<name>mutt/1.5.9i</name>
			<freq>33</freq>
			<bytes>721KB</bytes>
		</useragent>
		<useragent rank="4">
			<name>mozilla/5.0</name>
			<freq>28</freq>
			<bytes>662KB</bytes>
		</useragent>
		<useragent rank="5">
			<name>mutt/1.4.1i</name>
			<freq>25</freq>
			<bytes>727KB</bytes>
		</useragent>
	</top-user-agents>
	<messages-per-day>
		<Sunday><msgs>175</msgs><bytes>961KB</bytes></Sunday>
		<Monday><msgs>290</msgs><bytes>2MB</bytes></Monday>
		<Tuesday><msgs>237</msgs><bytes>2MB</bytes></Tuesday>
		<Wednesday><msgs>312</msgs><bytes>2MB</bytes></Wednesday>
		<Thursday><msgs>245</msgs><bytes>2MB</bytes></Thursday>
		<Friday><msgs>223</msgs><bytes>2MB</bytes></Friday>
		<Saturday><msgs>211</msgs><bytes>2MB</bytes></Saturday>
	</messages-per-day>
	<messages-per-month>
		<Jan><msgs>0</msgs><bytes>0</bytes></Jan>
		<Feb><msgs>0</msgs><bytes>0</bytes></Feb>
		<Mar><msgs>0</msgs><bytes>0</bytes></Mar>
		<Apr><msgs>0</msgs><bytes>0</bytes></Apr>
		<May><msgs>1</msgs><bytes>44KB</bytes></May>
		<Jun><msgs>1692</msgs><bytes>10MB</bytes></Jun>
		<Jul><msgs>0</msgs><bytes>0</bytes></Jul>
		<Aug><msgs>0</msgs><bytes>0</bytes></Aug>
		<Sep><msgs>0</msgs><bytes>0</bytes></Sep>
		<Oct><msgs>0</msgs><bytes>0</bytes></Oct>
		<Nov><msgs>0</msgs><bytes>0</bytes></Nov>
		<Dec><msgs>0</msgs><bytes>0</bytes></Dec>
	</messages-per-month>
	<messages-per-day-of-month>
		<day-1><msgs>6</msgs><bytes>27KB</bytes></day-1>
		<day-2><msgs>18</msgs><bytes>75KB</bytes></day-2>
		<day-3><msgs>11</msgs><bytes>46KB</bytes></day-3>
		<day-4><msgs>4</msgs><bytes>32KB</bytes></day-4>
		<day-5><msgs>4</msgs><bytes>14KB</bytes></day-5>
		<day-6><msgs>11</msgs><bytes>78KB</bytes></day-6>
		<day-7><msgs>36</msgs><bytes>203KB</bytes></day-7>
		<day-8><msgs>97</msgs><bytes>564KB</bytes></day-8>
		<day-9><msgs>99</msgs><bytes>495KB</bytes></day-9>
		<day-10><msgs>197</msgs><bytes>2MB</bytes></day-10>
		<day-11><msgs>207</msgs><bytes>2MB</bytes></day-11>
		<day-12><msgs>171</msgs><bytes>947KB</bytes></day-12>
		<day-13><msgs>279</msgs><bytes>2MB</bytes></day-13>
		<day-14><msgs>200</msgs><bytes>2MB</bytes></day-14>
		<day-15><msgs>209</msgs><bytes>2MB</bytes></day-15>
		<day-16><msgs>128</msgs><bytes>831KB</bytes></day-16>
		<day-17><msgs>15</msgs><bytes>85KB</bytes></day-17>
		<day-18><msgs>0</msgs><bytes>0</bytes></day-18>
		<day-19><msgs>0</msgs><bytes>0</bytes></day-19>
		<day-20><msgs>0</msgs><bytes>0</bytes></day-20>
		<day-21><msgs>0</msgs><bytes>0</bytes></day-21>
		<day-22><msgs>0</msgs><bytes>0</bytes></day-22>
		<day-23><msgs>0</msgs><bytes>0</bytes></day-23>
		<day-24><msgs>0</msgs><bytes>0</bytes></day-24>
		<day-25><msgs>0</msgs><bytes>0</bytes></day-25>
		<day-26><msgs>0</msgs><bytes>0</bytes></day-26>
		<day-27><msgs>0</msgs><bytes>0</bytes></day-27>
		<day-28><msgs>0</msgs><bytes>0</bytes></day-28>
		<day-29><msgs>0</msgs><bytes>0</bytes></day-29>
		<day-30><msgs>0</msgs><bytes>0</bytes></day-30>
		<day-31><msgs>1</msgs><bytes>44KB</bytes></day-31>
	</messages-per-day-of-month>
	<messages-per-hour>
		<hour-1><msgs>38</msgs><bytes>324KB</bytes></hour-1>
		<hour-2><msgs>29</msgs><bytes>154KB</bytes></hour-2>
		<hour-3><msgs>10</msgs><bytes>72KB</bytes></hour-3>
		<hour-4><msgs>7</msgs><bytes>39KB</bytes></hour-4>
		<hour-5><msgs>4</msgs><bytes>104KB</bytes></hour-5>
		<hour-6><msgs>10</msgs><bytes>57KB</bytes></hour-6>
		<hour-7><msgs>30</msgs><bytes>121KB</bytes></hour-7>
		<hour-8><msgs>61</msgs><bytes>275KB</bytes></hour-8>
		<hour-9><msgs>116</msgs><bytes>552KB</bytes></hour-9>
		<hour-10><msgs>101</msgs><bytes>618KB</bytes></hour-10>
		<hour-11><msgs>85</msgs><bytes>416KB</bytes></hour-11>
		<hour-12><msgs>99</msgs><bytes>610KB</bytes></hour-12>
		<hour-13><msgs>125</msgs><bytes>796KB</bytes></hour-13>
		<hour-14><msgs>98</msgs><bytes>454KB</bytes></hour-14>
		<hour-15><msgs>130</msgs><bytes>666KB</bytes></hour-15>
		<hour-16><msgs>124</msgs><bytes>620KB</bytes></hour-16>
		<hour-17><msgs>97</msgs><bytes>485KB</bytes></hour-17>
		<hour-18><msgs>75</msgs><bytes>392KB</bytes></hour-18>
		<hour-19><msgs>75</msgs><bytes>487KB</bytes></hour-19>
		<hour-20><msgs>57</msgs><bytes>364KB</bytes></hour-20>
		<hour-21><msgs>75</msgs><bytes>341KB</bytes></hour-21>
		<hour-22><msgs>85</msgs><bytes>538KB</bytes></hour-22>
		<hour-23><msgs>87</msgs><bytes>450KB</bytes></hour-23>
	</messages-per-hour>
	<urls>
		<url-1><freq>1325</freq><url>http://vger.kernel.org/majordomo-info.html</url></url-1>
		<url-2><freq>1321</freq><url>http://www.tux.org/lkml/</url></url-2>
		<url-3><freq>14</freq><url>http://enigmail.mozdev.org</url></url-3>
		<url-4><freq>8</freq><url>http://ftp.kernel.org/pub/linux/kernel/people/mbligh/abat/perf/kernbench.moe.png</url></url-4>
		<url-5><freq>7</freq><url>http://www.corpit.ru/mjt/hpml150.dsl</url></url-5>
	</urls>
	<top-avg-resp>
		<resp-pers rank="1">
			<name>kay&#32;sievers</name>
			<avg-resp-time>00:07:25</avg-resp-time>
			<n-replies>1</n-replies>
		</resp-pers>
		<resp-pers rank="2">
			<name>mauro&#32;carvalho&#32;chehab</name>
			<avg-resp-time>00:16:56</avg-resp-time>
			<n-replies>2</n-replies>
		</resp-pers>
		<resp-pers rank="3">
			<name>alex&#32;williamson</name>
			<avg-resp-time>00:22:03</avg-resp-time>
			<n-replies>1</n-replies>
		</resp-pers>
		<resp-pers rank="4">
			<name>wolfgang&#32;wander</name>
			<avg-resp-time>00:24:19</avg-resp-time>
			<n-replies>1</n-replies>
		</resp-pers>
		<resp-pers rank="5">
			<name>joel&#32;schopp</name>
			<avg-resp-time>00:25:54</avg-resp-time>
			<n-replies>2</n-replies>
		</resp-pers>
		<resp-pers rank="6">
			<name>tomasz&#32;torcz</name>
			<avg-resp-time>00:27:49</avg-resp-time>
			<n-replies>1</n-replies>
		</resp-pers>
	</top-avg-resp>
	<created-with><name>mboxstats</name><version>2.8</version><developer>folkert@vanheusden.com</developer><url>http://www.vanheusden.com/mboxstats/</url></created-with>
</mailbox-stats>

<section
  title="Linux 2.6.12-rc6-mm1 Released"
  subject="2.6.12-rc6-mm1"
  archive="http://groups-beta.google.com/group/linux.kernel/msg/c6476a02da705267"
  posts="34"
  startdate="07 Jun 2005 03:29:31 -0800"
  enddate="11 Jun 2005 03:51:19 -0800"
>
<topic>Kernel Release Announcement</topic>

<p>Andrew Morton announced Linux 2.6.12-rc6-mm1, saying:</p>

<quote who="Andrew Morton">

<p><a
href="ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.12-rc6/2.6.12-rc6-mm1/">ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.12-rc6/2.6.12-rc6-mm1/</a></p>

<ul>

<li>Added v9fs</li>

<li>Various random fixes</li>

<li>Probably a similar number of breakages</li>

</ul>

</quote>

<p>Adrian Bunk remarked, <quote who="Adrian Bunk">That we do now have
both drivers/rio/ and drivers/char/rio/ and that they are for completely
different things is confusing. What about drivers/rapidio/ ?</quote> Matt
Porter replied, <quote who="Matt Porter">Fine with me. I'll roll it into my
next update.</quote></p>

</section>

<section
  title="Migrating To 4K Kernel Stacks"
  subject="RFC: i386: kill !4KSTACKS"
  archive="http://groups-beta.google.com/group/linux.kernel/msg/7ce86fd058abc203?hl=en"
  posts="13"
  startdate="07 Jun 2005 13:27:06 -0800"
  enddate="10 Jun 2005 07:18:04 -0800"
>
<topic>FS: ReiserFS</topic>

<p>Adrian Bunk said:</p>

<quote who="Adrian Bunk">

<p>4Kb kernel stacks are the future on i386, and it seems the problems it
initially caused are now sorted out.</p>

<p>I'd like to:</p>

<ul>

<li>get a patch into the next -mm that unconditionally enables 4KSTACKS</li>

<li>if there won't be new reports of breakages, send a patch to completely
remove !4KSTACKS for 2.6.13 or 2.6.14</li>

</ul>

<p>The only drawback is that REISER4_FS does still depend on !4KSTACKS.
I told Hans back in March that this has to be changed.</p>

<p>Is there any ETA until that all issues with 4Kb kernel stacks in Reiser4
will be resolved?</p>

<p>If not people using Reiser4 might have to decide whether to switch the
filesystem or the architecture...</p>

</quote>

<p>Alexander Nyberg pointed out that certain combinations of configuration
options would break 4KSTACKS, <quote who="Alexander Nyberg">so you can't
just remove it leaving users with no choice. This was not even difficult to
trigger a while ago and I haven't seen any stack reduction patches in these
areas.</quote> There was some dispute over whether this was still an issue;
with no resolution on the list.</p>

<p>Elsewhere, Vladimir Saveliev said he was hard at work on resolving any
lingering ReiserFS issues with 4KSTACKS, and estimated he would complete
his patches very quickly.</p>

</section>

<section
  title="Summary Of Real-Time Issues"
  subject="Attempted summary of &quot;RT patch acceptance&quot; thread"
  archive="http://groups-beta.google.com/group/linux.kernel/msg/5ce63e8782bdd07a?hl=en"
  posts="103"
  startdate="07 Jun 2005 18:26:46 -0800"
  enddate="14 Jun 2005 13:29:53 -0800"
>
<topic>Real-Time</topic>

<p>Paul E. McKenney said, <quote who="Paul E. McKenney">Midway
through the recent "RT patch acceptance" thread, someone mentioned
that it might be good to summarize the various approaches. The
following is an attempt to do just this, with an eye to providing a
reasonable framework for future discussion.</quote> He included a very <a
href="http://groups-beta.google.com/group/linux.kernel/msg/5ce63e8782bdd07a?hl=en">long
document</a>, which got a lot of praise from all quarters, especially for
his ability to maintain a balanced, unbiased approach.</p>

<p>A lot of people had suggestions for how to improve the document, but the
conversation degenerated into further flames and accusations. The original
post is quite worth reading though, for anyone interested in navigating
the maze.</p>

</section>

<section
  title="PREEMPT_RT Versus Adeos: A First Problematic Comparison"
  subject="PREEMPT_RT vs ADEOS: the numbers, part 1"
  archive="http://groups-beta.google.com/group/linux.kernel/msg/b59137a4da507a55?hl=en"
  posts="51"
  startdate="10 Jun 2005 20:36:59 -0800"
  enddate="13 Jun 2005 07:12:30 -0800"
>
<topic>Microkernels: Adeos</topic>
<topic>Real-Time</topic>
<topic>SMP</topic>

<p>Kristian Benoit said:</p>

<quote who="Kristian Benoit">

<p>For the past few weeks, we've been conducting comparison tests between
PREEMPT_RT and the Adeos nanokernel. As was clear from previous discussion,
we've been open to be proven wrong regarding endorsement of either method.
Hence, this comparison was done in order to better understand the impact
of each method vis-a-vis vanilla Linux.</p>

<p>At this time, we are publishing the summary results of the various test
runs we've conducted. There is, of course, a lot of background information
that needs to be provided (.configs, scripts, drivers, etc.) We will be
making those available sometime early next week. In the mean time, the
following is meant as food-for-thought.</p>

<p>In our tests, we've used a set up with 3 machines. The two main systems
were Dell PowerEdge SC420 machines with a P4 2.8 (UP not SMP configured) with
FC3. One had 256 MB RAM and was the guinea pig (i.e. the machine controlling
the mechanical saw a.k.a. TARGET) The other, having 512 MB RAM, was used to
collect data regarding the guinea pig's responsiveness (a.k.a LOGGER.) The
third machine, an Apple PowerBook 5,6 G4 / 1GB, was used for a dual purpose.
First, it controlled both the target and the logger via ssh, and was also
used to ping flood the target. This 3rd system is known as the HOST.</p>

<p>Data was generated on all three systems:<br />
TARGET: LMbench data<br />
LOGGER: Interrupt response time<br />
HOST: LMbench total running time</p>

<p>Both the host and the logger had a constant kernel configuration. The logger
was running an adeos-enabled kernel in order to trigger and deterministically
measure the responsiveness of the target. The host was running a plain
gentoo-based kernel. The target and the logger were rigged via their parallel
ports so that an output from the logger would trigger an interrupt on the
target who's response would itself trigger an interrupt on the logger.</p>

<p>In the various test runs, we've attempted to collect two sets of data. One
regarding LMbench's total running time for a given set up and the other
regarding the system's interrupt response time. Where appropriate, both tests
were conducted simultaneously. Otherwise, they were conducted in isolation.
The following tables should be self-explanatory.</p>

<p>For LMbench test runs, 3 passes were conducted and an average running time
was collected. Certainly, 3 passes is not as much as we'd like, but for the
immediate purposes, it provides a sufficiently corroborated data set for
analysis (as can be seen in the following tables.)</p>

<p>For the interrupt response time measurement, the logger generated between
500,000 to 650,000 interrupts and measured the target's response time. The
logger was not subject to any load whatsoever, except that imposed by the
logging driver (running in a prioritary Adeos domain, and hence being truly
hard-rt, a.k.a. "ruby" hard) and that of the user-space daemon committing the
data to storage. It could be argued that the use of Adeos imposes a penalty
to the measured response time. However, this penalty is imposed on all data
sets, and verification of its impact can be inferred by analyzing the adeos-to-
adeos set up provided below.</p>

<p>With no further ado, here are the results we've obtained. As we said above, we
will be making all related scripts, patches, and drivers available, so that
others may conduct their own tests.</p>

<p>Note that in the tests we've conducted, we've tried, in as much possible, to
use similar kernels. However, we were unable to find a recent Adeos and a
recent PREEMPT_RT patch which would both cleanly apply to a same recent kernel.
Hence, we've compared vanilla 2.6.12-rc2 with an adeos-patched one and a
2.6.12-rc4 with a PREEMPT_RT-patched one. As can be seen below, the runs of
the vanilla rc2 and rc4 yield very similar numbers, and can therefore
reasonably be considered equivalent.</p>

<p>LMbench running times:</p>

<table border="1">
<th>kernel</th><th>plain</th><th>IRQ test</th><th>ping flood</th><th>IRQ &amp; ping</th><th>IRQ &amp; hd</th>
<tr><td>Vanilla-2.6.12-rc2</td><td>174 s</td><td>175 s</td><td>189 s</td><td>193 s</td><td>217 s</td></tr>
<tr><td>with Adeos-r10c3</td>  <td>180 s</td><td>180 s</td><td>185 s</td><td>183 s</td><td>211 s</td></tr>
<tr><td>%</td>                 <td>+3.4</td> <td>+2.9</td> <td>-2.1</td> <td>-5.2</td> <td>-2.8</td> </tr>
<tr><td>Vanilla-2.6.12-rc4</td><td>176 s</td><td>177 s</td><td>189 s</td><td>191 s</td><td>218 s</td></tr>
<tr><td>with RT-V0.7.47-08</td><td>184 s</td><td>187 s</td><td>206 s</td><td>201 s</td><td>225 s</td></tr>
<tr><td>%</td>                 <td>+4.5</td> <td>+5.6</td> <td>+9.0</td> <td>+5.2</td> <td>+3.2</td> </tr>
</table>

<p>Legend:<br />
<table>
<tr><td>plain</td>          <td>= Nothing special</td></tr>
<tr><td>IRQ test</td>       <td>= on logger: triggering target every 1ms</td></tr>
<tr><td>ping flood</td>     <td>= on host: "sudo ping -f $TARGET_IP_ADDR"</td></tr>
<tr><td>IRQ &amp; ping</td> <td>= combination of the previous two</td></tr>
<tr><td>IRQ &amp; hd</td>   <td>= IRQ test with the following being done on the target:<br />
                 "while [ true ]<br />
                 &#160;&#160;&#160;&#160;do dd if=/dev/zero of=/tmp/dummy count=512<br />
                 done"</td></tr>
</table>
</p>

<p>In the following, interrupts are triggered by the logger at every 1ms. It would
be interesting to redo such tests with shorter trigger times. However, we
wanted to keep the logger as "off-the-shelf" as possible.</p>

<p>Interrupt response times (all in micro-seconds):</p>

<table border="1">
<th>Kernel</th><th>sys load</th><th>Aver</th><th>Max</th><th>Min</th><th>StdDev</th>
<tr><td>Vanilla-2.6.12-rc2</td><td>None<br />Ping<br />lm. + ping<br />lmbench<br />lm. + hd</td><td>15.5<br />15.7<br />16.0<br />15.8<br />15.8</td><td>64.8<br />63.4<br />72.2<br />65.6<br />179.9</td><td>15.2<br />15.2<br />15.2<br />15.2<br />15.2</td><td>1.0<br />1.2<br />1.4<br />1.1<br />1.3</td></tr>
<tr><td>with Adeos-r10c3</td>  <td>None<br />Ping<br />lm. + ping<br />lmbench<br />lm. + hd</td><td>13.4<br />13.8<br />13.9<br />13.9<br />13.9</td><td>53.3<br />53.3<br />21.8<br />21.3<br />53.2</td><td>13.2<br />13.3<br />13.2<br />13.3<br />13.2</td><td>0.2<br />0.6<br />0.7<br />0.6<br />0.5</td></tr>
<tr><td>Vanilla-2.6.12-rc4</td><td>None<br />Ping<br />lm. + ping<br />lmbench<br />lm. + hd</td><td>15.2<br />15.6<br />16.0<br />15.8<br />15.8</td><td>64.2<br />63.0<br />170.5<br />184.1<br />67.1</td><td>15.2<br />15.2<br />16.0<br />15.2<br />15.0</td><td>0.5<br />0.9<br />1.4<br />1.2<br />1.1</td></tr>
<tr><td>with RT-V0.7.47-08</td><td>None<br />Ping<br />lm. + ping<br />lmbench<br />lm. + hd</td><td>15.5<br />17.1<br />17.7<br />17.1<br />17.0</td><td>73.8<br />79.8<br />77.2<br />80.0<br />80.0</td><td>15.2<br />15.2<br />15.2<br />15.3<br />15.3</td><td>1.2<br />2.3<br />3.1<br />2.3<br />1.8</td></tr>
</table>

<p>Legend:<br />
<table>
<tr><td>None</td>           <td>= nothing special</td></tr>
<tr><td>ping</td>           <td>= on host: "sudo ping -f $TARGET_IP_ADDR"</td></tr>
<tr><td>lm. + ping</td>     <td>= previous test and "make rerun" in lmbench-2.0.4/src/ on target</td></tr>
<tr><td>lmbench</td>        <td>= "make rerun" in lmbench-2.0.4/src/ on target</td></tr>
<tr><td>lm. + hd</td>       <td>= previous test  with the following being done on the target:<br />
                 "while [ true ]<br />
                  &#160;&#160;&#160;&#160;do dd if=/dev/zero of=/tmp/dummy count=512<br />
                  done"</td></tr>
</table>
</p>

<p>Note: Adeos-r10c3 is a "combo" patch including both Adeos and PREEMPT_RT, though
PREEMPT_RT is disabled.</p>

<p>The above data has been provided as-is without any analysis for now. We will
provide such analysis when publishing the complete data sets and related
software. In the mean time, we hope such results will help further
reflection.</p>

</quote>

<p>Nick Piggin replied, <quote who="Nick Piggin">This is wonderful data,
thanks very much for putting in the work. I hope this thread and future
threads on this topic can be steered more towards technical facts and numbers,
as that is the only way to make sane choices.</quote></p>

<p>Elsewhere, Ingo Molnar asked Kristian, <quote who="Ingo Molnar">could
you send me the .config you used for the PREEMPT_RT tests? Also, you used
-47-08, which was well prior the current round of performance improvements,
so you might want to re-run with something like -48-06 or better.</quote>
(he later added, <quote who="Ingo Molnar">make that -48-10 or better.</quote>)
Nick added, <quote who="Nick Piggin">The other thing that would be really
interesting is to test latencies of various other kernel functionalities
in the RT kernel (eg. message passing, maybe pipe or localhost read/write,
signals, fork/clone/exit, mmap/munmap, faulting in shared memory, or whatever
else is important to the RT crowd).</quote></p>

<p>Elsewhere, Karim Yaghmour said:</p>

<quote who="Karim Yaghmour">

<p>Much to our dislike, we only noticed that we forgot to disable the debug
options after posting the results :/ So, in all fairness, we will be redoing
the tests on PREEMPT_RT early next week. In the plethora of things we wanted
to try, it also seems that the "dd" test wasn't exactly as it was supposed to
be. There should've been a "bs=1M" in there; as it currently is, the dd command
doesn't really put any real load. We'll add this one to our repeats.</p>

<p>I notice there are already suggestions regarding additional types of
tests, and that's good. We'll try to take as many of these as possible.
This is relatively simple given the scripts Kristian has put together.
Nevertheless, it must be understood that we don't have infinite resources.
So in sharing the framework we've developed, we hope others will be motivated
to conduct their own tests.</p>

</quote>

<p>Ingo replied that he'd suspected something like debug options being
enabled in those tests. He said, <quote who="Ingo Molnar">the PREEMPT_RT
latency numbers were so out of whack with anything i've measured on similar
boxes. The debugging features on PREEMPT_RT are powerful but have a high
overhead.</quote> He asked again (actually for the third time) for the .config
file used in the tests, saying, <quote who="Ingo Molnar">That's the easiest
way i can tell you which options to watch out for.</quote></p>

<p>Karim posted the .config file, and Ingo pointed out numerous options that
would increase latency. Karim said they'd try to use Ingo's modified .config
file for their new tests.</p>

<p>James R. Bruce asked Ingo to document the best options to use for the
lowest latency, but Ingo replied, <quote who="Ingo Molnar">i'm not a big
doc writer, but i'm taking patches :-)</quote>.</p>

</section>

<section
  title="DevFS Removed From Linux"
  subject="[RFC] Patch series to remove devfs [00/22]"
  archive="http://groups-beta.google.com/group/fa.linux.kernel/msg/a36d7636dbb7112f?hl=en"
  posts="42"
  startdate="10 Jun 2005 23:43:27 -0800"
  enddate="16 Jun 2005 13:34:25 -0800"
>
<topic>FS: devfs</topic>

<p>Greg KH said:</p>

<quote who="Greg KH">

<p>As everyone knows[1], devfs is going to be removed from the kernel soon.
To accomplish this, here is a series of patches (22 in all) that do just
that.  Surprisingly enough, devfs was almost everywhere in the kernel,
that's why it takes so many patches :)</p>

<p>Anyway, here's the whole series against 2.6.12-rc6-git4.  If some of
them don't make it through to lkml (due to size restrictions, or just
failing on a "taste" filter), you can find them all at:<br />
        <a href="http://www.kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/gregkh-05-devfs/">http://www.kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/gregkh-05-devfs/</a><br />
along with a quilt series file to apply them with.</p>

<p>Andrew, please do not pick these up for your -mm tree.  Odds are it will
just cause too many conflicts to make it worth your while :)</p>

<p>Comments welcome.</p>

<p>Oh, and the best part?  Here's the summary of the diffstat:</p>

<p>  222 files changed, 112 insertions(+), 8545 deletions(-)</p>

<p>It's nice to remove code from the kernel for a change...</p>

<p>thanks,</p>

<p>greg k-h</p>

<p>[1] What?  You don't know this?  Didn't you get the memo[2]?  Did you
    miss the huge flame war almost a year ago[3]?  Are you living under
    a rock[4]?<br />
[2] <a href="http://lxr.linux.no/source/Documentation/feature-removal-schedule.txt">http://lxr.linux.no/source/Documentation/feature-removal-schedule.txt</a><br />
[3] <a href="http://thread.gmane.org/gmane.linux.kernel/219278">http://thread.gmane.org/gmane.linux.kernel/219278</a><br />
[4] <a href="http://www.balloonplanet.com/shop/images/products/product_1788_small.jpg">http://www.balloonplanet.com/shop/images/products/product_1788_small.jpg</a></p>

</quote>

<p>Adrian Bunk said, <quote who="Adrian Bunk">Please don't remove the
!CONFIG_DEVFS_FS dummies from devfs_fs_kernel.h. I'm sure some driver
maintainers will want to keep the functions in their code because they share
their drivers between 2.4 and 2.6.</quote> But Greg replied, <quote who="Greg
KH">All drivers should be in the mainline kernel tree, so why would they
need this? Remember, out-of-the-tree drivers are on their own...</quote>
Adrian said:</p>

<quote who="Adrian Bunk">

<p>I'm talking about drivers in the mainline kernel tree.</p>

<p>In some cases the driver author supports both 2.4 and 2.6 and prefers to
support them in one file. Sometimes he submits the latest version of his
driver to Marcelo or Linus.</p>

<p>If you remove the global function dummies, you force every driver
maintainer who works this way to add the function dummies to their
drivers.</p>

<p>Yes, there are many places where 2.4 and 2.6 are not source compatible
for good reasons. But if the effort for maintaining compatibility
between 2.4 and 2.6 in one area is as easy as keeping a header file with
some dummy funtions it's worth considering.</p>

<p>And keeping the compatibility stuff in one file instead of spreaded
through the kernel sources makes the cleanup to remove the last
occurences a few years from now easier.</p>

</quote>

<p>Christoph Hellwig said, <quote who="Christoph Hellwig">The devfs calls
for 2.4 and 2.6 are totally incompatible. And there's a trivial way to
support both 2.4 and 2.6 in this area: don't support devfs at all, it
always was marked either experimental or deprecated anyway.</quote> Adrian
was surprised at how much had changed in DevFS during the 2.5 timeframe,
and withdrew his objctions.</p>

<p>Elsewhere, under the Subject: "<a
href="http://groups-beta.google.com/group/fa.linux.kernel/msg/d3d86f6fa5d1530c?hl=en">[PATCH]
Remove devfs from the partition code</a>", Greg posted many patches to remove
DevFS not only from the partition code, but everywhere.</p>

<p>In this thread, Armin Schindler expressed surprise that <quote who="Armin
Schindler">the removal will be done in the middle of a stable line...</quote>
Adrian reminded him, <quote who="Adrian Bunk">According to the current
development model, 2.6 is a development kernel...</quote> And Ed Tomlinson
added, <quote who="Ed Tomlinson">The current Linus kernel is 2.6.11.12,
where the last .12 is the latest 2.6.11 kernel with VIF (very important
fixes) applied.</quote> Armin said he was aware of all this, but it was
still surprising to see major upheavals like this, without a bump of the
minor version number.</p>

</section>

<section
  title="Linux 2.6.11.12 Released"
  subject="Linux 2.6.11.12"
  archive="http://groups-beta.google.com/group/fa.linux.kernel/msg/8955cde7fe4ede62?hl=en"
  posts="2"
  startdate="11 Jun 2005 21:39:39 -0800"
  enddate="11 Jun 2005 21:42:28 -0800"
>

<p>Chris Wright said:</p>

<quote who="Chris Wright">

<p>We (the -stable team) are announcing the release of the 2.6.11.12 kernel.</p>

<p>The diffstat and short summary of the fixes are below.</p>

<p>I'll also be replying to this message with a copy of the patch between
2.6.11.11 and 2.6.11.12, as it is small enough to do so.</p>

<p>The updated 2.6.11.y git tree can be found at:<br />
        rsync://rsync.kernel.org/pub/scm/linux/kernel/git/gregkh/linux-2.6.11.y.git<br />
and can be browsed at the normal kernel.org git web browser:<br />
        <a href="http://www.kernel.org/git/">www.kernel.org/git/</a></p>

</quote>

</section>

<section
  title="Linux 2.4 Will Not Support GCC 4"
  subject="[PATCH 2.4.31 0/9] gcc4 fixes overview"
  archive="http://groups-beta.google.com/group/fa.linux.kernel/msg/733277aad19fffca?hl=en"
  posts="2"
  startdate="12 Jun 2005 03:16:19 -0800"
  enddate="13 Jun 2005 05:42:11 -0800"
>

<p>Mikael Pettersson said:</p>

<quote who="Mikael Pettersson">

<p>This set of patches fixes gcc4 problems in the 2.4.31
kernel's 'core' code. I've been running gcc4-compiled 2.4
kernels for several months on i386, x86_64, and ppc32, and
there are currently no known regressions compared to gcc34.</p>

<p>Note: you'll want to use recent gcc-4.0.1 snapshots as
gcc-4.0.0 is known to be broken.</p>

<p>This set of patches do not include fixes to drivers,
file systems, or architectures I don't use myself. I
have a preliminary patch kit for those, but as it
has received only limited compile testing I'm not
submitting it unless these core patches are accepted.</p>

</quote>

<p>Marcelo Tosatti replied, <quote who="Marcelo Tosatti">I believe its about
time for v2.4 to reject such kind of modifications, they can live outside
the mainline repository.</quote></p>

</section>

<section
  title="Linux Docs Viewable On Only Non-Linux Browsers"
  subject="Design Level Documentation for the Linux kernel (V2.6)"
  archive="http://groups-beta.google.com/group/fa.linux.kernel/msg/ca80edf4407440c9?hl=en"
  posts="10"
  startdate="14 Jun 2005 16:34:26 -0800"
  enddate="16 Jun 2005 17:59:37 -0800"
>

<p>Nick Newcomb said:</p>

<quote who="Nick Newcomb">

<p>I'm working with the Software Revolution and I thought you guys might
like to know that we just completed the automatic generation of a full,
design-level documentation of the LINUX kernel and associated sub-systems.
This documentation set is made up of hyperlinked graphics and text documents
of all the major subsystems and all of the source code fields and functions
and is organized by complexity and file-system location. It covers the Linux
kernel, memory management, file-system, security, cryptography, initialization,
drivers, architecture and interprocess communication subsystems. Furthermore,
we're offering this for... well free. I just thought it was something maybe
you guys could use. If you would like to view this information, just go to:</p>

<p><a
href="http://www.softwarerevolution.com/jeneral/open-source-docs.html">http://www.softwarerevolution.com/jeneral/open-source-docs.html</a></p>

</quote>

<p>Parag Warudkar said he would like to use look at the docs, but the page
was only viewable with Windows-only browser plugins. Several other folks
also had this problem, and discussed workarounds. Kyle Moffett was able
to view the pages from Mac OSX, and liked them very much, but he noticed
that the site used a lot of image maps. He suggested that this be changed,
so that his favorite browsers, OmniWeb and Safari, would have an easier time
with the pages.</p>

</section>

</kc>

