<?xml version="1.0" ?>

<kc>

<title>Kernel Traffic</title>

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

<issue num="324" date="04 Sep 2005 00:00:00 -0800" />

<mailbox-stats>
	<global-stats>
		<generated-at>Sat Sep  3 22:59:13 2005</generated-at>
		<first-message>Sun Jul 31 16:36:31 2005</first-message>
		<last-message>Fri Aug 19 10:40:27 2005</last-message>
		<totals>
			<n-messages>1730</n-messages>
			<n-is-reply>1329</n-is-reply>
			<avg-resp-time>663:29:21</avg-resp-time>
			<n-pgp-signed>64</n-pgp-signed>
			<total-size>10MB</total-size>
			<avg-size>6KB</avg-size>
			<n-attachments>49</n-attachments>
			<att-size>395KB</att-size>
			<bussiest-day-in-n day="2005-08-12"><n-msgs>298</n-msgs><n-bytes>2MB</n-bytes></bussiest-day-in-n>
			<bussiest-day-in-bytes day="2005-08-12"><n-msgs>298</n-msgs><n-bytes>2MB</n-bytes></bussiest-day-in-bytes>
			<n-writers>610</n-writers>
			<wrote-more-then-1-message>242</wrote-more-then-1-message>
			<n-lines>146705</n-lines>
			<header-size>93384</header-size>
			<n-user-agents>57</n-user-agents>
			<n-organisations>40</n-organisations>
			<n-toplevel-domains>34</n-toplevel-domains>
			<avg-spam-score>-13.699364</avg-spam-score>
				<spammiest-writer><score>2.799000</score><name>info</name></spammiest-writer>
		</totals>
		<averages>
			<lines-per-message>84</lines-per-message>
			<lines-per-header>53</lines-per-header>
			<header-percent-of-message>63.65%</header-percent-of-message>
			<header-percent-of-total>46.38%</header-percent-of-total>
			<line-length>31</line-length>
		</averages>
		<importance>
			<low>0.00%</low>
			<normal>0.23%</normal>
			<high>0.00%</high>
		</importance>

	</global-stats>
	<top-writers>
		<top-writer rank="1">
			<e-mail-addr>blaisorblade</e-mail-addr>
			<n-messages>69</n-messages>
			<avg-size>6KB</avg-size>
			<total-size>408KB</total-size>
			<mostly-written-at>20:04</mostly-written-at>
		</top-writer>
		<top-writer rank="2">
			<e-mail-addr>steven&#32;rostedt</e-mail-addr>
			<n-messages>57</n-messages>
			<avg-size>6KB</avg-size>
			<total-size>293KB</total-size>
			<mostly-written-at>14:28</mostly-written-at>
		</top-writer>
		<top-writer rank="3">
			<e-mail-addr>andi&#32;kleen</e-mail-addr>
			<n-messages>49</n-messages>
			<avg-size>4KB</avg-size>
			<total-size>168KB</total-size>
			<mostly-written-at>07:37</mostly-written-at>
		</top-writer>
		<top-writer rank="4">
			<e-mail-addr>con&#32;kolivas</e-mail-addr>
			<n-messages>34</n-messages>
			<avg-size>7KB</avg-size>
			<total-size>231KB</total-size>
			<mostly-written-at>14:03</mostly-written-at>
		</top-writer>
		<top-writer rank="5">
			<e-mail-addr>alan&#32;cox</e-mail-addr>
			<n-messages>30</n-messages>
			<avg-size>4KB</avg-size>
			<total-size>106KB</total-size>
			<mostly-written-at>12:29</mostly-written-at>
		</top-writer>
	</top-writers>
	<top-subjects>
		<top-subject rank="1">
			<subject>[patch]&#32;i386&#32;no-idle-hz&#32;aka&#32;dynamic-ticks&#32;3</subject>
			<n-messages>44</n-messages>
			<avg-size>5KB</avg-size>
			<total-size>212KB</total-size>
			<mostly-written-at>12:47</mostly-written-at>
			<first-msg>1123106092</first-msg>
			<last-msg>1124175167</last-msg>
		</top-subject>
		<top-subject rank="2">
			<subject>[rfc]&#32;[patch]&#32;cache&#32;pollution&#32;aware&#32;__copy_from_user_ll()</subject>
			<n-messages>42</n-messages>
			<avg-size>5KB</avg-size>
			<total-size>197KB</total-size>
			<mostly-written-at>13:00</mostly-written-at>
			<first-msg>1124048488</first-msg>
			<last-msg>1124468978</last-msg>
		</top-subject>
		<top-subject rank="3">
			<subject>ncq&#32;support&#32;nvidia&#32;nforce4&#32;(ck804)&#32;sataii</subject>
			<n-messages>37</n-messages>
			<avg-size>4KB</avg-size>
			<total-size>138KB</total-size>
			<mostly-written-at>15:14</mostly-written-at>
			<first-msg>1123703988</first-msg>
			<last-msg>1124378580</last-msg>
		</top-subject>
		<top-subject rank="4">
			<subject>[patch]&#32;ide:&#32;don't&#32;offer&#32;ide_generic&#32;on&#32;ia64</subject>
			<n-messages>33</n-messages>
			<avg-size>5KB</avg-size>
			<total-size>138KB</total-size>
			<mostly-written-at>16:15</mostly-written-at>
			<first-msg>1123799083</first-msg>
			<last-msg>1124261323</last-msg>
		</top-subject>
		<top-subject rank="5">
			<subject>[rfc][patch&#32;2.6.13-rc6]&#32;add&#32;dell&#32;systems&#32;management&#32;base&#32;driver&#32;(dcdbas)&#32;with&#32;sysfs&#32;support</subject>
			<n-messages>27</n-messages>
			<avg-size>7KB</avg-size>
			<total-size>188KB</total-size>
			<mostly-written-at>13:24</mostly-written-at>
			<first-msg>1124147122</first-msg>
			<last-msg>1124278321</last-msg>
		</top-subject>
	</top-subjects>
	<top-receivers>
		<top-receiver rank="1">
			<e-mail-addr>linux-kernel@vger.kernel.org</e-mail-addr>
			<n-messages>307</n-messages>
			<avg-size>9KB</avg-size>
			<total-size>3MB</total-size>
			<mostly-written-at>14:11</mostly-written-at>
		</top-receiver>
		<top-receiver rank="2">
			<e-mail-addr>andrew&#32;morton</e-mail-addr>
			<n-messages>137</n-messages>
			<avg-size>7KB</avg-size>
			<total-size>851KB</total-size>
			<mostly-written-at>17:28</mostly-written-at>
		</top-receiver>
		<top-receiver rank="3">
			<e-mail-addr>andi&#32;kleen</e-mail-addr>
			<n-messages>56</n-messages>
			<avg-size>5KB</avg-size>
			<total-size>275KB</total-size>
			<mostly-written-at>14:58</mostly-written-at>
		</top-receiver>
		<top-receiver rank="4">
			<e-mail-addr>linus&#32;torvalds</e-mail-addr>
			<n-messages>44</n-messages>
			<avg-size>6KB</avg-size>
			<total-size>239KB</total-size>
			<mostly-written-at>15:10</mostly-written-at>
		</top-receiver>
		<top-receiver rank="5">
			<e-mail-addr>steven&#32;rostedt</e-mail-addr>
			<n-messages>37</n-messages>
			<avg-size>5KB</avg-size>
			<total-size>167KB</total-size>
			<mostly-written-at>15:07</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>747</n-messages>
			<avg-size>5KB</avg-size>
			<total-size>4MB</total-size>
			<mostly-written-at>14:25</mostly-written-at>
		</top-ccers>
		<top-ccers rank="2">
			<e-mail-addr>akpm@osdl.org</e-mail-addr>
			<n-messages>158</n-messages>
			<avg-size>6KB</avg-size>
			<total-size>944KB</total-size>
			<mostly-written-at>12:57</mostly-written-at>
		</top-ccers>
		<top-ccers rank="3">
			<e-mail-addr>andi&#32;kleen</e-mail-addr>
			<n-messages>60</n-messages>
			<avg-size>5KB</avg-size>
			<total-size>265KB</total-size>
			<mostly-written-at>14:09</mostly-written-at>
		</top-ccers>
		<top-ccers rank="4">
			<e-mail-addr>mingo@elte.hu</e-mail-addr>
			<n-messages>55</n-messages>
			<avg-size>8KB</avg-size>
			<total-size>422KB</total-size>
			<mostly-written-at>17:01</mostly-written-at>
		</top-ccers>
		<top-ccers rank="5">
			<e-mail-addr>jdike@addtoit.com</e-mail-addr>
			<n-messages>46</n-messages>
			<avg-size>5KB</avg-size>
			<total-size>230KB</total-size>
			<mostly-written-at>20:05</mostly-written-at>
		</top-ccers>
	</top-ccers>
	<top-level-domains>
		<tld rank="1">
			<name>com</name>
			<freq>741</freq>
			<avg-size>6KB</avg-size>
			<total-size>5MB</total-size>
		</tld>
		<tld rank="2">
			<name>org</name>
			<freq>291</freq>
			<avg-size>5KB</avg-size>
			<total-size>2MB</total-size>
		</tld>
		<tld rank="3">
			<name>de</name>
			<freq>187</freq>
			<avg-size>6KB</avg-size>
			<total-size>952KB</total-size>
		</tld>
		<tld rank="4">
			<name>net</name>
			<freq>101</freq>
			<avg-size>6KB</avg-size>
			<total-size>568KB</total-size>
		</tld>
		<tld rank="5">
			<name>uk</name>
			<freq>75</freq>
			<avg-size>4KB</avg-size>
			<total-size>289KB</total-size>
		</tld>
	</top-level-domains>
	<top-timezones>
		<tz rank="1">
			<name>+0200</name>
			<freq>569</freq>
			<avg-size>6KB</avg-size>
			<total-size>4MB</total-size>
		</tz>
		<tz rank="2">
			<name>-0700</name>
			<freq>342</freq>
			<avg-size>6KB</avg-size>
			<total-size>2MB</total-size>
		</tz>
		<tz rank="3">
			<name>-0400</name>
			<freq>290</freq>
			<avg-size>6KB</avg-size>
			<total-size>2MB</total-size>
		</tz>
		<tz rank="4">
			<name>+0100</name>
			<freq>117</freq>
			<avg-size>4KB</avg-size>
			<total-size>467KB</total-size>
		</tz>
		<tz rank="5">
			<name>+1000</name>
			<freq>87</freq>
			<avg-size>6KB</avg-size>
			<total-size>505KB</total-size>
		</tz>
	</top-timezones>
	<top-organisations>
		<org rank="1">
			<name>kihon&#32;technologies</name>
			<freq>51</freq>
			<bytes>260KB</bytes>
		</org>
		<org rank="2">
			<name>montavista&#32;software</name>
			<freq>15</freq>
			<bytes>73KB</bytes>
		</org>
		<org rank="3">
			<name>red&#32;hat,&#32;inc.</name>
			<freq>10</freq>
			<bytes>56KB</bytes>
		</org>
		<org rank="4">
			<name>dervishd</name>
			<freq>8</freq>
			<bytes>32KB</bytes>
		</org>
		<org rank="5">
			<name>fujitsu&#32;siemens&#32;computers</name>
			<freq>7</freq>
			<bytes>30KB</bytes>
		</org>
	</top-organisations>
	<top-user-agents>
		<useragent rank="1">
			<name>mozilla</name>
			<freq>43</freq>
			<bytes>773KB</bytes>
		</useragent>
		<useragent rank="2">
			<name>evolution</name>
			<freq>41</freq>
			<bytes>2MB</bytes>
		</useragent>
		<useragent rank="3">
			<name>mutt/1.5.9i</name>
			<freq>37</freq>
			<bytes>748KB</bytes>
		</useragent>
		<useragent rank="4">
			<name>mozilla/5.0</name>
			<freq>20</freq>
			<bytes>728KB</bytes>
		</useragent>
		<useragent rank="5">
			<name>mutt/1.4.1i</name>
			<freq>15</freq>
			<bytes>298KB</bytes>
		</useragent>
	</top-user-agents>
	<messages-per-day>
		<Sunday><msgs>166</msgs><bytes>952KB</bytes></Sunday>
		<Monday><msgs>277</msgs><bytes>2MB</bytes></Monday>
		<Tuesday><msgs>305</msgs><bytes>2MB</bytes></Tuesday>
		<Wednesday><msgs>232</msgs><bytes>2MB</bytes></Wednesday>
		<Thursday><msgs>320</msgs><bytes>2MB</bytes></Thursday>
		<Friday><msgs>322</msgs><bytes>2MB</bytes></Friday>
		<Saturday><msgs>88</msgs><bytes>448KB</bytes></Saturday>
	</messages-per-day>
	<messages-per-month>
		<Jan><msgs>0</msgs><bytes>0</bytes></Jan>
		<Feb><msgs>0</msgs><bytes>0</bytes></Feb>
		<Mar><msgs>0</msgs><bytes>0</bytes></Mar>
		<Apr><msgs>0</msgs><bytes>0</bytes></Apr>
		<May><msgs>0</msgs><bytes>0</bytes></May>
		<Jun><msgs>0</msgs><bytes>0</bytes></Jun>
		<Jul><msgs>4</msgs><bytes>16KB</bytes></Jul>
		<Aug><msgs>1706</msgs><bytes>10MB</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>4</msgs><bytes>42KB</bytes></day-1>
		<day-2><msgs>7</msgs><bytes>26KB</bytes></day-2>
		<day-3><msgs>9</msgs><bytes>60KB</bytes></day-3>
		<day-4><msgs>24</msgs><bytes>104KB</bytes></day-4>
		<day-5><msgs>15</msgs><bytes>86KB</bytes></day-5>
		<day-6><msgs>4</msgs><bytes>46KB</bytes></day-6>
		<day-7><msgs>13</msgs><bytes>85KB</bytes></day-7>
		<day-8><msgs>17</msgs><bytes>92KB</bytes></day-8>
		<day-9><msgs>40</msgs><bytes>191KB</bytes></day-9>
		<day-10><msgs>62</msgs><bytes>276KB</bytes></day-10>
		<day-11><msgs>141</msgs><bytes>753KB</bytes></day-11>
		<day-12><msgs>298</msgs><bytes>2MB</bytes></day-12>
		<day-13><msgs>84</msgs><bytes>402KB</bytes></day-13>
		<day-14><msgs>149</msgs><bytes>852KB</bytes></day-14>
		<day-15><msgs>256</msgs><bytes>2MB</bytes></day-15>
		<day-16><msgs>258</msgs><bytes>2MB</bytes></day-16>
		<day-17><msgs>161</msgs><bytes>761KB</bytes></day-17>
		<day-18><msgs>155</msgs><bytes>2MB</bytes></day-18>
		<day-19><msgs>9</msgs><bytes>30KB</bytes></day-19>
		<day-20><msgs>0</msgs><bytes>0</bytes></day-20>
		<day-21><msgs>0</msgs><bytes>0</bytes></day-21>
		<day-22><msgs>0</msgs><bytes>0</bytes></day-22>
		<day-23><msgs>0</msgs><bytes>0</bytes></day-23>
		<day-24><msgs>0</msgs><bytes>0</bytes></day-24>
		<day-25><msgs>0</msgs><bytes>0</bytes></day-25>
		<day-26><msgs>0</msgs><bytes>0</bytes></day-26>
		<day-27><msgs>0</msgs><bytes>0</bytes></day-27>
		<day-28><msgs>0</msgs><bytes>0</bytes></day-28>
		<day-29><msgs>0</msgs><bytes>0</bytes></day-29>
		<day-30><msgs>0</msgs><bytes>0</bytes></day-30>
		<day-31><msgs>4</msgs><bytes>16KB</bytes></day-31>
	</messages-per-day-of-month>
	<messages-per-hour>
		<hour-1><msgs>48</msgs><bytes>320KB</bytes></hour-1>
		<hour-2><msgs>26</msgs><bytes>401KB</bytes></hour-2>
		<hour-3><msgs>10</msgs><bytes>36KB</bytes></hour-3>
		<hour-4><msgs>8</msgs><bytes>70KB</bytes></hour-4>
		<hour-5><msgs>4</msgs><bytes>22KB</bytes></hour-5>
		<hour-6><msgs>11</msgs><bytes>45KB</bytes></hour-6>
		<hour-7><msgs>42</msgs><bytes>237KB</bytes></hour-7>
		<hour-8><msgs>50</msgs><bytes>232KB</bytes></hour-8>
		<hour-9><msgs>84</msgs><bytes>383KB</bytes></hour-9>
		<hour-10><msgs>81</msgs><bytes>395KB</bytes></hour-10>
		<hour-11><msgs>122</msgs><bytes>709KB</bytes></hour-11>
		<hour-12><msgs>87</msgs><bytes>533KB</bytes></hour-12>
		<hour-13><msgs>109</msgs><bytes>551KB</bytes></hour-13>
		<hour-14><msgs>119</msgs><bytes>528KB</bytes></hour-14>
		<hour-15><msgs>113</msgs><bytes>640KB</bytes></hour-15>
		<hour-16><msgs>94</msgs><bytes>498KB</bytes></hour-16>
		<hour-17><msgs>117</msgs><bytes>564KB</bytes></hour-17>
		<hour-18><msgs>66</msgs><bytes>413KB</bytes></hour-18>
		<hour-19><msgs>111</msgs><bytes>570KB</bytes></hour-19>
		<hour-20><msgs>114</msgs><bytes>645KB</bytes></hour-20>
		<hour-21><msgs>81</msgs><bytes>332KB</bytes></hour-21>
		<hour-22><msgs>78</msgs><bytes>526KB</bytes></hour-22>
		<hour-23><msgs>79</msgs><bytes>371KB</bytes></hour-23>
	</messages-per-hour>
	<urls>
		<url-1><freq>1337</freq><url>http://vger.kernel.org/majordomo-info.html</url></url-1>
		<url-2><freq>1333</freq><url>http://www.tux.org/lkml/</url></url-2>
		<url-3><freq>9</freq><url>http://www.dervishd.net</url></url-3>
		<url-4><freq>9</freq><url>http://www.pleyades.net</url></url-4>
		<url-5><freq>9</freq><url>http://www.gotesdelluna.net</url></url-5>
	</urls>
	<top-avg-resp>
		<resp-pers rank="1">
			<name>nick&#32;warne</name>
			<avg-resp-time>00:05:13</avg-resp-time>
			<n-replies>1</n-replies>
		</resp-pers>
		<resp-pers rank="2">
			<name>hirokazu&#32;takahashi</name>
			<avg-resp-time>00:08:47</avg-resp-time>
			<n-replies>1</n-replies>
		</resp-pers>
		<resp-pers rank="3">
			<name>fong&#32;vang</name>
			<avg-resp-time>00:11:54</avg-resp-time>
			<n-replies>1</n-replies>
		</resp-pers>
		<resp-pers rank="4">
			<name>martin&#32;drab</name>
			<avg-resp-time>00:15:54</avg-resp-time>
			<n-replies>1</n-replies>
		</resp-pers>
		<resp-pers rank="5">
			<name>peter&#32;buckingham</name>
			<avg-resp-time>00:17:30</avg-resp-time>
			<n-replies>1</n-replies>
		</resp-pers>
		<resp-pers rank="6">
			<name>roland&#32;mcgrath</name>
			<avg-resp-time>00:18:16</avg-resp-time>
			<n-replies>1</n-replies>
		</resp-pers>
	</top-avg-resp>
	<created-with><name>mboxstats</name><version>2.8</version><developer>folkert@vanheusden.com</developer><url>http://www.vanheusden.com/mboxstats/</url></created-with>
</mailbox-stats>

<section
  title="Abortive Attempt To Remove Support For Older GCC Versions"
  subject="[2.6 patch] remove support for gcc &lt; 3.2"
  archive="http://groups.google.com/group/fa.linux.kernel/msg/91e05a3dbbb6e581?hl=en"
  posts="25"
  startdate="31 Jul 2005 14:26:07 -0800"
  enddate="13 Aug 2005 01:21:54 -0800"
>

<mention>Miles Bader</mention>
<mention>Nigel Cunningham</mention>

<p>Adrian Bunk said:</p>

<quote who="Adrian Bunk">

<p>This patch removes support for gcc &lt; 3.2 .</p>

<p>The advantages are:</p>

<ul>

<li>reducing the number of supported gcc versions from 8 to 4 (support removed:
  2.95, 2.96, 3.0, 3.1; still supported: 3.2, 3.3, 3.4, 4.0)
  allows the removal of several #ifdef's and workarounds</li>

<li>my impression is that the older compilers are only rarely
  used, so miscompilations of a driver with an old gcc might
  not be detected for a longer amount of time</li>

</ul>

<p>My personal opinion about the time and space a compilation requires is
that this is no longer that much of a problem for modern hardware, and
in the worst case you can compile the kernels for older machines on more
recent machines.</p>

<p>This patch does not yet remove all the #ifdef's and other things that
are now no longer required, it only let's the compilation #error for
older gcc versions and updates the documentation.</p>

<p>I'd like to see this patch in the next -mm, and if noone will tell a
strong reason for keeping support for these gcc versions I'll send the
cleanups that are now.</p>

</quote>

<p>David S. Miller replied:</p>

<quote who="David S. Miller">

<p>Many people still use 2.95 because it's still the fastest
way to get a kernel build done and that's important for
many people.</p>

<p>And with 4.0 being a scary regression in the compile time
performance area compared to 3.4, this becomes even more
important to keep around.</p>

</quote>

<p>Nigel Cunningham also wanted 2.95 support. And Bill Davidsen said,
<quote who="Bill Davidsen">I don't mean to offend anyone, but it seems that
the gcc project, at least WRT x86, has lost its way a bit. The compiler
is getting slower, and the generated code is not getting correspondingly
faster. Or smaller. I'm not sure about more correct... Keeping 2.95 might
not be a bad idea.</quote> Elsewhere, Kurt Wall also said, <quote who="Kurt
Wall">Environments that require kernel compilation, often multiple times,
testing, benefit from shorter compile times. It can be the difference
between, say, completing a test suite overnight instead of having to wait
until tomorrow afternoon. Keeping 2.95, at least, has some value in such
environments.</quote> Willy Tarreau added, <quote who="Willy Tarreau">I *do*
still use 2.95 a lot, and I'm not alone, judging from people around me. 2.95
has been the reference for a very long time, that's why it's still so much
present. 3.0 and 3.1 (even 3.2) have been there for a very short time frame,
but 2.95 and 3.3 really seem to be references compilers. So please keep
support for 2.95.</quote> Miles Bader also thought Adrian's patch was a
bad idea. Gustavo Guillermo Perez also said, <quote who="Gustavo Guillermo
Perez">Please keep the 2.95 support I use to use a lot, on not new hardware.
If you have old hardware with not much resources gcc 2.95 works just fine
and fast, even you build the main kernel on other machine, by compatibility
issues one or two drivers should be builded a lot of times into the older
hardware, then we are forced to build gcc 3.4 or something like.</quote></p>

<p>There was no conclusion during the thread, but with such a vocal outcry,
it's doubtful a patch like Adrian's will be accepted in the near to middle
term.</p>

</section>

<section
  title="Linux 2.6.13-rc5 Released"
  subject="Linux 2.6.13-rc5"
  archive="http://groups.google.com/group/fa.linux.kernel/msg/3298497242a8ba58?hl=en"
  posts="39"
  startdate="01 Aug 2005 21:07:48 -0800"
  enddate="17 Aug 2005 07:19:36 -0800"
>
<topic>Kernel Release Announcement</topic>

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

<quote who="Linus Torvalds">

<p>Ok, one more in the series towards final 2.6.13.</p>

<p>This one is small enough that both shortlog and diffstat fit comfortably:
no big architecture updates or anything like that. Some input, x86-64 and
ppc updates, and various fairly small fixes in random places.</p>

<p>Some reverts back to 2.6.12 behaviour - you've seen the discussions, and
I'm sure we'll end up discussing things further for a long while still,
but the plan is to release 2.6.13 with known behaviour characteristics.</p>

<p>Give it a good testing, I'm hoping this can really turn into 2.6.13.</p>

</quote>

</section>

<section
  title="NVidia Still Hostile To Free Software"
  subject="NCQ support NVidia NForce4 (CK804) SATAII"
  archive="http://groups.google.com/group/linux.kernel/msg/404ba6efd2fd5c68?hl=en"
  posts="37"
  startdate="10 Aug 2005 10:11:33 -0800"
  enddate="18 Aug 2005 06:23:00 -0800"
>
<topic>Serial ATA</topic>

<p>Michael Thonke asked, <quote who="Michael Thonke">what the plans/timeplan to
implement NCQ support for NVidia NForce4(CK804) SATAII based chipsets? Fact
is that is it possible to use NCQ with NForce4 SATAII on Windows system,
I wonder why it isn't support by libata?</quote> Jeff Garzik replied, <quote
who="Jeff Garzik">Ask NVIDIA. They are the only company that gives me -zero-
information on their SATA controllers. As such, there are -zero- plans for
NCQ on NVIDIA controllers at this time.</quote> Elsewhere, Allen Martin
from NVidia said, <quote who="Allen Martin">Likely the only way nForce4
NCQ support could be added under Linux would be with a closed source binary
driver, and no one really wants that, especially for storage / boot volume.
We decided it wasn't worth the headache of a binary driver for this one
feature. Future nForce chipsets will have a redesigned SATA controller where
we can be more open about documenting it.</quote> Some posts down the line,
Lee Revell remarked, <quote who="Lee Revell">Nvidia is not Linux friendly.
Their business is making hardware so people can play games on Windows.
Anything that their lawyers think might have a 0.0001% chance of interfering
with that business model in the slightest bit will not happen.</quote>
Elsewhere, Chris Wedgwood recommended, <quote who="Chris Wedgwood">keeping
constant pressure of vendors like nvidia about openness is probably the best
we can do right now (obviously this means avoiding buying their products as
much as possible).</quote></p>

</section>

<section
  title="Simplifying The Driver-Handling Code"
  subject="[PATCH] Don't use a klist for drivers' set-of-devices"
  archive="http://groups.google.com/group/linux.kernel/msg/23aec9cf6715436d?hl=en"
  posts="11"
  startdate="10 Aug 2005 12:56:08 -0800"
  enddate="17 Aug 2005 06:33:03 -0800"
>

<mention>Greg KH</mention>

<p>Alan Stern said:</p>

<quote who="Alan Stern">

<p>This patch (as536) simplifies the driver-model core by replacing the klist
used to store the set of devices bound to a driver with a regular list
protected by a mutex.  It turns out that even with a klist, there are too
many opportunities for races for the list to be used safely by more than
one thread at a time.  And given that only one thread uses the list at any
moment, there's no need to add all the extra overhead of making it a
klist.</p>

<p>This version of the patch addresses the concerns raised earlier by Pat:
the list and mutex have been given more succinct names, and the obscure
special-case code in device_attach has been replaced with a FIXME comment.
Note that the new iterators in driver.c could easily be changed to use
list_for_each_entry_safe and list_for_each_entry, if the functions didn't
offer the feature of starting in the middle of the list.  If no callers
use that feature, it should be removed.</p>

<p>I still think the APIs for device_bind_driver and device_release_driver
need to be changed, because they each rely on dev-&gt;drv not changing at a
time when no protecting locks are held.  They will have to be fixed up in
a later patch.</p>

</quote>

<p>Greg KH said that avoiding races and simplifying the code was the reason
klists were introduced in the first place, and Christoph Hellwig remarked,
<quote who="Christoph Hellwig">And shows once more that the klist approach
was totally misguided.</quote></p>

<p>Alan avoided the debate, but did remark, <quote who="Alan Stern">Do note
that the bus's list of devices and the bus's list of registered drivers are
still klists. Only the driver's list of bound devices gets reverted to a
normal list.</quote></p>

<p>Dmitry Torokhov proposed an exploit, saying, <quote who="Dmitry
Torokhov">what do I do in the following scenario - I have a serio port
(AUX) that has a synaptics touchpad bound to it which is driven by psmouse
driver. psmouse driver registers a child port (synaptics pass-through) during
probe call. The child port is also driven by psmouse module - but it looks
like it will deadlock when binding. Am I missing something here?</quote> Alan
confessed, <quote who="Alan Stern">I hate to say this, but you are right.
Can you suggest a way around this problem? Perhaps arranging things so
that the devlist_mutex is held only during the actual __device_bind_driver
call and not during probe... But there are so many tricky interactions and
possible races that this requires a lot of thought.</quote> Over the next
day he did think about it, and then said:</p>

<quote who="Alan Stern">

<p>Dmitry's point is well founded.  Greg, I want to retract that klist patch
(as536).  I'll send in a revised version before long.</p>

<p>It looks like the best approach will simply be to eliminate the driver's
list of bound devices altogether.  That should make Christoph happy -- no
klist, no list, no nothing!  :-)  The list hardly ever gets used, mainly
when the driver is unloaded.  We can already get the same effect by
iterating over the bus's list of devices and skipping everything not bound
to the driver.</p>

