<?xml version="1.0" ?>

<kc>

<title>Kernel Traffic</title>

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

<issue num="318" date="27 Aug 2005 00:00:00 -0800" />

<mailbox-stats>
	<global-stats>
		<generated-at>Sat Aug 27 13:35:48 2005</generated-at>
		<first-message>Fri Mar 10 09:03:59 2000</first-message>
		<last-message>Fri Jul  8 17:20:01 2005</last-message>
		<totals>
			<n-messages>3229</n-messages>
			<n-is-reply>2318</n-is-reply>
			<avg-resp-time>367:48:48</avg-resp-time>
			<n-pgp-signed>103</n-pgp-signed>
			<total-size>19MB</total-size>
			<avg-size>6KB</avg-size>
			<n-attachments>123</n-attachments>
			<att-size>2MB</att-size>
			<bussiest-day-in-n day="2005-06-28"><n-msgs>362</n-msgs><n-bytes>2MB</n-bytes></bussiest-day-in-n>
			<bussiest-day-in-bytes day="2005-06-27"><n-msgs>348</n-msgs><n-bytes>3MB</n-bytes></bussiest-day-in-bytes>
			<n-writers>1050</n-writers>
			<wrote-more-then-1-message>404</wrote-more-then-1-message>
			<n-lines>337873</n-lines>
			<header-size>172786</header-size>
			<n-user-agents>88</n-user-agents>
			<n-organisations>68</n-organisations>
			<n-toplevel-domains>43</n-toplevel-domains>
			<avg-spam-score>-28.097461</avg-spam-score>
				<spammiest-writer><score>4.099000</score><name>tristan</name></spammiest-writer>
		</totals>
		<averages>
			<lines-per-message>104</lines-per-message>
			<lines-per-header>53</lines-per-header>
			<header-percent-of-message>51.14%</header-percent-of-message>
			<header-percent-of-total>41.71%</header-percent-of-total>
			<line-length>30</line-length>
		</averages>
		<importance>
			<low>0.00%</low>
			<normal>0.96%</normal>
			<high>0.00%</high>
		</importance>

	</global-stats>
	<top-writers>
		<top-writer rank="1">
			<e-mail-addr>andrew&#32;morton</e-mail-addr>
			<n-messages>93</n-messages>
			<avg-size>5KB</avg-size>
			<total-size>430KB</total-size>
			<mostly-written-at>12:38</mostly-written-at>
		</top-writer>
		<top-writer rank="2">
			<e-mail-addr>greg&#32;kh</e-mail-addr>
			<n-messages>83</n-messages>
			<avg-size>5KB</avg-size>
			<total-size>375KB</total-size>
			<mostly-written-at>13:13</mostly-written-at>
		</top-writer>
		<top-writer rank="3">
			<e-mail-addr>johannes&#32;stezenbach</e-mail-addr>
			<n-messages>63</n-messages>
			<avg-size>11KB</avg-size>
			<total-size>634KB</total-size>
			<mostly-written-at>12:14</mostly-written-at>
		</top-writer>
		<top-writer rank="4">
			<e-mail-addr>greg&#32;kh</e-mail-addr>
			<n-messages>60</n-messages>
			<avg-size>8KB</avg-size>
			<total-size>425KB</total-size>
			<mostly-written-at>19:11</mostly-written-at>
		</top-writer>
		<top-writer rank="5">
			<e-mail-addr>christoph&#32;lameter</e-mail-addr>
			<n-messages>54</n-messages>
			<avg-size>8KB</avg-size>
			<total-size>395KB</total-size>
			<mostly-written-at>14:04</mostly-written-at>
		</top-writer>
	</top-writers>
	<top-subjects>
		<top-subject rank="1">
			<subject>fuse&#32;merging?</subject>
			<n-messages>68</n-messages>
			<avg-size>5KB</avg-size>
			<total-size>282KB</total-size>
			<mostly-written-at>12:32</mostly-written-at>
			<first-msg>1120127272</first-msg>
			<last-msg>1120513564</last-msg>
		</top-subject>
		<top-subject rank="2">
			<subject>[announce]&#32;ndevfs&#32;-&#32;a&#32;"nano"&#32;devfs</subject>
			<n-messages>50</n-messages>
			<avg-size>5KB</avg-size>
			<total-size>216KB</total-size>
			<mostly-written-at>13:11</mostly-written-at>
			<first-msg>1119604688</first-msg>
			<last-msg>1120098149</last-msg>
		</top-subject>
		<top-subject rank="3">
			<subject>updated&#32;git&#32;howto&#32;for&#32;kernel&#32;hackers</subject>
			<n-messages>49</n-messages>
			<avg-size>5KB</avg-size>
			<total-size>202KB</total-size>
			<mostly-written-at>15:27</mostly-written-at>
			<first-msg>1119485345</first-msg>
			<last-msg>1119734942</last-msg>
		</top-subject>
		<top-subject rank="4">
			<subject>mercurial&#32;vs&#32;updated&#32;git&#32;howto&#32;for&#32;kernel&#32;hackers</subject>
			<n-messages>42</n-messages>
			<avg-size>5KB</avg-size>
			<total-size>183KB</total-size>
			<mostly-written-at>15:47</mostly-written-at>
			<first-msg>1119574594</first-msg>
			<last-msg>1120076866</last-msg>
		</top-subject>
		<top-subject rank="5">
			<subject>[git&#32;patch]&#32;remove&#32;devfs&#32;from&#32;2.6.12-git</subject>
			<n-messages>35</n-messages>
			<avg-size>5KB</avg-size>
			<total-size>171KB</total-size>
			<mostly-written-at>16:37</mostly-written-at>
			<first-msg>1119338966</first-msg>
			<last-msg>1119605076</last-msg>
		</top-subject>
	</top-subjects>
	<top-receivers>
		<top-receiver rank="1">
			<e-mail-addr>lkml</e-mail-addr>
			<n-messages>724</n-messages>
			<avg-size>9KB</avg-size>
			<total-size>6MB</total-size>
			<mostly-written-at>15:06</mostly-written-at>
		</top-receiver>
		<top-receiver rank="2">
			<e-mail-addr>andrew&#32;morton</e-mail-addr>
			<n-messages>397</n-messages>
			<avg-size>9KB</avg-size>
			<total-size>4MB</total-size>
			<mostly-written-at>14:28</mostly-written-at>
		</top-receiver>
		<top-receiver rank="3">
			<e-mail-addr>torvalds@osdl.org</e-mail-addr>
			<n-messages>92</n-messages>
			<avg-size>6KB</avg-size>
			<total-size>532KB</total-size>
			<mostly-written-at>13:41</mostly-written-at>
		</top-receiver>
		<top-receiver rank="4">
			<e-mail-addr>greg&#32;kh</e-mail-addr>
			<n-messages>79</n-messages>
			<avg-size>6KB</avg-size>
			<total-size>403KB</total-size>
			<mostly-written-at>14:06</mostly-written-at>
		</top-receiver>
		<top-receiver rank="5">
			<e-mail-addr>christoph&#32;lameter</e-mail-addr>
			<n-messages>53</n-messages>
			<avg-size>6KB</avg-size>
			<total-size>267KB</total-size>
			<mostly-written-at>14:13</mostly-written-at>
		</top-receiver>
	</top-receivers>
	<top-ccers>
		<top-ccers rank="1">
			<e-mail-addr>lkml</e-mail-addr>
			<n-messages>1430</n-messages>
			<avg-size>6KB</avg-size>
			<total-size>8MB</total-size>
			<mostly-written-at>13:54</mostly-written-at>
		</top-ccers>
		<top-ccers rank="2">
			<e-mail-addr>andrew&#32;morton</e-mail-addr>
			<n-messages>370</n-messages>
			<avg-size>5KB</avg-size>
			<total-size>2MB</total-size>
			<mostly-written-at>14:08</mostly-written-at>
		</top-ccers>
		<top-ccers rank="3">
			<e-mail-addr>torvalds@osdl.org</e-mail-addr>
			<n-messages>99</n-messages>
			<avg-size>6KB</avg-size>
			<total-size>527KB</total-size>
			<mostly-written-at>13:20</mostly-written-at>
		</top-ccers>
		<top-ccers rank="4">
			<e-mail-addr>greg@kroah.com</e-mail-addr>
			<n-messages>68</n-messages>
			<avg-size>6KB</avg-size>
			<total-size>368KB</total-size>
			<mostly-written-at>15:46</mostly-written-at>
		</top-ccers>
		<top-ccers rank="5">
			<e-mail-addr>arjan&#32;van&#32;de&#32;ven</e-mail-addr>
			<n-messages>61</n-messages>
			<avg-size>7KB</avg-size>
			<total-size>386KB</total-size>
			<mostly-written-at>12:32</mostly-written-at>
		</top-ccers>
	</top-ccers>
	<top-level-domains>
		<tld rank="1">
			<name>com</name>
			<freq>1231</freq>
			<avg-size>7KB</avg-size>
			<total-size>8MB</total-size>
		</tld>
		<tld rank="2">
			<name>org</name>
			<freq>597</freq>
			<avg-size>5KB</avg-size>
			<total-size>3MB</total-size>
		</tld>
		<tld rank="3">
			<name>de</name>
			<freq>351</freq>
			<avg-size>7KB</avg-size>
			<total-size>3MB</total-size>
		</tld>
		<tld rank="4">
			<name>net</name>
			<freq>283</freq>
			<avg-size>5KB</avg-size>
			<total-size>2MB</total-size>
		</tld>
		<tld rank="5">
			<name>uk</name>
			<freq>105</freq>
			<avg-size>6KB</avg-size>
			<total-size>587KB</total-size>
		</tld>
	</top-level-domains>
	<top-timezones>
		<tz rank="1">
			<name>+0200</name>
			<freq>971</freq>
			<avg-size>7KB</avg-size>
			<total-size>6MB</total-size>
		</tz>
		<tz rank="2">
			<name>-0700</name>
			<freq>808</freq>
			<avg-size>7KB</avg-size>
			<total-size>5MB</total-size>
		</tz>
		<tz rank="3">
			<name>-0400</name>
			<freq>421</freq>
			<avg-size>6KB</avg-size>
			<total-size>3MB</total-size>
		</tz>
		<tz rank="4">
			<name>+0100</name>
			<freq>228</freq>
			<avg-size>6KB</avg-size>
			<total-size>2MB</total-size>
		</tz>
		<tz rank="5">
			<name>+1000</name>
			<freq>162</freq>
			<avg-size>6KB</avg-size>
			<total-size>902KB</total-size>
		</tz>
	</top-timezones>
	<top-organisations>
		<org rank="1">
			<name>ypo4</name>
			<freq>34</freq>
			<bytes>204KB</bytes>
		</org>
		<org rank="2">
			<name>the&#32;domain&#32;of&#32;holomorphy</name>
			<freq>14</freq>
			<bytes>73KB</bytes>
		</org>
		<org rank="3">
			<name>suse/novell</name>
			<freq>11</freq>
			<bytes>183KB</bytes>
		</org>
		<org rank="4">
			<name>grupo&#32;pie</name>
			<freq>9</freq>
			<bytes>47KB</bytes>
		</org>
		<org rank="5">
			<name>computing&#32;service,&#32;university&#32;of&#32;cambridge,&#32;uk</name>
			<freq>7</freq>
			<bytes>32KB</bytes>
		</org>
	</top-organisations>
	<top-user-agents>
		<useragent rank="1">
			<name>mozilla</name>
			<freq>80</freq>
			<bytes>2MB</bytes>
		</useragent>
		<useragent rank="2">
			<name>evolution</name>
			<freq>53</freq>
			<bytes>2MB</bytes>
		</useragent>
		<useragent rank="3">
			<name>mozilla/5.0</name>
			<freq>48</freq>
			<bytes>2MB</bytes>
		</useragent>
		<useragent rank="4">
			<name>mutt/1.5.9i</name>
			<freq>47</freq>
			<bytes>2MB</bytes>
		</useragent>
		<useragent rank="5">
			<name>microsoft</name>
			<freq>30</freq>
			<bytes>345KB</bytes>
		</useragent>
	</top-user-agents>
	<messages-per-day>
		<Sunday><msgs>253</msgs><bytes>2MB</bytes></Sunday>
		<Monday><msgs>539</msgs><bytes>4MB</bytes></Monday>
		<Tuesday><msgs>576</msgs><bytes>4MB</bytes></Tuesday>
		<Wednesday><msgs>618</msgs><bytes>4MB</bytes></Wednesday>
		<Thursday><msgs>569</msgs><bytes>3MB</bytes></Thursday>
		<Friday><msgs>433</msgs><bytes>3MB</bytes></Friday>
		<Saturday><msgs>218</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>1</msgs><bytes>3KB</bytes></Mar>
		<Apr><msgs>0</msgs><bytes>0</bytes></Apr>
		<May><msgs>0</msgs><bytes>0</bytes></May>
		<Jun><msgs>2083</msgs><bytes>12MB</bytes></Jun>
		<Jul><msgs>1123</msgs><bytes>7MB</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>210</msgs><bytes>2MB</bytes></day-1>
		<day-2><msgs>116</msgs><bytes>661KB</bytes></day-2>
		<day-3><msgs>121</msgs><bytes>804KB</bytes></day-3>
		<day-4><msgs>126</msgs><bytes>808KB</bytes></day-4>
		<day-5><msgs>171</msgs><bytes>981KB</bytes></day-5>
		<day-6><msgs>201</msgs><bytes>2MB</bytes></day-6>
		<day-7><msgs>167</msgs><bytes>799KB</bytes></day-7>
		<day-8><msgs>11</msgs><bytes>158KB</bytes></day-8>
		<day-9><msgs>0</msgs><bytes>0</bytes></day-9>
		<day-10><msgs>1</msgs><bytes>3KB</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>0</msgs><bytes>0</bytes></day-14>
		<day-15><msgs>0</msgs><bytes>0</bytes></day-15>
		<day-16><msgs>0</msgs><bytes>0</bytes></day-16>
		<day-17><msgs>6</msgs><bytes>185KB</bytes></day-17>
		<day-18><msgs>9</msgs><bytes>33KB</bytes></day-18>
		<day-19><msgs>14</msgs><bytes>88KB</bytes></day-19>
		<day-20><msgs>65</msgs><bytes>300KB</bytes></day-20>
		<day-21><msgs>43</msgs><bytes>176KB</bytes></day-21>
		<day-22><msgs>110</msgs><bytes>802KB</bytes></day-22>
		<day-23><msgs>167</msgs><bytes>874KB</bytes></day-23>
		<day-24><msgs>205</msgs><bytes>959KB</bytes></day-24>
		<day-25><msgs>93</msgs><bytes>513KB</bytes></day-25>
		<day-26><msgs>118</msgs><bytes>739KB</bytes></day-26>
		<day-27><msgs>348</msgs><bytes>3MB</bytes></day-27>
		<day-28><msgs>362</msgs><bytes>2MB</bytes></day-28>
		<day-29><msgs>308</msgs><bytes>2MB</bytes></day-29>
		<day-30><msgs>235</msgs><bytes>2MB</bytes></day-30>
		<day-31><msgs>0</msgs><bytes>0</bytes></day-31>
	</messages-per-day-of-month>
	<messages-per-hour>
		<hour-1><msgs>82</msgs><bytes>448KB</bytes></hour-1>
		<hour-2><msgs>51</msgs><bytes>236KB</bytes></hour-2>
		<hour-3><msgs>39</msgs><bytes>216KB</bytes></hour-3>
		<hour-4><msgs>26</msgs><bytes>217KB</bytes></hour-4>
		<hour-5><msgs>21</msgs><bytes>80KB</bytes></hour-5>
		<hour-6><msgs>25</msgs><bytes>103KB</bytes></hour-6>
		<hour-7><msgs>43</msgs><bytes>176KB</bytes></hour-7>
		<hour-8><msgs>103</msgs><bytes>534KB</bytes></hour-8>
		<hour-9><msgs>192</msgs><bytes>799KB</bytes></hour-9>
		<hour-10><msgs>143</msgs><bytes>692KB</bytes></hour-10>
		<hour-11><msgs>209</msgs><bytes>2MB</bytes></hour-11>
		<hour-12><msgs>182</msgs><bytes>2MB</bytes></hour-12>
		<hour-13><msgs>151</msgs><bytes>731KB</bytes></hour-13>
		<hour-14><msgs>259</msgs><bytes>2MB</bytes></hour-14>
		<hour-15><msgs>224</msgs><bytes>2MB</bytes></hour-15>
		<hour-16><msgs>245</msgs><bytes>2MB</bytes></hour-16>
		<hour-17><msgs>170</msgs><bytes>2MB</bytes></hour-17>
		<hour-18><msgs>176</msgs><bytes>949KB</bytes></hour-18>
		<hour-19><msgs>123</msgs><bytes>789KB</bytes></hour-19>
		<hour-20><msgs>131</msgs><bytes>719KB</bytes></hour-20>
		<hour-21><msgs>120</msgs><bytes>694KB</bytes></hour-21>
		<hour-22><msgs>159</msgs><bytes>872KB</bytes></hour-22>
		<hour-23><msgs>230</msgs><bytes>2MB</bytes></hour-23>
	</messages-per-hour>
	<urls>
		<url-1><freq>2369</freq><url>http://vger.kernel.org/majordomo-info.html</url></url-1>
		<url-2><freq>2368</freq><url>http://www.tux.org/lkml/</url></url-2>
		<url-3><freq>30</freq><url>http://ckrm.sf.net</url></url-3>
		<url-4><freq>23</freq><url>http://freshmeat.net/projects/algorithms/</url></url-4>
		<url-5><freq>23</freq><url>http://www.ime.usp.br/~rbrito</url></url-5>
	</urls>
	<top-avg-resp>
		<resp-pers rank="1">
			<name>mark&#32;lord</name>
			<avg-resp-time>00:01:44</avg-resp-time>
			<n-replies>1</n-replies>
		</resp-pers>
		<resp-pers rank="2">
			<name>matti&#32;aarnio</name>
			<avg-resp-time>00:07:52</avg-resp-time>
			<n-replies>1</n-replies>
		</resp-pers>
		<resp-pers rank="3">
			<name>felipe&#32;w&#32;damasio</name>
			<avg-resp-time>00:09:16</avg-resp-time>
			<n-replies>1</n-replies>
		</resp-pers>
		<resp-pers rank="4">
			<name>jesper&#32;juhl</name>
			<avg-resp-time>00:11:26</avg-resp-time>
			<n-replies>1</n-replies>
		</resp-pers>
		<resp-pers rank="5">
			<name>jan&#32;kara</name>
			<avg-resp-time>00:12:21</avg-resp-time>
			<n-replies>1</n-replies>
		</resp-pers>
		<resp-pers rank="6">
			<name>jeff&#32;moyer</name>
			<avg-resp-time>00:28:39</avg-resp-time>
			<n-replies>7</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="Asynchronous I/O Gets A Boost"
  subject="Pending AIO work/patches"
  archive="http://groups.google.com/group/linux.kernel/msg/c5108bb01c1491ca?hl=en&amp;"
  posts="23"
  startdate="20 Jun 2005 04:01:54 -0800"
  enddate="24 Jun 2005 08:10:21 -0800"
>
<topic>FS: NFS</topic>
<topic>POSIX</topic>
<topic>Samba</topic>

<mention>Chris Mason</mention>
<mention>Zach Brown</mention>
<mention>Benjamin LaHaise</mention>

<p>Suparna Bhattacharya said:</p>

<quote who="Suparna Bhattacharya">

<p>Since AIO development is gaining momentum once again, ocfs2 and samba
both appear to be using AIO, NFS needs async semaphores etc, there appears
to be an increase in interest in straightening out some of the pending work
in this area. So this seems like a good time to re-post some of those patches
for discussion and decision.</p>

<p>Just to help sync up, here is an initial list based on the pieces that have
been in progress with patches in existence (please feel free to add/update
ones I missed or reflected inaccurately here):</p>

<ol>

<li>Updating AIO to use wait-bit based filtered wakeups (me/wli)<br />
        Status: Updated to 2.6.12-rc6, needs review</li>
<li>Buffered filesystem AIO read/write (me/Ben)<br />
        Status: aio write: Updated to 2.6.12-rc6, needs review<br />
        Status: aio read : Needs rework against readahead changes in mainline</li>
<li>POSIX AIO support (Bull: Laurent/Sebastian or Oracle: Joel)<br />
        Status: Needs review and discussion ?</li>
<li>AIO for pipes (Chris Mason)<br />
        Status: Needs update to latest kernels</li>
<li>Asynchronous semaphore implementation (Ben/Trond?)<br />
        Status: Posted - under development &amp; discussion</li>
<li>epoll - AIO integration (Zach Brown/Feng Zhou/wli)<br />
        Status: Needs resurrection ?</li>
<li>Vector AIO (aio readv/writev) (Yasushi Saito)<br />
        Status: Needs resurrection ?</li>

</ol>

<p>On my part, I'll start by re-posting (1) for discussion, and then
move to (2).</p>

</quote>

<p>Trond Myklebust said of item 5, <quote who="Trond Myklebust">I'm working on
something that attempts to define per-arch low-level primitives (essentially
wrappers to the current arch specific code). I expect to post something in
the next 2 weeks (or at least before the kernel summit)...</quote></p>

<p>S&#233;bastien Dugu&#233; said of item 3, <quote who="S&#233;bastien
Dugu&#233;">I'm currently running some benchmarks (sysbench + MySQL) using
AIO, results will be available soon. I will also release libposix-aio V0.5
at the same time. (2) will sure help cleanup our code.</quote></p>

<p>Elsewhere, Suparna said:</p>

<quote who="Suparna Bhattacharya">

<p>Here is a little bit of background on the motivation behind this set of
patches to update AIO for filtered wakeups:</p>

<ol>

<li>Since the introduction of filtered wakeups support and
    the wait_bit_queue infrastructure in mainline, it is no longer
    sufficient to just embed a wait queue entry in the kiocb
    for AIO operations involving filtered wakeups.</li>

<li>Given that filesystem reads/writes use filtered wakeups underlying
    wait_on_page_bit, fixing this becomes a pre-req for buffered
    filesystem AIO.</li>

<li>The wait_bit_queue infrastructure actually enables a cleaner
    implementation of filesystem AIO because it already provides
    for an action routine intended to allow both blocking and
    non-blocking or asynchronous behaviour.</li>

</ol>

<p>As I was rewriting the patches to address this, there is one other
change I made to resolve one remaining ugliness in my earlier
patchsets - special casing of the form</p>

<blockquote>

<p>        if (wait == NULL) wait = &amp;local_wait</p>

</blockquote>

<p>to switch to a stack based wait queue entry if not passed a wait
queue entry associated with an iocb.</p>

<p>To avoid this, I have tried biting the bullet by including a default
wait bit queue entry in the task structure, to be used instead of
on-demand allocation of a wait bit queue entry on stack.</p>

<p>All in all, these changes have (hopefully) simplified the code,
as well as made it more up-to-date. Comments (including
better names etc as requested by Zach) are welcome !</p>

</quote>

<p>Andi Kleen remarked, <quote who="Andi Kleen">I looked over the patches
and they look all fine to me.</quote> Benjamin LaHaise also liked Suparna's
patches, though he had his own suggestions. William Lee Irwin III added,
<quote who="William Lee Irwin III">I'm going to keep going over these until
I get tired of it for general bulletproofing purposes, but all indications
thus far are good.</quote></p>

<p>Later, Suparna said, <quote who="Suparna Bhattacharya">here are the
patches that implement the changes to make filesystem AIO read and write truly
asynchronous even without O_DIRECT. With these patches in place it will no
longer be necessary for the POSIX AIO library (from S?bastien et al) to force
O_DIRECT and memcpy for alignment. (Samba should find this useful)</quote>
And Jeremy Allison replied, <quote who="Jeremy Allison">Wonderful ! That's
exactly what we need - thanks. I could have fixed this in userspace but it
would be rather ugly.</quote></p>

</section>

<section
  title="Struggling To Remove DevFS"
  subject="[GIT PATCH] Remove devfs from 2.6.12-git"
  archive="http://groups.google.com/group/fa.linux.kernel/msg/2b772ea6ae7189e9?hl=en&amp;"
  posts="36"
  startdate="20 Jun 2005 22:29:26 -0800"
  enddate="24 Jun 2005 00:24:36 -0800"
>
<topic>FS: devfs</topic>
<topic>FS: initramfs</topic>
<topic>FS: ramfs</topic>
<topic>Hot-Plugging</topic>
<topic>Small Systems</topic>

<mention>Russell King</mention>
<mention>Arjan van de Ven</mention>

<p>Greg KH posted a patch to entirely remove DevFS from the 2.6 kernel. Andrew
Morton replied, <quote who="Andrew Morton">Whimper. Maybe we should
cook this in -mm for a bit, get a feeling for how many users hate us,
and how much?</quote> Greg replied, <quote who="Greg KH">There might be
some complaints. But I doubt they would be from anyone running a -mm tree
as those people kind of know the current status of things in the kernel.
There have been numerous warnings as to the fact that this was going away,
and I waited a _year_ to do this. Also, no disto uses devfs only (gentoo is
close, but offers users udev and a static /dev also.)</quote> Andrew said,
<quote who="Andrew Morton">What happens if we merge it and then the storm
of complaints over the ensuing four weeks makes us say "whoops, shouldna
done that [yet]"?</quote> Arjan van de Ven suggested simply disabling the
configuration option for a few weeks and see what that kicked up; and Andrew
and Greg both agreed this would be a good test of the waters.</p>

<p>Some folks spoke up in favor of keeping DevFS, because of the amount of
work it would be to switch to udev or some other solution. But other folks
who had once been pro-DevFS also spoke in favor of removing it now. For these
folks, they said the transition had been difficult, but as Bill Gatliff put
it, <quote who="Bill Gatliff">I've come this far somewhat reluctantly, but
can see that udev is a better long-term solution. Once devfs is gone, it's
easier for me to justify doing the work to go fully over to udev.</quote></p>

<p>Mike Bell made an impassioned plea to keep DevFS. He said:</p>

<quote who="Mike Bell">

<p>Once devfs is out, it's out for good. It is for all intents and purposes
impossible to maintain such a thing outside of mainline. You should know
that, udev's kernel infrastructure was developed pretty much entirely within
mainline and look how long it took to get even the present number of drivers
working with it.</p>

<p>It's pretty hard to put effort into devfs when said patches won't get
merged because it has already been decided by certain people that devfs
is not the way to go. For example the quick death without comment of the
earlier devfs-on-top-of-tmpfs patches.</p>

<p>Or, look at how hard of a time udev had gaining mindshare, how long it
was around for until now. Only shock tactics like marking devfs OBSOLETE
(at a time when udev was completely unready to replace devfs, making it far
from obsolete) got people switching.</p>

</quote>

<p>He also remarked somewhat bitterly, <quote who="Mike Bell">It breaks a lot
of my embedded setups which have read-only storage only and thus need /dev on
devfs or tmpfs. With early-userspace-udev-on-tmpfs being - in my experience -
still unready. Not to mention the general bother of having to change dozens
of desktop/server systems to work with udev, but I doubt you care about
that.</quote> Andrew spoke up to thank Mike for his input. Andrew agreed
that <quote who="Andrew Morton">that's quite a problem. We're certainly
causing people such as yourself to take on quite a lot of work. But on
the other hand we do want the kernel to progress sanely, and that sometimes
involves taking things out. I don't have enough info to know whether the
world would be a better place if we keep devfs, remove devfs or remove devfs
even later on. I don't think anyone knows, which is why we're taking this
little disable-it-and-see-who-shouts approach.</quote></p>

<p>Close by, David Brownell remarked, <quote who="David Brownell">I'd agree
that embedded setups are the ones that have been slowest to switch over, for
various reasons. One of them is that many LKML folk ignore embedded systems
issues; "just PC class or better". Another has been that the basic hotplug
scripts never worked well with "ash", and who's going to want to ship "bash"
and friends? :) Those problems seem resolved with 2.6.12 and current modutils
and udev. Leaving basically an "upgrade your userspace" requirement.</quote>
Miles Bader had to take issue with David's statement that LKML folks didn't
care about embedded systems. He said, <quote who="Miles Bader">maybe the
average LKMLer doesn't actively worry so much about embedded issues, I've
found many of them are very friendly and helpful in getting patches for
embedded/small-system functionality cleaned up and merged into the mainstream
kernel.</quote> Russell King also agreed with this.</p>

