<?xml version="1.0" ?>

<kc>

<title>Kernel Traffic</title>

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

<issue num="302" date="02 Apr 2005 00:00:00 -0800" />

<mailbox-stats>
	<global-stats>
		<generated-at>Sat Apr  2 21:08:11 2005</generated-at>
		<first-message>2005/02/14 22:11:05</first-message>
		<last-message>2005/02/14 23:47:59</last-message>
		<totals>
			<n-messages>2428</n-messages>
			<total-size>15MB</total-size>
			<avg-size>7KB</avg-size>
			<n-writers>720</n-writers>
			<wrote-more-then-1-message>285</wrote-more-then-1-message>
			<n-lines>304017</n-lines>
			<header-size>130772</header-size>
			<n-user-agents>64</n-user-agents>
			<n-organisations>53</n-organisations>
			<n-toplevel-domains>40</n-toplevel-domains>
		</totals>
		<averages>
			<lines-per-message>125</lines-per-message>
			<lines-per-header>53</lines-per-header>
			<header-percent-of-message>43.01%</header-percent-of-message>
			<header-percent-of-total>39.26%</header-percent-of-total>
			<line-length>9558</line-length>
			<bits-per-byte>4.2273</bits-per-byte>
		</averages>
		<importance>
			<low>0.00%</low>
			<normal>0.21%</normal>
			<high>0.00%</high>
		</importance>

	</global-stats>
	<top-writers>
		<top-writer rank="1">
			<e-mail-addr>Andrew Morton</e-mail-addr>
			<n-messages>149</n-messages>
			<avg-size>6KB</avg-size>
			<total-size>751KB</total-size>
			<mostly-written-at>12:56</mostly-written-at>
		</top-writer>
		<top-writer rank="2">
			<e-mail-addr>Greg KH</e-mail-addr>
			<n-messages>136</n-messages>
			<avg-size>6KB</avg-size>
			<total-size>763KB</total-size>
			<mostly-written-at>14:09</mostly-written-at>
		</top-writer>
		<top-writer rank="3">
			<e-mail-addr>Adrian Bunk</e-mail-addr>
			<n-messages>87</n-messages>
			<avg-size>7KB</avg-size>
			<total-size>554KB</total-size>
			<mostly-written-at>14:26</mostly-written-at>
		</top-writer>
		<top-writer rank="4">
			<e-mail-addr>Domen Puncer</e-mail-addr>
			<n-messages>74</n-messages>
			<avg-size>6KB</avg-size>
			<total-size>392KB</total-size>
			<mostly-written-at>20:07</mostly-written-at>
		</top-writer>
		<top-writer rank="5">
			<e-mail-addr>Jeff Garzik</e-mail-addr>
			<n-messages>61</n-messages>
			<avg-size>8KB</avg-size>
			<total-size>455KB</total-size>
			<mostly-written-at>13:07</mostly-written-at>
		</top-writer>
	</top-writers>
	<top-subjects>
		<top-subject rank="1">
			<subject>Linux 2.6.11.1</subject>
			<n-messages>54</n-messages>
			<avg-size>4KB</avg-size>
			<total-size>197KB</total-size>
			<mostly-written-at>14:19</mostly-written-at>
		</top-subject>
		<top-subject rank="2">
			<subject>[PATCH/RFC] I/O-check interface for driver's error handling</subject>
			<n-messages>48</n-messages>
			<avg-size>5KB</avg-size>
			<total-size>223KB</total-size>
			<mostly-written-at>12:28</mostly-written-at>
		</top-subject>
		<top-subject rank="3">
			<subject>[ACPI] Call for help: list of machines with working S3</subject>
			<n-messages>48</n-messages>
			<avg-size>5KB</avg-size>
			<total-size>217KB</total-size>
			<mostly-written-at>16:10</mostly-written-at>
		</top-subject>
		<top-subject rank="4">
			<subject>Page fault scalability patch V18: Drop first acquisition of ptl</subject>
			<n-messages>33</n-messages>
			<avg-size>7KB</avg-size>
			<total-size>223KB</total-size>
			<mostly-written-at>16:50</mostly-written-at>
		</top-subject>
		<top-subject rank="5">
			<subject>[Alsa-devel] Re: intel 8x0 went silent in 2.6.11</subject>
			<n-messages>28</n-messages>
			<avg-size>4KB</avg-size>
			<total-size>112KB</total-size>
			<mostly-written-at>15:04</mostly-written-at>
		</top-subject>
	</top-subjects>
	<top-receivers>
		<top-receiver rank="1">
			<e-mail-addr>Linux Kernel Mailing List</e-mail-addr>
			<n-messages>477</n-messages>
			<avg-size>8KB</avg-size>
			<total-size>4MB</total-size>
			<mostly-written-at>13:43</mostly-written-at>
		</top-receiver>
		<top-receiver rank="2">
			<e-mail-addr>Andrew Morton</e-mail-addr>
			<n-messages>429</n-messages>
			<avg-size>9KB</avg-size>
			<total-size>4MB</total-size>
			<mostly-written-at>13:55</mostly-written-at>
		</top-receiver>
		<top-receiver rank="3">
			<e-mail-addr>torvalds@osdl.org</e-mail-addr>
			<n-messages>91</n-messages>
			<avg-size>9KB</avg-size>
			<total-size>772KB</total-size>
			<mostly-written-at>15:13</mostly-written-at>
		</top-receiver>
		<top-receiver rank="4">
			<e-mail-addr>Greg KH</e-mail-addr>
			<n-messages>71</n-messages>
			<avg-size>8KB</avg-size>
			<total-size>523KB</total-size>
			<mostly-written-at>13:30</mostly-written-at>
		</top-receiver>
		<top-receiver rank="5">
			<e-mail-addr>Jeff Garzik</e-mail-addr>
			<n-messages>55</n-messages>
			<avg-size>7KB</avg-size>
			<total-size>352KB</total-size>
			<mostly-written-at>15:31</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>1156</n-messages>
			<avg-size>7KB</avg-size>
			<total-size>8MB</total-size>
			<mostly-written-at>14:21</mostly-written-at>
		</top-ccers>
		<top-ccers rank="2">
			<e-mail-addr>Andrew Morton</e-mail-addr>
			<n-messages>335</n-messages>
			<avg-size>7KB</avg-size>
			<total-size>3MB</total-size>
			<mostly-written-at>13:59</mostly-written-at>
		</top-ccers>
		<top-ccers rank="3">
			<e-mail-addr>torvalds@osdl.org</e-mail-addr>
			<n-messages>120</n-messages>
			<avg-size>5KB</avg-size>
			<total-size>578KB</total-size>
			<mostly-written-at>13:51</mostly-written-at>
		</top-ccers>
		<top-ccers rank="4">
			<e-mail-addr>Domen Puncer</e-mail-addr>
			<n-messages>73</n-messages>
			<avg-size>5KB</avg-size>
			<total-size>356KB</total-size>
			<mostly-written-at>20:09</mostly-written-at>
		</top-ccers>
		<top-ccers rank="5">
			<e-mail-addr>Greg KH</e-mail-addr>
			<n-messages>62</n-messages>
			<avg-size>4KB</avg-size>
			<total-size>242KB</total-size>
			<mostly-written-at>14:09</mostly-written-at>
		</top-ccers>
	</top-ccers>
	<top-level-domains>
		<tld rank="1">
			<name>com</name>
			<freq>945</freq>
		</tld>
		<tld rank="2">
			<name>org</name>
			<freq>530</freq>
		</tld>
		<tld rank="3">
			<name>de</name>
			<freq>207</freq>
		</tld>
		<tld rank="4">
			<name>net</name>
			<freq>131</freq>
		</tld>
		<tld rank="5">
			<name>cz</name>
			<freq>100</freq>
		</tld>
	</top-level-domains>
	<top-timezones>
		<tz rank="1">
			<name>+0100</name>
			<freq>822</freq>
		</tz>
		<tz rank="2">
			<name>-0800</name>
			<freq>586</freq>
		</tz>
		<tz rank="3">
			<name>-0500</name>
			<freq>356</freq>
		</tz>
		<tz rank="4">
			<name>+0000</name>
			<freq>204</freq>
		</tz>
		<tz rank="5">
			<name>+1100</name>
			<freq>118</freq>
		</tz>
	</top-timezones>
	<top-organisations>
		<org rank="1">
			<name>None, usuallly detectable by casual observers</name>
			<freq>20</freq>
			<bytes>117KB</bytes>
		</org>
		<org rank="3">
			<name>OSDL</name>
			<freq>11</freq>
			<bytes>45KB</bytes>
		</org>
		<org rank="4">
			<name>National Security Agency</name>
			<freq>5</freq>
			<bytes>100KB</bytes>
		</org>
		<org rank="5">
			<name>Toronto, Ontario - Canada</name>
			<freq>5</freq>
			<bytes>53KB</bytes>
		</org>
	</top-organisations>
	<top-user-agents>
		<useragent rank="1">
			<name>Mozilla</name>
			<freq>45</freq>
			<bytes>894KB</bytes>
		</useragent>
		<useragent rank="2">
			<name>Mutt/1.5.6+20040907i</name>
			<freq>42</freq>
			<bytes>2MB</bytes>
		</useragent>
		<useragent rank="3">
			<name>Evolution</name>
			<freq>40</freq>
			<bytes>2MB</bytes>
		</useragent>
		<useragent rank="4">
			<name>Mozilla/5.0</name>
			<freq>35</freq>
			<bytes>2MB</bytes>
		</useragent>
		<useragent rank="5">
			<name>Mutt/1.4.1i</name>
			<freq>18</freq>
			<bytes>381KB</bytes>
		</useragent>
	</top-user-agents>
	<messages-per-day>
		<Sunday><msgs>225</msgs><bytes>2MB</bytes></Sunday>
		<Monday><msgs>302</msgs><bytes>2MB</bytes></Monday>
		<Tuesday><msgs>339</msgs><bytes>3MB</bytes></Tuesday>
		<Wednesday><msgs>465</msgs><bytes>3MB</bytes></Wednesday>
		<Thursday><msgs>418</msgs><bytes>3MB</bytes></Thursday>
		<Friday><msgs>414</msgs><bytes>3MB</bytes></Friday>
		<Saturday><msgs>231</msgs><bytes>2MB</bytes></Saturday>
	</messages-per-day>
	<messages-per-month>
		<Jan><msgs>0</msgs><bytes>0</bytes></Jan>
		<Feb><msgs>253</msgs><bytes>2MB</bytes></Feb>
		<Mar><msgs>2141</msgs><bytes>14MB</bytes></Mar>
		<Apr><msgs>0</msgs><bytes>0</bytes></Apr>
		<May><msgs>0</msgs><bytes>0</bytes></May>
		<Jun><msgs>0</msgs><bytes>0</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>90</msgs><bytes>624KB</bytes></day-1>
		<day-2><msgs>188</msgs><bytes>2MB</bytes></day-2>
		<day-3><msgs>329</msgs><bytes>2MB</bytes></day-3>
		<day-4><msgs>394</msgs><bytes>3MB</bytes></day-4>
		<day-5><msgs>228</msgs><bytes>2MB</bytes></day-5>
		<day-6><msgs>192</msgs><bytes>2MB</bytes></day-6>
		<day-7><msgs>265</msgs><bytes>2MB</bytes></day-7>
		<day-8><msgs>224</msgs><bytes>2MB</bytes></day-8>
		<day-9><msgs>217</msgs><bytes>2MB</bytes></day-9>
		<day-10><msgs>14</msgs><bytes>56KB</bytes></day-10>
		<day-11><msgs>0</msgs><bytes>0</bytes></day-11>
		<day-12><msgs>0</msgs><bytes>0</bytes></day-12>
		<day-13><msgs>0</msgs><bytes>0</bytes></day-13>
		<day-14><msgs>4</msgs><bytes>20KB</bytes></day-14>
		<day-15><msgs>22</msgs><bytes>135KB</bytes></day-15>
		<day-16><msgs>15</msgs><bytes>92KB</bytes></day-16>
		<day-17><msgs>15</msgs><bytes>59KB</bytes></day-17>
		<day-18><msgs>5</msgs><bytes>24KB</bytes></day-18>
		<day-19><msgs>0</msgs><bytes>0</bytes></day-19>
		<day-20><msgs>1</msgs><bytes>6KB</bytes></day-20>
		<day-21><msgs>1</msgs><bytes>5KB</bytes></day-21>
		<day-22><msgs>3</msgs><bytes>22KB</bytes></day-22>
		<day-23><msgs>45</msgs><bytes>433KB</bytes></day-23>
		<day-24><msgs>60</msgs><bytes>332KB</bytes></day-24>
		<day-25><msgs>15</msgs><bytes>61KB</bytes></day-25>
		<day-26><msgs>3</msgs><bytes>21KB</bytes></day-26>
		<day-27><msgs>32</msgs><bytes>384KB</bytes></day-27>
		<day-28><msgs>32</msgs><bytes>135KB</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>0</msgs><bytes>0</bytes></day-31>
	</messages-per-day-of-month>
	<messages-per-hour>
		<hour-1><msgs>73</msgs><bytes>452KB</bytes></hour-1>
		<hour-2><msgs>44</msgs><bytes>335KB</bytes></hour-2>
		<hour-3><msgs>84</msgs><bytes>814KB</bytes></hour-3>
		<hour-4><msgs>19</msgs><bytes>132KB</bytes></hour-4>
		<hour-5><msgs>14</msgs><bytes>50KB</bytes></hour-5>
		<hour-6><msgs>11</msgs><bytes>43KB</bytes></hour-6>
		<hour-7><msgs>20</msgs><bytes>86KB</bytes></hour-7>
		<hour-8><msgs>58</msgs><bytes>278KB</bytes></hour-8>
		<hour-9><msgs>115</msgs><bytes>519KB</bytes></hour-9>
		<hour-10><msgs>111</msgs><bytes>811KB</bytes></hour-10>
		<hour-11><msgs>146</msgs><bytes>785KB</bytes></hour-11>
		<hour-12><msgs>206</msgs><bytes>2MB</bytes></hour-12>
		<hour-13><msgs>140</msgs><bytes>872KB</bytes></hour-13>
		<hour-14><msgs>121</msgs><bytes>690KB</bytes></hour-14>
		<hour-15><msgs>171</msgs><bytes>900KB</bytes></hour-15>
		<hour-16><msgs>161</msgs><bytes>2MB</bytes></hour-16>
		<hour-17><msgs>119</msgs><bytes>906KB</bytes></hour-17>
		<hour-18><msgs>100</msgs><bytes>741KB</bytes></hour-18>
		<hour-19><msgs>104</msgs><bytes>848KB</bytes></hour-19>
		<hour-20><msgs>83</msgs><bytes>533KB</bytes></hour-20>
		<hour-21><msgs>109</msgs><bytes>579KB</bytes></hour-21>
		<hour-22><msgs>157</msgs><bytes>818KB</bytes></hour-22>
		<hour-23><msgs>149</msgs><bytes>893KB</bytes></hour-23>
	</messages-per-hour>
	<created-with><name>mboxstats</name><version>2.2</version><developer>folkert@vanheusden.com</developer><url>http://www.vanheusden.com/mboxstats/</url></created-with>