<p>This will eliminate a whole set of races and make the code more
transparent (I hope).</p>

</quote>

<p>Several days later, he said:</p>

<quote who="Alan Stern">

<p>This is a revised version of the patch I sent in last week -- not yet a
submission, more of an RFC. It turns out that removing the driver's list
of bound devices isn't practical, because there are times when a device not
yet on the bus's overall klist will be bound (this happens whenever a new
device is registered, for instance).</p>

<p>Anyway, in this new version the locking is greatly simplified and the
requirements are made much more explicit in the comments. This code will
not be subject to deadlock when a driver's probe routine registers a child
device that uses the same driver, or when a remove routine unregisters a
child device from the same driver. I think this version is okay, but please
look it over and see if anything looks amiss.</p>

<p>The next step will be to clean up the races inherent in device_bind_driver
and device_release_driver. There are two obvious approaches:</p>

<blockquote>

<p>    Pass the driver as an argument rather than trusting the value
    stored in dev-&gt;driver.</p>

<p>    Require the caller to lock dev->sem.</p>

</blockquote>

<p>On the face of it, neither is particularly more attractive than the other.
However, reading through the various places that call these routines (for
example, drivers/input/serio/serio.c or drivers/pnp/card.c) revealed a pattern.
In most cases, the callers of device_bind_driver _really_ want something
that functions more like driver_probe_device but without the matching step.
The callers are invoking the probe methods by hand rather than relying on the
driver core to do so. There's maybe only one place where a caller actually
does want the device bound to the driver without doing a probe.</p>