<p>Greg pointed out to Mike that DevFS had been on the chopping block for over
a year, and folks who used it should have been preparing for its eventual
demise. He said if people hadn't been planning ahead, it was pretty much
their own fault if they ended up with a lot of work now. He added, <quote
who="Greg KH">for embedded systems, there are packages to build it and put
it in initramfs. People have already done the work for you.</quote></p>

<p>Mike defended his position, and a flamewar seem imminent, but Greg said,
<quote who="Greg KH">I've taken the time that I would have spent responding
to this email thread, and to other people who for some reason don't like to
respond to mailing lists but want to pester me privatly with "don't delete
devfs" type emails, and written ndevfs, a replacement in less than 300 lines
(including all needed hooks in the kernel). If this does not meet your needs
to keep devfs for your embedded systems, please respond to the ndevfs post
with the patch on lkml.</quote> And that was it. The thread was over.</p>

</section>

<section
  title="Difficulties Probing For IDE Hardware"
  subject="PATCH: IDE - sensible probing for PCI systems"
  archive="http://groups.google.com/group/linux.kernel/msg/126d28f789388dd5?hl=en&amp;"
  posts="15"
  startdate="21 Jun 2005 04:23:22 -0800"
  enddate="27 Jun 2005 12:31:58 -0800"
>
<topic>Disks: IDE</topic>
<topic>PCI</topic>