</mailbox-stats>

<section
  title="Linux 2.6.11-rc4-mm1 Released"
  subject="2.6.11-rc4-mm1"
  archive="http://groups-beta.google.com/group/fa.linux.kernel/msg/2db1271e777868d3"
  posts="81"
  startdate="23 Feb 2005 01:42:33 -0800"
  enddate="03 Mar 2005 13:55:56 -0800"
>
<topic>Kernel Release Announcement</topic>

<p>Andrew Morton announced Linux 2.6.11-rc4-mm1, saying:</p>

<quote who="Andrew Morton">

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

<p>

<ul>

<li>Various fixes and updates all over the place.  Things seem to have slowed
down a bit.</li>

<li>Last, final, ultimate call: if anyone has patches in here which are
2.6.11 material, please tell me.</li>

</ul>

</p>

</quote>

</section>

<section
  title="Support For GEODE CPUs in 2.6"
  subject="Support for GEODE CPU's in Kernel 2.6.10."
  archive="http://groups-beta.google.com/group/fa.linux.kernel/msg/e912d03d07529b92"
  posts="4"
  startdate="27 Feb 2005 14:11:13 -0800"
  enddate="03 Mar 2005 14:17:51 -0800"
>
<topic>Small Systems</topic>

<p>Kianusch Sayah Karadji said:</p>