<p>This suggests it might be a good idea to split driver_probe_device into
two pieces, one for matching and one for probing &amp; binding. The second
piece could then be used instead of device_bind_driver.</p>

<p>Another thing became apparent as well. All of the places that use these
routines currently rely on the bus subsystem's rwsem for synchronization.
Obviously this is bad, because that rwsem is on its way out. I don't know
enough about all those different drivers to be able to tell whether they
lock the rwsem merely because the old API required it or because they really
do need some mutual exclusion. Still, this suggests that it might be best
to require the callers to lock dev-&gt;sem -- i.e., use dev-&gt;sem sort of as a
replacement for the bus rwsem.</p>

</quote>

</section>

<section
  title="Unifying Watchdog Names In /dev"
  subject="[PATCH] Watchdog device node name unification"
  archive="http://groups.google.com/group/fa.linux.kernel/msg/2b43a3966e77fb98?hl=en"
  posts="13"
  startdate="13 Aug 2005 13:36:55 -0800"
  enddate="18 Aug 2005 06:23:59 -0800"
>

<p>Henrik Brix Andersen said, <quote who="Henrik Brix Andersen">Here's
a patch for unifying the watchdog device node name to /dev/watchdog as
expected by most user-space applications.</quote> Linus Torvalds apparently
liked the patch, but replied, <quote who="Linus Torvalds">Doesn't seem to be
serious enough to be worth it at this late stage in the 2.6.13 game. Can you
re-send after I do a release?</quote> Henrik agreed. Olaf Hering remarked,
<quote who="Olaf Hering">A patch like that is sitting in -mm since almost
5 months. I wonder why it was never merged,</quote> but there was no reply.</p>

</section>

<section
  title="Stable Linux 2.6.12.5 Released"
  subject="Linux 2.6.12.5"
  archive="http://groups.google.com/group/linux.kernel/msg/201e5c4b0ae632b7?hl=en"
  posts="2"
  startdate="14 Aug 2005 21:40:22 -0800"
  enddate="14 Aug 2005 21:43:00 -0800"
>

<p>Chris Wright said:</p>

<quote who="Chris Wright">

<p>We (the -stable team) are announcing the release of the 2.6.12.5 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.4 and 2.6.12.5, 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/chrisw/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="watchdoc-mm Development Migrating From BitKeeper To git"
  subject="watchdog-mm git tree"
  archive="http://groups.google.com/group/fa.linux.kernel/msg/cab4fbff8dcc2e0c?hl=en"
  posts="2"
  startdate="17 Aug 2005 07:05:23 -0800"
  enddate="17 Aug 2005 14:30:00 -0800"
>
<topic>Version Control</topic>

<p>Wim Van Sebroeck said, <quote who="Wim Van Sebroeck">I (finaly)
converted the watchdog-mm bitkeeper tree to a git repository:
rsync://rsync.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog-mm.git</quote>.</p>

</section>

</kc>