<p>Alan Cox said:</p>

<quote who="Alan Cox">

<p>Old ISA/VESA systems sometimes put tertiary IDE controllers at addresses
0x1e8, 0x168, 0x1e0 or 0x160. Linux thus probes these addresses on x86
systems. Unfortunately some PCI systems now use these addresses for other
purposes which leads to users seeing minute plus hangs during boot or even
crashes.</p>

<p>The following patch (again has been in Fedora for a while) only probes
the obscure legacy ISA ports on machinea that are pre-PCI. This seems
to keep everyone happy and if there is someone with that utterly weird
corner case the ide= command line still provides a get out of jail card.
Unsurprisingly we've not found anyone so affected.</p>

</quote>

<p>Maciej W. Rozycki remarked, <quote who="Maciej W. Rozycki">FYI, for MIPS
for machines with a PCI bus we only probe for ISA IDE ports on if there's
a PCI-ISA or PCI-EISA bridge somewhere there. This might be a good idea for
the i386 and probably any platform using PCI as well.</quote> Alan replied:</p>

<quote who="Alan Cox">

<p>The primary/secondary ISA ports show up in PC systems because of the PCI
IDE class devices being in compatibility mode not native mode (so you can
still run old OS's). There are also a couple of older weird cases.</p>

<p>The PCI layer code is smart enough to figure out when a PCI and an ISA
probe find the same device and to put the entire thing together properly so
that aspect of it is ok.</p>

<p>For the 3rd and higher ports probing them isn't safe on a PCI box regardless
of the presence of ISA bridges so I don't think we need the extra complexity -
or am I missing something ?</p>

</quote>

<p>Maciej replied:</p>

<quote who="Maciej W. Rozycki">

<p>The code is OK with me, but I've been wondering whether a more general
approach would be possible. And poking blindly at any of these ports,
including the "traditional" primary and secondary IDE interfaces, is unsafe if
there is no legacy bridge in the system, because you either hit an innocent
arbitrary device that happens to have a BAR configured for that range or get
a master abort (I'm not sure what it results in for the i386 -- an NMI?) if
nobody listens.</p>

<p>Actually there should have always been a set of BARs for the (E)ISA in
legacy bridges, which would have made the whole mess be avoided, sigh...</p>

</quote>

</section>

<section
  title="Status Of SPI Development"
  subject="[RFC] SPI core -- revisited"
  archive="http://groups.google.com/group/fa.linux.kernel/msg/36f2e0dde9f16c0a?hl=en"
  posts="6"
  startdate="23 Jun 2005 04:18:54 -0800"
  enddate="24 Jun 2005 04:56:44 -0800"
>
<topic>I2C</topic>
<topic>SPI</topic>

<p>Dmitry Pervushin said, <quote who="dmitry pervushin">we finally decided
to rework the SPI core and now it its ready for your comments.. Here we have
several boards equipped with SPI bus, and use this spi core with these boards;
Drivers for them are available by request (...and if community approve this
patch)</quote> Jamey Hicks replied:</p>

<quote who="Jamey Hicks">

<p>I'm glad to see that work is progressing on SPI core. I've worked on
drivers on both ARM linux and Blackfin uclinux that use SPI and would prefer
that they not be platform specific.</p>

<p>What I've found in my Blackfin work is that I need asynchronous SPI
support. The driver starts an SPI transaction and receives a callback when
the SPI transaction has completed. The operations are similar to what you've
suggested, except that the message structure includes a pointer to a callback
and a void *data pointer.</p>

<p>The driver I'm working on is for the Chipcon CC2420 802.15.4 radio,
which uses SPI to access its registers and transmit and receive FIFOs.
In my CC2420, it queues SPI requests and initiates the next one when an SPI
transaction completes.</p>

</quote>

<p>Russell King replied:</p>

<quote who="Russell King">

<p>I worry about SPI at the moment because I can't see how it's being used
from just this code.</p>

<p>The worry I have is that it appears to contain an algorithm layer.  Would
this be better as a library for drivers to use, or something like that?</p>

<p>The reason I bring up this point is that my L3 layer is over-complex
for what it does (despite being about 378 lines) because it tried far
too hard to look like the I2C layer - soo much so I'm not happy with
it for mainline.</p>

</quote>

<p>Jamey thought a library could be a good idea. He said, <quote who="Jamey
Hicks">I think the only algorithm that really gets shared is the bitbanging
one, which could be a library, and otherwise it is controller specific and
might as well be in the adapter.</quote></p>

</section>

<section
  title="Abortive New ndevfs Replacement For DevFS"
  subject="[ANNOUNCE] ndevfs - a &quot;nano&quot; devfs"
  archive="http://groups.google.com/group/linux.kernel/msg/181639f54895f764?hl=en"
  posts="50"
  startdate="24 Jun 2005 00:18:08 -0800"
  enddate="29 Jun 2005 08:22:29 -0800"
>
<topic>FS: devfs</topic>
<topic>FS: sysfs</topic>
<topic>Version Control</topic>

<mention>J.A. Magallon</mention>

<p>Greg KH created ndevfs, a very small replacement for DevFS. He said,
<quote who="Greg KH">It doesn't allow subdirectories, and only uses LSB
compliant names. But it works, and should be enough for people to use,
if they just can't wean themselves off of the idea of an in-kernel fs to
provide device nodes. Now, with this, is there still anyone out there who
just can't live without devfs in their kernel?</quote> Mike Bell replied:</p>

<quote who="Mike Bell">

<p>this is pretty much all I asked for. A simple kernel
filesystem to export device nodes with names, rather than just the
numbers as sysfs does. The "detecting non-existant device names" thing
never meant anything to me personally, and if anyone does care this
gives them a simple place to add such a hook - unlike device names I
don't see why such a thing would be difficult to maintain as a patch.</p>

<p>It'll obviously need support for symlinks, directories and mknod. And
I'm not sure you can change the mode/owner of those devices yet. Also, I
have no idea what the device support is like yet (am currently in the
middle of nowhere, getting the latest bk to test this patch with over
my handphone would not be fun) but looking at the bit where it's getting
the names from the device model I can see it encountering problems with
oddly named devices. And any devices which aren't dynamic in udev
obviously aren't going to work with this patch either.</p>

</quote>

<p>He added, <quote who="Mike Bell">If devfs could be left alone (disabled,
if necessary) until something like this was working, I would be completely
mollified.</quote></p>

<p>J.A. Magallon also liked Greg's implementation. But Matt Mackall said to
Greg, <quote who="Matt Mackall">Hmm. I'm not pleased. Perhaps you're pleasing
the wrong people?</quote></p>

<p>And Greg replied:</p>

<quote who="Greg KH">

<p>You are so right, I am. I need to be pleasing me, and devfs in the kernel
is not the correct solution. I knew this 4 years ago when Pat and I started
working on the driver core (my main goal was to do it to support a udev-like
solution), and I still know this today.</p>

<p>So no, I'm not going to be submitting this. But what it is, is a nice
proof-of-concept for people who "just can't live without a in-kernel devfs"
to show that it can be done in less than 300 lines of code, and only 6 hooks
(2 functions in 3 different places) in the main kernel tree. That is managable
outside of the main kernel for years, with almost little to no effort.</p>

</quote>

<p>He added, <quote who="Greg KH">Thanks for calling me on this, I appreciate
it. You weren't the only one either, which is a good thing.</quote></p>

</section>

<section
  title="Bug Hunting With git"
  subject="Finding what change broke ARM"
  archive="http://groups.google.com/group/linux.kernel/msg/ad46cc5ced5e72a8?hl=en"
  posts="9"
  startdate="24 Jun 2005 01:19:51 -0800"
  enddate="24 Jun 2005 08:03:11 -0800"
>
<topic>Version Control</topic>

<mention>Dave Hansen</mention>

<p>Russell King said:</p>

<quote who="Russell King">

<p>When building current git for ARM, I see:</p>

<pre>  CC      arch/arm/mm/consistent.o
arch/arm/mm/consistent.c: In function `dma_free_coherent':
arch/arm/mm/consistent.c:357: error: `mem_map' undeclared (first use in this function)
arch/arm/mm/consistent.c:357: error: (Each undeclared identifier is reported only once
arch/arm/mm/consistent.c:357: error: for each function it appears in.)
make[2]: *** [arch/arm/mm/consistent.o] Error 1</pre>

<p>How can I find what change elsewhere in the kernel tree caused this
breakage?</p>

<p>With bk, you could ask for a per-file revision history of the likely
candidates, and then find the changeset to view the other related
changes.</p>

<p>With git... ?  We don't have per-file revision history so...</p>

</quote>

<p>Linus Torvalds replied:</p>

<quote who="Linus Torvalds">

<p>Ahhah! A real-world example of what cool things git can do.</p>

<p>Anyway, the first starting point is _exactly_ the same as under BK, except
the syntax is very different, and git does it better, in fact:</p>

<p>        git-whatchanged -p arch/arm/mm/consistent.c</p>

<p>However, in this case nothing has changed in that file over the whole
git history, so you get an empty answer. Let's go to phase two, but first
a comment:</p>

</quote>

<p>He went on, regarding Russell's comment about per-file history, saying:</p>

<quote who="Linus Torvalds">

<p>We don't _store_ changes as per-file revision histories, but we do store
it in a way where finding out what happened is efficient even per-file.
While a line-by-line "annotate" is not efficient, the "what changed"
certainly is.</p>

<p>And git actually does better than BK (or _any_ per-file history thing),
because "git-whatchanged" actually works over directories or multiple
independent files too, and it works purely on pathnames, so you can say
"git-whatchanged" for a file that has gone away to see _why_ it went away.
In most other systems it's really hard to see what happened to something
that isn't there any more..</p>

<p>Anyway, the problem clearly didn't happen because of any changes to that
file at all, so here per-file history simply doesn't help. But never fear,
we're not screwed yet. In particular, you will now obviously suspect that
since it wasn't that _file_ that changed, and since you know what changed
in the ARM code, it's going to be a generic linux header file change that
screwed you over.</p>

<p>So phase #2 is to do</p>

<p>        git-whatchanged -p include/linux</p>

<p>(which shows every commit that touches include/linux, and shows that part
as a patch, thus the "-p"). That starts up a pager on the results by
default, so we just be stupid about it and do a "/mem_map" to look for
changes that mention mem_map. Maybe we'll be lucky.</p>

<p>Even that doesn't show a whole lot: but it does point a very suspicious
finger to the recently merged sparse-mem stuff from Andy Whitcroft,
though.</p>

<p>And now you have a commit to look at, namely the "sparsemem memory model"
one, commit ID d41dee369bff3b9dcb6328d4d822926c28cc2594.</p>

<p>In fact, looking at it, I think it's simply config option changes, and
probably the SPARSEMEM config option that has preempted your lack of
DISCONTIGMEM support.  But now you have somebody to blame and to ask for
help from: Andy Whitcroft and Dave Hansen, whom I've cc'd.</p>

<p>I might start phase #3 with</p>

<p>        git-whatchanged -p mm/Kconfig arch/arm/Kconfig</p>

<p>but at this point you may already have enough of a clue that you don't
even care any more.</p>

</quote>

</section>

<section
  title="New Oops Reporting Tool (ORT)"
  subject="[ANNOUNCE] ORT - Oops Reporting Tool"
  archive="http://groups.google.com/group/linux.kernel/msg/40199844808ec0e1?hl=en"
  posts="7"
  startdate="24 Jun 2005 02:50:59 -0800"
  enddate="26 Jun 2005 10:58:30 -0800"
>

<p>Michal Piotrowski said:</p>

<quote who="Michal Piotrowski">

<p>Here is our (see copyright section ;)) simple script that help to create
a bug report:<br />
<a href="http://stud.wsi.edu.pl/~piotrowskim/files/ort/beta/ort-b1.tar.bz2">http://stud.wsi.edu.pl/~piotrowskim/files/ort/beta/ort-b1.tar.bz2</a>
&lt;<a href="http://stud.wsi.edu.pl/%7Epiotrowskim/files/ort/ort-a5.tar.bz2">http://stud.wsi.edu.pl/%7Epiotrowskim/files/ort/ort-a5.tar.bz2</a>&gt;</p>

<p>Why do we do this?<br />
Because many people don't have time to prepare a good (with all
importrant pieces of information) bug report.</p>