<quote who="Kianusch Sayah Karadji">

<p>This is a small patch for GEODE CPU support in Kernel 2.6.10.</p>

<p>Those CPU's are found mostly in embedded systems ... one of the
most prominent Hardware using GEODE CPU is probably soekris net4801 (<a
href="http://www.soekris.com">http://www.soekris.com</a>).</p>

<p>This patch has been on my homepage (<a
href="http://www.sk-tech.net/support/soekris.html">http://www.sk-tech.net/support/soekris.html</a>)
for quite a time - but I've been asked several time to have it included in
the main kernel.</p>

</quote>

</section>

<section
  title="New Digi Neo Serial Port Adapter Driver"
  subject="[ patch 1/7] drivers/serial/jsm: new serial device driver"
  archive="http://groups-beta.google.com/group/fa.linux.kernel/msg/261eaa209cc5e414"
  posts="7"
  startdate="27 Feb 2005 15:38:23 -0800"
  enddate="04 Mar 2005 14:54:45 -0800"
>
<topic>PCI</topic>

<mention>Christoph Hellwig</mention>
<mention>Jeff Garzik</mention>
<mention>Greg KH</mention>

<p>Wen Xiong said:</p>

<quote who="Wen Xiong">

<p>We are submitting a new serial driver for the 2.6 kernel. This device
driver is for the Digi Neo serial port adapter.</p>

<p>We made some changes based on great comments from linux community. We used
the Russell's serial_core interface on 2.6 kernel, handled all initialization
of  module correctly and used fs/seq_file.c interface for /proc entry.
And we made some changes based on Greg KH's comments also including removing
whitespace, changing some function comments, removing msleep() etc.</p>

<p>Per requests, I split it up in smaller chunks and sent them in several
emails for you. You are able to read the code and comment the code easily. I
added more adapter descriptions for you.</p>

<p>Neo adapter description:</p>

<p>This adapter is a 920K baud non-intelligent asynchronous serial
communications adapter for PCI bus. The adapter is based on Exar 17D152
Universal PCI Dual UART IC. The adapter is mapped into the PCI bus memory
space, and offers extened UART register mapping beyond the standard 16c554
registers.  This driver used serial_core.c interface on 2.6 serials of
kernel.</p>

</quote>

<p>Jeff Garzik felt the patch had altogether too many global variables;
and other folks had criticisms too. Wen took all this into consideration,
and several days later replied:</p>

<quote who="Wen Xiong">

<p>Based on very detail comments from Jeff, Greg, Christoph Hellwig, Rik
and Nish, I modified these codes and tested it succesfully in our lab.
For patch1, major changes included:</p>

<p>

<ol>

<li>removed static board limit to use dynamic list to control board
structure.</li>

<li>leak on errors.</li>

<li>removed some global variables</li>

<li>lots of others.</li>

</ol>

</p>

</quote>

<p>Jeff was happy to see the update, and asked Wen to submit the full series of
patches for consideration.</p>

</section>

<section
  title="Status Of Modular Framebuffers"
  subject="RFC: disallow modular framebuffers"
  archive="http://groups-beta.google.com/group/fa.linux.kernel/msg/4d2dee1fce59edeb"
  posts="18"
  startdate="28 Feb 2005 18:41:18 -0800"
  enddate="05 Mar 2005 12:49:17 -0800"
>
<topic>Framebuffer</topic>
<topic>Small Systems</topic>

<mention>Jeff Garzik</mention>

<p>Adrian Bunk asked:</p>

<quote who="Adrian Bunk">

<p>Do modular framebuffers really make sense?</p>

<p>OK, distributions like to make everything modular, but all the framebuffer
drivers I've looked at parse driver specific options in their *_setup function
only in the non-modular case.</p>

<p>And most framebuffer drivers contain a module_exit function.  Is there
really any case where this is both reasonable and working?</p>

</quote>

<p>Jeff Garzik said this was really a case-by-case thing, but David Vrabel
said modular framebuffers made sense on embedded systems, where <quote
who="David Vrabel">you may not use the display hardware (and would therefore
like to save a bit of memory) but it's convenient to have only one build of
the kernel/modules.</quote> He also added, <quote who="David Vrabel">It's
useful for testing if nothing else.  True, the Geode framebuffer driver
won't restore the mode on unload but since the software VGA emulation on
a Geode is less than perfect (I never did work out what happened to the
cursor...) I would expect people to not use vgacon and thus there's nothing
really to restore.</quote></p>

<p>Paul Mundt agreed that embedded systems made good use of modular
framebuffers, adding:</p>

<quote who="Paul Mundt">

<p>It makes little sense to keep the driver constantly loaded if the device
is not being used as a console and is only seeing occasional use.</p>

<p>It seems more sensible to just fix up the drivers that don't do this
right.. most of the broken drivers seem to be geared at x86 anyways where
people generally don't seem to care.</p>

<p>It may not make a lot of sense with distributions on x86, though it is
useful if you are doing driver development on a secondary device. This is
certainly a corner case though.</p>

</quote>

</section>

<section
  title="Linux 2.6.11-rc5-mm1 Released"
  subject="2.6.11-rc5-mm1"
  archive="http://groups-beta.google.com/group/linux.kernel/msg/7c8abb60721a485c"
  posts="32"
  startdate="01 Mar 2005 01:27:41 -0800"
  enddate="04 Mar 2005 03:01:46 -0800"
>
<topic>Access Control Lists</topic>
<topic>FS: NFS</topic>
<topic>Hot-Plugging</topic>
<topic>Kernel Release Announcement</topic>
<topic>SMP</topic>

<p>Andrew Morton announced Linux 2.6.11-rc5-mm1, saying:</p>

<quote who="Andrew Morton">

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

<p>

<ul>

<li>Lots of tuning/balancing changes in the CPU scheduler.  Mainly targetted
at larger SMT/SMP/NUMA machines.  It's going to be hard to work out whether
these are a net benefit.</li>

<li>A pcmcia update which obsoletes cardmgr (although cardmgr still works) and
makes pcmcia work more like regular hotpluggable devices.  See the changelong
in pcmcia-dont-send-eject-request-events-to-userspace.patch for details.</li>

<li>A new reiser4 code drop.</li>

<li>A new rev of the NFS ACL code.</li>

<li>I seem to be getting a lot of patches which don't compile if you breathe
on the .config file, let alone if you try them on another architecture.
It would be nice to receive less such patches, please.</li>

</ul>

</p>

</quote>

</section>

<section
  title="Improving The BitKeeper-&gt;CVS Gateway"
  subject="[BK] cvs export"
  archive="http://groups-beta.google.com/group/linux.kernel/msg/67b37e989c40f2d1"
  posts="4"
  startdate="01 Mar 2005 17:14:19 -0800"
  enddate="04 Mar 2005 06:04:56 -0800"
>
<topic>Version Control</topic>

<mention>Pavel Machek</mention>

<p>Larry McVoy said:</p>

<quote who="Larry McVoy">

<p>A while back someone complained about the CVS exporter because it
sometimes groups a pile of BK changesets into one commit.  That's true,
it does.</p>

<p>I've been running tests over the BK tree and I think we can do better.
Here's the scoop: when we do an export we are going from a very bushy
graph structure to a linear graph structure.  The BK graph structure
represents what happened in all the BK repos that ever came together,
the CVS graph structure is more like what would happen if all the work had
been done in CVS.  What that means in practice is that the linearization
sometimes results in a single CVS commit which has multiple changesets
in it.  Pavel or someone complained that the problem with that is that
if you are looking for a bug and you are searching through commits, that
works fine *unless* your bug happens to be in one of the commits which
is really a pile of changesets.  Is that accurate Pavel/Andrea/Roman/etc?</p>

<p>In the last flamefest about BK there was all this fuss that there wasn't
enough info in the CVS export and I think that the problem described
above is the basis for 99% (or maybe 100%) of the flameage.  Is that
also accurate?</p>

<p>I tried to point out the following and think it was lost in the noise:
while the repository commits themselves construct a very bushy graph,
the files are not at all bushy, they are extremely linear.  So what does
that actually mean?  The history of the repository is very parallel,
that's what creates a bushy revision history graph, but in spite of that,
there is very little parallelism in the actual files.  The result of
that is that when we do the CVS export, it is true that the number of
commits is about half the number of BK commits.  But the number of file
deltas is only 4% less than the number of file deltas in BK.</p>

<p>Pavel/Andrea/Roman/etc still were unhappy and they are justified in being
unhappy because even though we have almost all of the file history what
we don't have is all of the patch boundaries.  And when you are hunting
down a bug, if you look at Documentation/BUG-HUNTING (which I wrote back
in 1996 amusingly enough) the idea is to do binary search over a range
of changes in order to narrow down the cause.</p>

<p>Which leads us back to the problem.  If you narrow things down but where
you land is one of the clustered commits which has many changesets in it
then you are stuck with having to wade through a big pile of diffs to
find the bug, those diffs consisting of multiple patches.  Sound right
to you Pavel/Andrea/Roman/etc?</p>

<p>If so, I have to agree with you, this is a limitation of the CVS exporter.
So I've been thinking about how to fix this and have the following idea.
I want all the CVS export users to pay close attention because this either
should make you happy or not and I want to know the answer.</p>

<p>When we do the export we do a couple of things to make things pleasant
for you.  We make sure that the timestamps on all the files in the
same commit are the same, that makes timestamp based tools work.
We also shove a comment into each file's history that looks like so:
(Logical change 1.12345) so that tools that try and group things based
on comments can work.</p>

<p>It's that second feature that I think we can use to solve the problem,
we're finally getting to the idea.  If we have a commit that is really 200
patches which touch 400 files then we can do better.  Suppose that the
files in the patches are disjoint, i.e., each patch touches a different
set of files, there is no overlap.  If that's true then we could change
the comment to (Logical change 1.12345.$PATCH).  It's still all one CVS
commit but if you need to go working through that commit to get at the
individual patches you could, right?</p>

<p>One problem is that the set of files in patches may not be disjoint,
the same file may participate in multiple patches.  I think we can handle
that in the following way, we put multiple comments, one for each patch,
so you'd see</p>

<blockquote>

<p>        (Logical change 1.12345.5)<br />
        (Logical change 1.12345.11)<br />
        (Logical change 1.12345.79)</p>

</blockquote>

<p>That's not a perfect answer because now that file participates in
multiple patches and if it's the one that has the problem you'll have
to wade through the diffs for that file for that commit.  But that's an
extreme corner case as far as I can tell (I have faith I'll be "educated"
if I'm wrong about that).</p>

<p>So, everyone including the Pavel/Andrea/Roman/etc camp, how do you feel
about this?  If we were to hack the exporter to add this info do you think
that would address the problems you have with the exporter?  The reason
I ask is that while I was going to just hack this in, I went to do that
and it turned into a nasty problem, both engineering and CPU wise when
exporting.  So if this isn't what you wanted then I won't bother to do it.</p>

<p>I'm not asking if this is the same as GPLing BK or giving people free
access to 100% of the BK internal data structures, etc.  What I'm asking
is if this will make the CVS export tree something you can use to get your
job done in an efficient way.</p>

</quote>

<p>Stelian Pop replied, <quote who="Stelian Pop">Your proposal adds more
information to the CVS export tree and this is good.  But as far as I can
tell it still doesn't let the user find the original patch for a change
(unless you can use the extended logical change information to access
the patch somewhere else which would be acceptable to me).</quote> Pavel
Machek also agreed Larry's proposal was better than the current situation;
but there was no discussion.</p>

</section>

<section
  title="FUSE Going Into 2.6"
  subject="[request for inclusion] Filesystem in Userspace "
  archive="http://groups-beta.google.com/group/linux.kernel/msg/924fb7bc4e3d40ac"
  posts="12"
  startdate="02 Mar 2005 10:17:13 -0800"
  enddate="05 Mar 2005 20:16:52 -0800"
>
<topic>Device Mapper</topic>
<topic>FS: CacheFS</topic>
<topic>FS: NFS</topic>
<topic>Profiling</topic>

<mention>Miklos Szeredi</mention>
<mention>Christoph Hellwig</mention>

<p>Miklos Szeredi asked if FUSE could be merged into the main kernel, having
spent a significant amount of time in Andrew Morton-s -mm tree. Andrew replied:</p>

<quote who="Andrew Morton">

<p>I was planning on sending FUSE into Linus in a week or two.  That and
cpusets are the notable features which are 2.6.12 candidates.</p>

<p>

<ul>

<li>crashdump seems permanently not-quite-ready</li>

<li>perfctr works fine, but is rather deadlocked because it is
similar-to-but-different-from ia64's perfmon, and might not be suitable for
ppc64 (although things have gone quiet on the latter front).</li>

<li>nfsacl should be OK for 2.6.12 if Trond is OK with it.</li>

<li>cachefs is a bit stuck because it's a ton of complex code and afs is
the only user of it.  Wiring it up to NFS would help.</li>

<li>dm multipath is OK for 2.6.12</li>

<li>reiser4 is less clear.  Once all the review comments have been addressed
and we start seeing a bit of vendor pull for it, maybe.</li>

</ul>

</p>

</quote>

<p>Anton Altaparmakov remarked:</p>

<quote who="Anton Altaparmakov">

<p>I would certainly vote for FUSE going in.  Even if it has some bits
that could be improved the code works well.  It has been in global use
for quite a while.  We use it in a production environment on four servers
and over 650 workstations to provide a "magic symlink filesystem" (i.e.
symlink XYZ points to different place depending on which user looks at it)
and we have not experienced any problems.  I have also done other testing
with a layering fs using fuse and that was very stable (but slower than the
symlink approach which is why we went for that).</p>

<p>FUSE may not be perfect but lets face it - which code is?  And more
importantly a lot of code in the kernel is broken (for at least some people)
yet it is in the kernel and FUSE does work well...</p>

</quote>

<p>Christoph Hellwig wanted some additional time to go over the code; and Miklos
was fine with this. It seemed that, sooner or later, FUSE will be accepted into
the 2.6 tree.</p>

</section>

<section
  title="New w.x.y.z Kernel Numbering Scheme Lumbering Forward"
  subject="[PATCH] trivial fix for 2.6.11 raid6 compilation on ppc w/ Altivec"
  archive="http://groups-beta.google.com/group/linux.kernel/msg/0c0708352fb3290d"
  posts="37"
  startdate="03 Mar 2005 10:05:13 -0800"
  enddate="07 Mar 2005 10:03:09 -0800"
>
<topic>Version Control</topic>

<mention>Rene Rebe</mention>
<mention>Chris Wright</mention>
<mention>Jeff Garzik</mention>

<p>Rene Rebe posted a one-line fix for 2.6.11, and Jeff Garzik said this
would be a good candidate for a 2.6.11.y kernel release. Greg KH replied:</p>

<quote who="Greg KH">

<p>Ok, I've fixed up the patch and applied it to a local
tree that I've set up to catch these things (it will live at
bk://kernel.bkbits.net:gregkh/linux-2.6.11.y until Chris Wright and I set
up how we are going to handle all of this.)</p>

<p>Feel free to start pointing stuff like this at me and chris (we'll also
be setting up an alias for it.)</p>

</quote>

<p>There was some wrangling over the patch, different versions surfaced,
and folks weren't sure which one would be best to apply. Another patch also
appeared, for a different problem, and Greg and Chris Wright considered
whether to include that in a 2.6.11.y release as well. Greg decided to include
the new patch, but now Linus Torvalds objected:</p>

<quote who="Linus Torvalds">

<p>I don't think your process works. You never really gave people the time
to object. So for that reason you applied the first trivial raid6 thing,
and it turned out to be wrong.</p>

<p>I think the patches need to have a rule like "they live outside the sucker
tree for at least two days". And during that time, anybody can vote them down
(which would move them to "unapplied" status, at which point somebody else
might decide that for _their_ tree it's still the right thing to do).</p>

<p>And if at the end of two days, they still haven't gotten enough "yes" votes,
they'd go into "limbo" status, with one extra grace-period (ie a reminder
on whatever list about a patch that is dying). And if it can't get enough
"yeah, sure" votes even after that, it goes into the same "unapplied" list.</p>

<p>In other words, I think this really does want some automation. It shouldn't
be fully automated (at the very least, somebody needs to actually check
that things patch and fix up the changeset comments etc), but the _rules_
should be automated. Otherwise they'll always be broken because of "_this_
time it's obvious", which is against the point.</p>

</quote>

<p>Greg agreed with this, and said, <quote who="Greg KH">Ok, Chris and I
are going to sit down and work this all out on Tuesday.  I'll hold off on
applying or releasing anything else until we fully describe the process,
and set up the infrastructure.</quote></p>

</section>

<section
  title="Kernel Crypto API Maintainership"
  subject="New Kernel Crypto Maintainer"
  archive="http://groups-beta.google.com/group/fa.linux.kernel/msg/8ccb02714f9920e2"
  posts="1"
  startdate="04 Mar 2005 08:08:48 -0800"
>

<p>James Morris said:</p>

<quote who="James Morris">

<p>This is to announce that Herbert Xu is now taking over my role as
co-maintainer of the kernel crypto API.</p>

<p>I've not been able to devote enough time to the integration of
async/hardware support, and Herbert, who has been doing excellent work in
the networking code for some time, has now thankfully stepped up to help.</p>

<p>Hopefully things will now move forward more quickly in this area.</p>

</quote>

</section>

<section
  title="Linux 2.6.11.1 Released; Some Discussion Of Protocol"
  subject="Linux 2.6.11.1"
  archive="http://groups-beta.google.com/group/linux.kernel/msg/9f46bacf0c7d1aac"
  posts="54"
  startdate="04 Mar 2005 09:53:02 -0800"
  enddate="08 Mar 2005 14:41:05 -0800"
>
<topic>Version Control</topic>

<mention>Russell King</mention>
<mention>Chris Wright</mention>
<mention>Jeff Garzik</mention>

<p>Greg KH said:</p>

<quote who="Greg KH">

<p>For those of you who haven't waded through the huge "RFD: Kernel release
numbering" thread on lkml to realize that we are now going to start
putting out 2.6.x.y releases, here's the summary:</p>

<blockquote>

<p>        A few of us $suckers will be trying to maintain a 2.6.x.y set of
        releases that happen after 2.6.x is released.  It will contain
        only a set of bugfixes and security fixes that meet a strict set
        of guidelines, as defined by Linus at:</p>

<p>        <a href="http://article.gmane.org/gmane.linux.kernel/283396">http://article.gmane.org/gmane.linux.kernel/283396</a></p>

</blockquote>

<p>Chris Wright and I are going to start working on doing this work, we
will have a &lt;SOME_ALIAS&gt;@kernel.org to post these types of bug fixes to,
and a set of people we bounce the patches off of to test for "smells
good" validation.  We will also have a bk-commits type mailing list for
those who want to watch the patches flow in, and a bk tree from which
changsets can be pulled from.</p>

<p>Chris and I will be hashing all of the details out next Tuesday, and
hopefully all the infrastructure will be in place soon.  When that
happens, we will post the full details on how all of this is going to
work.  In the meantime, feel free to CC: me and Chris on patches that
everyone thinks should go into the 2.6.11.y releases.</p>

<p>But right now, Chris is on a plane, and we don't have the email alias
set up, or the proper permissions set up on kernel.org to push changes
into the v2.6 directory, but we have a few bugs that are needing to be
fixed in the 2.6.11 release.  And since our mantra is, "release early
and often", here's the first release.</p>

<p>---------------</p>

<p>I've released the 2.6.11.1 patch:<br />
        <a href="http://www.kernel.org/pub/linux/kernel/people/gregkh/v2.6.11/patch-2.6.11.1.gz">kernel.org/pub/linux/kernel/people/gregkh/v2.6.11/patch-2.6.11.1.gz</a></p>

<p>With a detailed changelog at:<br />
        <a href="http://www.kernel.org/pub/linux/kernel/people/gregkh/v2.6.11/ChangeLog-2.6.11.1">kernel.org/pub/linux/kernel/people/gregkh/v2.6.11/ChangeLog-2.6.11.1</a></p>

<p>A bitkeeper tree for the 2.6.11.y releases can be found at:<br />
        bk://linux-release.bkbits.net/linux-2.6.11</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 itself,
as it is small enough to do so.</p>

</quote>

<p>A number of kernel folks burst into tears of joy to see this work. Others
had more sober comments. Ian Pilcher replied, <quote who="Ian Pilcher">From
a purely process point of view, my concern would be making sure that
everything that goes into 2.6.X.Y (e.g. 2.6.11.1) makes it into 2.6.X+1
(e.g. 2.6.12).</quote> And Greg replied, <quote who="Greg KH">It will be
so.</quote> And somewhere else in the thread, Linus Torvalds said, <quote
who="Linus Torvalds">I'll just pull from the sucker-tree.</quote></p>

<p>However, this merge question turned out to be a little more complicated
than folks might have hoped. Some patches, it was revealed, would be in
the w.x.y.z tree, that were not intended for the w.x.y tree at all. Of
course it would be possible to revert the unwanted patches during the
merge, which would be fine for small stuff; but as Andrew put it, <quote
who="Andrew Morton">we end up with a cset in the permanent kernel history
which simply should not have been there.</quote> Greg was surprised that
Linus and Andrew would consider this such a big deal, but Linus confirmed
that <quote who="Linus Torvalds">Once? No. If it ends up being "par for the
course", it's bad.</quote></p>

<p>At one point, Russell King suggested bypassing this problem by having two
'sucker' trees, one with fixes intended for Linus, and another with fixes
to keep out of the main tree. Jeff Garzik thought this was a good idea,
but Linus said:</p>

<quote who="Linus Torvalds">

<p>However, it's also true that the thing BK is _worst_ at is cherry-picking
things, and having a collection of stuff where somebody may end up vetoing
one patch and saying "remove that one".</p>

<p>So it's entirely possible that the proper tool to use for the first
level is not BK at all, but the evolved patch-scripts that Andrew uses,
in other words:</p>

<p><a
href="http://savannah.nongnu.org/projects/quilt">http://savannah.nongnu.org/projects/quilt</a></p>

<p>may well be a much better thing to use.</p>

<p>I love BK, but what BK does well is merging and maintaining trees full
of good stuff. What BK sucks at is experimental stuff where you don't know
whether something should be eventually used or not.</p>

</quote>

</section>

<section
  title="Guidelines For Accepting Patches Into The w.x.y.z Tree"
  subject="[RFQ] Rules for accepting patches into the linux-releases tree"
  archive="http://groups-beta.google.com/group/linux.kernel/msg/039e7d9907da04d5"
  posts="23"
  startdate="04 Mar 2005 14:21:46 -0800"
  enddate="07 Mar 2005 09:35:56 -0800"
>
<topic>Version Control</topic>

<mention>Marcelo Tosatti</mention>
<mention>Ian Pilcher</mention>
<mention>Linus Torvalds</mention>

<p>Greg KH said:</p>

<quote who="Greg KH">

<p>Anything else anyone can think of?  Any objections to any of these?
I based them off of Linus's original list.</p>

<p>Rules on what kind of patches are accepted, and what ones are not, into
the "linux-release" tree.</p>

<p>

<ul>

<li>It can not bigger than 100 lines, with context.</li>

<li>It must fix only one thing.</li>

<li>It must fix a real bug that bothers people (not a, "This could be a
problem..." type thing.)</li>

<li>It must fix a problem that causes a build error (but not for things
marked CONFIG_BROKEN), an oops, a hang, or a real security issue.</li>

<li>No "theoretical race condition" issues, unless an explanation of how
the race can be exploited.</li>

<li>It can not contain any "trivial" fixes in it (spelling changes, whitespace
cleanups, etc.)</li>

</ul>

</p>

</quote>

<p>Ian Pilcher suggested that one rule should be that the patch in question
should already be in Linus Torvalds's main tree. But Dave Kleikamp replied,
<quote who="Dave Kleikamp">No, it's cleaner in bitkeeper terms for the
patches to be pulled into the linux-releases tree first, and then Linus
pulls from that.  Linus has said that that is what he intends to do.</quote>
Valdis Kletnieks also said, <quote who="Valdis Kletnieks">There's a high
probability that we hit a bug where Linus commits a more extensive "correct"
solution, but 2.6.X.1 includes a much simpler band-aid that's technically
bogus, but stops a panic-on-boot bug from manifesting.</quote></p>

<p>Looking at the original list, Adam Sampson asked if <quote who="Adam
Sampson">a trivial patch that fixed a data corruption issue wouldn't be
accepted?</quote> Greg agreed that this was important, and added data
corruption to the list of things that could be fixed by one of these
patches.</p>

<p>Elsewhere, Andries Brouwer said:</p>

<quote who="Andries Brouwer">

<p>I would like the requirement: "It must be obviously correct".</p>

<p>In a hundred lines one can put a lot of tricky code and subtle changes.
For example, if a security problem necessitates a nontrivial change, it
should cause an earlier release of 2.6.x+1 instead of a 2.6.x.y+1.</p>

</quote>

<p>Greg said he'd add that item to the list. Elsewhere, Marcelo Tosatti
also suggested that fixes should be acceptable if they fixed breakage of
previously working functionality.</p>

</section>

<section
  title="Video4Linux Maintainership"
  subject="[patch] v4l: MAINTAINERS file update."
  archive="http://groups-beta.google.com/group/fa.linux.kernel/msg/69bce54026445db7"
  posts="3"
  startdate="08 Mar 2005 03:25:25 -0800"
  enddate="08 Mar 2005 04:38:33 -0800"
>

<mention>Alan Cox</mention>

<p>Gerd Knorr said:</p>

<quote who="Gerd Knorr">

<p>Goodbye, and that thanks for all the fish ;)</p>

<p>After several years of v4l maintainance I'm going to switch to a new work
field and will not be able to spend much time on maintaining video4linux
and the drivers, so someone else will have to step in.</p>

<p>I will not suddenly disappear from earth, I will be available for questions
and patch reviews for some time, but I'll stop doing active development and
most likely will not have the time to act as central patch relay for all
video4linux stuff.</p>

</quote>

<p>Alan Cox and others thanked Gerd for all his hard work.</p>

</section>

<section
  title="Linux 2.4.30-pre3 Released"
  subject="Linux 2.4.30-pre3"
  archive="http://groups-beta.google.com/group/fa.linux.kernel/msg/232eb449dc8d8704"
  posts="3"
  startdate="09 Mar 2005 07:39:00 -0800"
  enddate="09 Mar 2005 08:41:13 -0800"
>
<topic>Serial ATA</topic>

<p>Marcelo Tosatti announced Linux 2.4.30-pre3, saying:</p>

<quote who="Marcelo Tosatti">

<p>Here goes the third pre of v2.4.30.</p>

<p>It contains a small number of scattered fixes, most notably e1000 update,
a backport of v2.6's nForce override fix, and SATA update.</p>

<p>The changes which broke "tar --verify" on tapes have been reverted.</p>

</quote>

</section>

</kc>