<p>How does it work?<br />
It creates file with information about your system (software, hardware,
used modules etc.), add file with oops into it and in the future sends
it to the chosen mainterner or lkml.</p>

<p>How can you help?<br />
If you know something about bash scripting you can review it, add some
useful features and make some optimalisations. Or just send me an idea.</p>

</quote>

<p>There was a generally positive reaction, and various folks offered small
suggestions for improvements.</p>

</section>

<section
  title="Linux 2.6.12-mm2 Released; Crash Bug Identified And Fixed"
  subject="2.6.12-mm2"
  archive="http://groups.google.com/group/fa.linux.kernel/msg/313b53d11d5c1ba9?hl=en"
  posts="60"
  startdate="26 Jun 2005 03:03:29 -0800"
  enddate="30 Jun 2005 21:15:55 -0800"
>
<topic>Hyperthreading</topic>
<topic>Kernel Release Announcement</topic>
<topic>PCI</topic>
<topic>SMP</topic>

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

<quote who="Andrew Morton">

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

<ul>

<li>

<p>A reminder that there is a vger mailing list for tracking patches which
are added to -mm.  Do</p>

<p>    `echo subscribe mm-commits | mail majordomo@vger.kernel.org'</p>

</li>

<li>Lots of merges.  I'm holding off on the 80-odd pcmcia patches until we get
  the recent PCI breakage sorted out.</li>

<li>Big arch/cris update.</li>

</ul>

</quote>

<p>Reuben Farrelly identified a reproducible bug introduced with this release.
An oops <quote who="Reuben Farrelly">seems to happen at slightly different
places in the bootup, especially at the end.</quote> Andrew replied, <quote
who="Andrew Morton">Why do you keep breaking my kernel?</quote></p>

<p>Andrew asked Reuben to send in his .config file, which he did; and
Andrew replied, <quote who="Andrew Morton">The bug is in the new spinlock
debugging code itself. Ingo, can you test that .config please? Reuben,
I guess disabling CONFIG_DEBUG_SPINLOCK will get you going.</quote></p>

<p>Ingo Molnar banged away at this configuration, and finally reported:</p>

<quote who="Ingo Molnar">

<p>couldnt reproduce it on an UP box, nor on an SMP/HT 2/4-way box, but it
finally triggered on a 2-way SMP box.</p>

<p>the bug is that current-&gt;pid is not a unique identifier on SMP
(doh!).</p>

<p>The patch below fixes the bug - which also happens to be a speedup for
the debugging code, as the -&gt;pid dereferencing does not have to be done
anymore. Also, i've disabled the panicing for now.</p>

</quote>

<p>Reuben confirmed that Ingo's patch fixed the problem.</p>

</section>

<section
  title="Dell Systems Management Base Driver"
  subject="[PATCH][RFC 2] char: Add Dell Systems Management Base driver"
  archive="http://groups.google.com/group/linux.kernel/msg/23425208d087a2e7?hl=en"
  posts="5"
  startdate="26 Jun 2005 15:05:44 -0800"
  enddate="27 Jun 2005 12:51:52 -0800"
>
<topic>Ioctls</topic>

<p>Doug Warzecha said:</p>

<quote who="Doug Warzecha">

<p>This patch adds the Dell Systems Management Base driver.</p>

<p>The Dell Systems Management Base driver is a character driver that
implements ioctls for Dell systems management software to use to communicate
with the driver. The driver provides support for Dell systems management
software to manage the following Dell PowerEdge systems: 300, 1300, 1400,
400SC, 500SC, 1500SC, 1550, 600SC, 1600SC, 650, 1655MC, 700, and 750.</p>

<p>By making a contribution to this project, I certify that: The contribution
was created in whole or in part by me and I have the right to submit it
under the open source license indicated in the file.</p>

</quote>

</section>

<section
  title="Patch Review For Upcoming 2.6.12.2 Stable Release; Some Dissent On Acceptance Policies"
  subject="[00/07] -stable review"
  archive="http://groups.google.com/group/fa.linux.kernel/msg/488288ee0178304b?hl=en"
  posts="23"
  startdate="27 Jun 2005 14:46:51 -0800"
  enddate="01 Jul 2005 03:32:56 -0800"
>

<p>Chris Wright said:</p>

<quote who="Chris Wright">

This is the start of the stable review cycle for the 2.6.12.2 release.  There
are 7 patches in this series, all will be posted as a response to this one.
If anyone has any issues with these being applied, please let us know.  If
anyone is a maintainer of the proper subsystem, and wants to add a
signed-off-by: line to the patch, please respond with it.

These patches are sent out with a number of different people on the Cc: line.
If you wish to be a reviewer, please email stable@kernel.org to add your name
to the list.  If you want to be off the reviewer list, also email us.

Responses should be made by Wed, Jun 29, 23:00 UTC.  Anything received after
that time, might be too late.

</quote>

<p>Most of the patches were quite small, but one was larger, and Jean Delvare
had some objections. First of all, the description of the patch was, "Return to
previous held-logic of calling scsi_add_host() only after the board has been
completely initialized. Also return pci_*() error-codes during probe failure
paths. This also corrects an issue where only lun 0 is being scanned for a
given port." Jean felt this was not complete enough, and didn't identify any
critical bugs to fix. He also went over the patch piece by piece, and found
several areas that he felt did not belong in the -stable tree. But Andrew
Morton said, <quote who="Andrew Morton">The threshold for "what belongs
in -stable" is a) set too high and b) over-zealously enforced.</quote> He
added that the patch was "obviously safe", and went on, <quote who="Andrew
Morton">Let's use our brains on these patches and not become beholden
to doctrine, OK?</quote> Chris agreed with these sentiments. But Jean
replied, <quote who="Jean Delvare">Why did we write down and discuss <a
href="http://kerneltraffic.org/kernel-traffic/kt20050403_303.html#9">rules
for -stable</a> in the first place then? Of the 9 rules Greg first listed as
conditions for a patch to be accepted in -stable, this patch breaks 4 (it is
bigger than 100 lines, if fixes more than one thing, including one that doesn't
bother people as far as I can see, and it has trivial fixes in it.) So I
don't think I am actually splitting hair as you seemed to suggest.</quote></p>

</section>

<section
  title="Linux 2.6.13-rc1 Released"
  subject="Linux 2.6.13-rc1"
  archive="http://groups.google.com/group/linux.kernel/msg/ec79ee388745c247?hl=en"
  posts="15"
  startdate="28 Jun 2005 22:30:54 -0800"
  enddate="29 Jun 2005 14:34:54 -0800"
>
<topic>Digital Video Broadcasting</topic>
<topic>Kernel Release Announcement</topic>
<topic>Networking</topic>

<p>Linus Torvalds announced Linux 2.6.13-rc1, saying:</p>

<quote who="Linus Torvalds">

<p>There was a lot of stuff pending after 2.6.12, and in the week and a half
since the release, the current diff against it has grown to almost three
megabytes compressed.</p>

<p>Which is actually normal for a -rc1 release judging by the two last ones,
but it usually takes us longer than ten days to get there. Which just shows
that 2.6.12 was brewing for too long, but we can also think positively and
say that perhaps it also seems to imply that this git thing is working out
and not slowing people down.</p>

<p>Anyway, I really don't want to drag out 2.6.13 as long as 2.6.12 took,
and we don't have any reason to anyway, so let's try to see if we can calm
things down again, and people who are thinking about writing new code might
think about spending some quality time looking at the existing code and
patches instead.</p>

<p>Now, that big patch ends up being spread out over 2069 commits, and
a noticeable chunk of it is actually the new xtensa architecture that got
merged, but that still leaves a lot of patches all over the place (things like
a few new console fonts, for example ;). The shortlog is over 100kB in size,
which means that I think linux-kernel won't take it if I include it here,
so I won't. Similarly, the diffstat is 200kB, partly because of the spread
out nature of the pacthes.</p>

<p>ARM, x86[-64], ppc, sparc updates, networking, sound, infiniband, input
layer, ISDN, MD, DVB, V4L, network drivers, pcmcia, isofs, jfs, nfs, xfs,
knfsd.. You name it.</p>

<p>Git trees and traditional patches/tar-balls are out there, or at least
slowly mirroring out.</p>

</quote>

<p>Bill Davidsen remarked:</p>

<quote who="Bill Davidsen">

<p>Can't comment on git slowing things down, but I have to think that the
time it took, and was ALLOWED to take, is a result of the -stable fixes
working very well indeed. The fact that the 2.6.11.X was available to
take the presure off to get something out of the door.</p>

<p>My big thank you to the stable folks, I personally think this idea is
working as intended.</p>

</quote>

</section>

<section
  title="Linux 2.6.12.2 Released"
  subject="Linux 2.6.12.2"
  archive="http://groups.google.com/group/fa.linux.kernel/msg/e2ab117330e47fbf?hl=en"
  posts="2"
  startdate="29 Jun 2005 16:20:46 -0800"
  enddate="29 Jun 2005 16:21:15 -0800"
>

<p>Chris Wright announced Linux 2.6.12.2, saying:</p>

<quote who="Chris Wright">

<p>We (the -stable team) are announcing the release of the 2.6.12.2 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.12.1 and 2.6.12.2, as it is small enough to do so.</p>

<p>The updated 2.6.12.y git tree can be found at:<br />
        rsync://rsync.kernel.org/pub/scm/linux/kernel/git/gregkh/linux-2.6.12.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="Status Of Merging FUSE"
  subject="FUSE merging?"
  archive="http://groups.google.com/group/fa.linux.kernel/msg/a3978a9da2c6e5cb?hl=en"
  posts="78"
  startdate="30 Jun 2005 01:19:36 -0800"
  enddate="04 Jul 2005 02:46:04 -0800"
>
<topic>FS: NFS</topic>
<topic>Security</topic>

<mention>Miklos Szeredi</mention>

<p>Miklos Szeredi asked about the status of merging FUSE into the mainline
kernel. There started to be a bit of an argument over various ugly security
aspects, but at one point Andrew Morton said:</p>

<quote who="Andrew Morton">

<p>I believe that the requirement which fuse_allow_task() attempts to satisfy
is legitimate and is useful to FUSE users.</p>

<p>The fact that, AFAIK, nobody as found a way to implement it more nicely is
a Linux problem, not a FUSE problem.</p>

<p>Given that the actual amount of code involved is small, centralised and
well known about we can easily fix it up later if/when new infrastructure
or new ideas become available.</p>

<p>So unless someone is able to come up with a better approach in the next few
days I'm inclined to say "we suck" and merge the thing as-is.</p>

<p>However, a few things:</p>

<ul>

<li>is there anything in the current implementation of the permission stuff
which might tie our hands if it is later reimplemented? IOW: does the current
FUSE user interface in any way lock us into the current FUSE implementation
(fuse_allow_task())?</li>

<li>the fuse mount options don't seem to be documented</li>

<li>aren't we going to remove the nfs semi-server feature?</li>

<li>Frank points out that a user can send a sigstop to his own setuid(0) task
and he intimates that this could cause DoS problems with FUSE. More details
needed please?</li>

<li>I don't recall seeing an exhaustive investigation of how an unprivileged
user could use a FUSE mount to implement DoS attacks against other users or
against root.</li>

</ul>

</quote>

<p>A bunch of folks started hashing out a better implementation; elsewhere,
Andrew asked, <quote who="Andrew Morton">dumb question: what does FUSE
offer over simply using NFS protocol to talk to the userspace filesystem
driver?</quote> Bert Hubert replied, <quote who="Bert Hubert">NFS currently
does not currently engender warm feelings wrt ease of programming and quality
in general - especially under Linux sadly enough. It is also a narrow window
through which to speak to the rich set of options, flags, attributes and
features the Linux kernel offers. I think Solaris used to implement bind
mounts through loopback NFS, but that went out of fashion as well.</quote></p>

<p>Miklos also started listing benefits, but at one point Andrew remarked,
<quote who="Andrew Morton">Sorry, but I'm not buying it. I still don't see a
solid reason why all this could not be done with nfs/v9fs, some kernel tweaks
and the rest in userspace. It would take some effort, but that effort would
end up strengthening existing kernel capabilities rather than adding brand
new things, which is good.</quote> Anton Altaparmakov replied:</p>

<quote who="Anton Altaparmakov">

<p>FUSE is a generic FS API which is _very_ easy to write an FS for
(learning curve is about 10-15 minutes starting after you have unpacked
the fuse source code, at least it took me that long to start writing an
FS based on the example one provided).  NFS is not anything like that.</p>

<p>Also can the NFS approach provide me with different content depending on
the uid of the accessing process?  With FUSE that is easy as pie.  Even
easier than that actually...</p>

</quote>

<p>He added in a subsequent post:</p>

<quote who="Anton Altaparmakov">

<p>I forgot: And doesn't NFS require stable inode numbers and other
"invariables" like that for it to work? FUSE doesn't and those requirements
are a real PITA in a lot of cases where there simply are no inodes and the
numbers are synthetic and change on each remount or even on each access
after the dentry has expired...</p>

<p>And I always thought that doing FS in userspace via NFS is considered
an ugly hack. I didn't have the impression that that had changed recently.
(-;</p>

</quote>

<p>The discussion did not result in any concrete yay or nay on FUSE.</p>

</section>

<section
  title="Linux 2.6.13-rc1-mm1 Released"
  subject="2.6.13-rc1-mm1"
  archive="http://groups.google.com/group/linux.kernel/msg/05313317cb166a38?hl=en"
  posts="23"
  startdate="01 Jul 2005 03:40:18 -0800"
  enddate="04 Jul 2005 12:05:44 -0800"
>
<topic>Bug Tracking</topic>
<topic>Kernel Release Announcement</topic>
<topic>Power Management: ACPI</topic>

<mention>Andrew Morton</mention>

<p>Andrew Morton announced Linux 2.6.13-rc1-mm1, saying:</p>

<quote who="2.6.13-rc1-mm1">

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

<ul>

<li>The ACPI devel tree is back, and it's
huge. Please report ACPI bugs using kernel bugzilla at <a
href="http://bugme.osdl.org">http://bugme.osdl.org</a>. If that's all too
much hassle then please at least cc acpi-devel@lists.sourceforge.net.</li>

</ul>

</quote>

</section>

<section
  title="Linux 2.4.32-pre1 Released"
  subject="Linux 2.4.32-pre1"
  archive="http://groups.google.com/group/fa.linux.kernel/msg/051d2eea15a4cc34?hl=en"
  posts="1"
  startdate="04 Jul 2005 04:47:53 -0800"
>
<topic>Security</topic>

<p>Marcelo Tosatti announced Linux 2.4.32-pre1, saying:</p>

<quote who="Marcelo Tosatti">

<p>Here goes the first -pre of v2.4.32.</p>

<p>It contains a small amount of fixes, most notably x86_64 security
updates.</p>

<p>Check for canonical addresses in ptrace (CAN-2005-1762)<br />
Fix canonical checking for segment registers in ptrace (CAN-2005-0756)<br />
Fix buffer overflow in 32bit execve on x86-64/ia64 (CAN-2005-1768)</p>

</quote>

</section>

<section
  title="Linux 2.6.13-rc2 Released"
  subject="Linux 2.6.13-rc2"
  archive="http://groups.google.com/group/fa.linux.kernel/msg/f6209d1992aeea58?hl=en"
  posts="33"
  startdate="05 Jul 2005 20:32:34 -0800"
  enddate="06 Jul 2005 15:01:11 -0800"
>
<topic>Compression</topic>
<topic>Kernel Release Announcement</topic>
<topic>SMP</topic>

<p>Linus Torvalds announced Linux 2.6.13-rc2, saying:</p>

<quote who="Linus Torvalds">

<p>Ok, -rc2 is pretty small, with the bulk of the diff being some defconfig
updates, and cleanup of xtensa (notably removal of another copy of zlib).</p>

<p>But there are ia64/arm/ppc64 updates and the TSO update from Davem is
probably worth pointing out to people. And various smaller things which are
more easily just seen from the shortlog.</p>

<p>Among the one-liners of note is the silly block level spinlock bugfix that
obviously hit -rc1 and made itself felt on SMP and preempt under moderate
IO loads.</p>

</quote>

</section>

<section
  title="SecurityFS Generic Security Filesystem For Security Modules"
  subject="[PATCH] add securityfs for all LSMs to use"
  archive="http://groups.google.com/group/fa.linux.kernel/msg/4cf1d4953eb50c70?hl=en"
  posts="6"
  startdate="06 Jul 2005 00:17:25 -0800"
  enddate="07 Jul 2005 13:31:52 -0800"
>
<topic>FS: sysfs</topic>

<p>Greg KH said, <quote who="Greg KH">Here's a small patch against 2.6.13-rc2
that adds securityfs, a virtual fs that all LSMs can use instead of creating
their own. The fs should be mounted at /sys/kernel/security, and the fs
creates that mount point. This will make the LSB people happy that we
aren't creating a new /my_lsm_fs directory in the root for every different
LSM.</quote> Mike Waychison asked, <quote who="Mike Waychison">How are LSM
modules supposed to use these files? or is that forthcoming?</quote> Greg
replied, <quote who="Greg KH">It's up to them to use it. See the patches
from Serge that convert seclvl to use it instead of sysfs.</quote></p>

</section>

</kc>

