<?xml version="1.0" ?>

<kc>

<title>Kernel Traffic</title>

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

<issue num="219" date="16 Jun 2003 00:00:00 -0800" />

<intro>

<!--<p>Every once in awhile someone asks me to put up a PayPal link, so here
it is. If you like Kernel Traffic and feel like sending me a little money,
click below:</p>

<p>

<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
  <input type="hidden" name="cmd" value="_xclick"/>
  <input type="hidden" name="business" value="zbrown@tumblerings.org"/>
  <input type="hidden" name="no_shipping" value="1"/>
  <input type="hidden" name="return" value="http://www.kerneltraffic.org"/>
  <input type="hidden" name="cancel_return" value="http://www.kerneltraffic.org"/>
  <input type="image" src="http://images.paypal.com/images/x-click-but04.gif" height="31" width="62" alt="PayPal" border="0" name="submit"/>
</form>

</p>-->

</intro>

<stats posts="5299" size="25991" contrib="1019" multiples="574" lastweek="176">

<person posts="188" size="733" who="Greg KH" />
<person posts="150" size="688" who="Andrew Morton" />
<person posts="149" size="463" who="&quot;David S. Miller&quot;" />
<person posts="119" size="352" who="Alan Cox" />
<person posts="110" size="378" who="William Lee Irwin III" />
<person posts="75" size="306" who="Jens Axboe" />
<person posts="69" size="501" who="&quot;Martin J. Bligh&quot;" />
<person posts="68" size="281" who="Zwane Mwaikambo" />
<person posts="63" size="262" who="Linus Torvalds" />
<person posts="59" size="324" who="=?iso-8859-1?Q?J=F6rn?= Engel" />
<person posts="58" size="213" who="Adrian Bunk" />
<person posts="58" size="185" who="Marc-Christian Petersen" />
<person posts="55" size="316" who="Jeff Garzik" />
<person posts="53" size="218" who="Russell King" />
<person posts="51" size="160" who="Christoph Hellwig" />
<person posts="44" size="257" who="Davide Libenzi" />
<person posts="43" size="201" who="Andrea Arcangeli" />
<person posts="42" size="146" who="Marcelo Tosatti" />
<person posts="41" size="186" who="Con Kolivas" />
<person posts="39" size="135" who="Dave Jones" />
<person posts="37" size="142" who="Carl-Daniel Hailfinger" />
<person posts="36" size="213" who="Bartlomiej Zolnierkiewicz" />
<person posts="35" size="112" who="Andi Kleen" />
<person posts="33" size="302" who="chas williams" />
<person posts="33" size="217" who="Pavel Machek" />
<person posts="32" size="327" who="Felipe Alfaro Solana" />
<person posts="32" size="151" who="Ingo Molnar" />
<person posts="31" size="277" who="Manuel Estrada Sainz" />
<person posts="30" size="94" who="(mikpe)" />
<person posts="29" size="140" who="&quot;Richard B. Johnson&quot;" />
<person posts="28" size="131" who="Sam Ravnborg" />
<person posts="28" size="85" who="(viro)" />
<person posts="27" size="125" who="Rusty Russell" />
<person posts="26" size="92" who="Hugh Dickins" />
<person posts="25" size="95" who="Willy Tarreau" />
<person posts="25" size="84" who="James Bottomley" />
<person posts="24" size="135" who="Benjamin Herrenschmidt" />
<person posts="24" size="75" who="Werner Almesberger" />
<person posts="23" size="86" who="David Mosberger" />
<person posts="22" size="94" who="Michael Frank" />
<person posts="21" size="218" who="Ben Collins" />
<person posts="21" size="97" who="Arnaldo Carvalho de Melo" />
<person posts="21" size="83" who="Nick Piggin" />
<person posts="21" size="81" who="Dipankar Sarma" />
<person posts="21" size="80" who="Patrick Mochel" />
<person posts="20" size="173" who="Trond Myklebust" />
<person posts="20" size="77" who="Steven Cole" />
<person posts="20" size="63" who="Roman Zippel" />
<person posts="19" size="142" who="Paul Mackerras" />
<person posts="19" size="87" who="&quot;John Stoffel&quot;" />
<person posts="19" size="66" who="(Valdis.Kletnieks)" />
<person posts="19" size="63" who="Helge Hafting" />
<person posts="19" size="53" who="Pavel Machek" />
<person posts="18" size="152" who="David Gibson" />
<person posts="18" size="123" who="David Woodhouse" />
<person posts="18" size="64" who=" (Margit Schubert-While)" />
<person posts="18" size="60" who="Grzegorz Jaskiewicz" />
<person posts="18" size="58" who="Timothy Miller" />
<person posts="17" size="235" who="Alan Cox" />
<person posts="17" size="102" who="Mike Galbraith" />
<person posts="17" size="67" who="&quot;David Schwartz&quot;" />
<person posts="17" size="56" who="Arjan van de Ven" />
<person posts="17" size="44" who="&quot;ismail (cartman) donmez&quot;" />
<person posts="16" size="200" who="&quot;Paul E. McKenney&quot;" />
<person posts="16" size="132" who="&quot;Robert White&quot;" />
<person posts="16" size="50" who="&quot;Randy.Dunlap&quot;" />
<person posts="15" size="115" who="george anzinger" />
<person posts="15" size="81" who="Joe Thornber" />
<person posts="15" size="41" who="Ivan Kokshaysky" />
<person posts="14" size="94" who="(Andries.Brouwer)" />
<person posts="14" size="58" who="manish" />
<person posts="14" size="49" who="Larry McVoy" />
<person posts="14" size="48" who="Oliver Neukum" />
<person posts="14" size="46" who="Martin Schlemmer" />
<person posts="13" size="134" who="Andreas Haumer" />
<person posts="13" size="59" who="Hollis Blanchard" />
<person posts="13" size="51" who="&quot;Peter T. Breuer&quot;" />
<person posts="13" size="44" who="Krzysztof Halasa" />
<person posts="13" size="43" who="&quot;J.A. Magallon&quot;" />
<person posts="12" size="133" who="Martin Schwidefsky" />
<person posts="12" size="66" who="David van Hoose" />
<person posts="12" size="60" who="Rob Landley" />
<person posts="12" size="45" who="Tom Sightler" />
<person posts="12" size="42" who="Bill Davidsen" />
<person posts="12" size="41" who="Dave Hansen" />
<person posts="12" size="41" who="Duncan Sands" />
<person posts="12" size="40" who="&quot;Riley Williams&quot;" />
<person posts="12" size="34" who="Mike Fedyk" />
<person posts="12" size="32" who="(john)" />
<person posts="11" size="85" who="Hanna Linder" />
<person posts="11" size="80" who=" (Miles Bader)" />
<person posts="11" size="66" who="Mark Peloquin" />
<person posts="11" size="57" who="Xose Vazquez Perez" />
<person posts="11" size="48" who="&quot;Grover, Andrew&quot;" />
<person posts="11" size="47" who="Andreas Dilger" />
<person posts="11" size="43" who="Michael Buesch" />
<person posts="11" size="43" who="Matthias Mueller" />
<person posts="11" size="42" who="&quot;Brian J. Murrell&quot;" />
<person posts="11" size="38" who="Andy Pfiffer" />
<person posts="11" size="37" who="John Levon" />
<person posts="11" size="36" who="Geert Uytterhoeven" />
<person posts="11" size="29" who="Bryan O'Sullivan" />
<person posts="10" size="243" who="Matthias Andree" />
<person posts="10" size="79" who="Ryan Anderson" />
<person posts="10" size="66" who="Alex Tomas" />
<person posts="10" size="61" who="Nikita Danilov" />
<person posts="10" size="58" who="Chris Wright" />
<person posts="10" size="58" who="Maneesh Soni" />
<person posts="10" size="47" who="Martin Diehl" />
<person posts="10" size="40" who="Pete Zaitcev" />
<person posts="10" size="38" who="Keith Owens" />
<person posts="10" size="37" who="=?ISO-8859-1?Q?Ren=E9?= Scharfe" />
<person posts="10" size="36" who="Ingo Oeser" />
<person posts="10" size="36" who="Tomas Szepe" />
<person posts="10" size="33" who="Pascal Schmidt" />
<person posts="10" size="32" who="Herbert Xu" />
<person posts="10" size="30" who="Stian Jordet" />
<person posts="10" size="29" who="Daniel Phillips" />
<person posts="9" size="101" who="Thomas Winischhofer" />
<person posts="9" size="66" who="Stephen Hemminger" />
<person posts="9" size="61" who="James Simmons" />
<person posts="9" size="58" who="Disconnect" />
<person posts="9" size="57" who="Alexander Hoogerhuis" />
<person posts="9" size="54" who="(uaca)" />
<person posts="9" size="49" who="Matt Mackall" />
<person posts="9" size="39" who="Jocelyn Mayer" />
<person posts="9" size="36" who="Mark Haverkamp" />
<person posts="9" size="36" who="&quot;Paul Rolland&quot;" />
<person posts="9" size="28" who="Paul Larson" />
<person posts="9" size="28" who="Christoph Hellwig" />
<person posts="9" size="27" who="&quot;Adam J. Richter&quot;" />
<person posts="9" size="25" who="Artemio" />
<person posts="8" size="134" who="jjs" />
<person posts="8" size="60" who="Thomas Schlichter" />
<person posts="8" size="56" who="chas williams" />
<person posts="8" size="44" who="Corey Minyard" />
<person posts="8" size="39" who="Paul Fulghum" />
<person posts="8" size="39" who="James Cleverdon" />
<person posts="8" size="39" who="Paulo Andre'" />
<person posts="8" size="31" who="Gregoire Favre" />
<person posts="8" size="27" who="Stephan von Krawczynski" />
<person posts="8" size="26" who="Manfred Spraul" />
<person posts="8" size="24" who="James Morris" />
<person posts="8" size="24" who="Rudmer van Dijk" />
<person posts="8" size="23" who="Frank Cusack" />
<person posts="7" size="111" who="Anders Gustafsson" />
<person posts="7" size="62" who="Matthew Harrell" />
<person posts="7" size="59" who="Andreas Hartmann" />
<person posts="7" size="46" who="Arvind Kandhare" />
<person posts="7" size="40" who="Markus Plail" />
<person posts="7" size="33" who="Douglas Gilbert" />
<person posts="7" size="29" who="YOSHIFUJI Hideaki / =?iso-2022-jp?B?GyRCNUhGIzFRTEAbKEI=?=" />
<person posts="7" size="28" who="Albert Cahalan" />
<person posts="7" size="26" who="Eduardo Pereira Habkost" />
<person posts="7" size="25" who="Konstantin Kletschke" />
<person posts="7" size="25" who="Andre Hedrick" />
<person posts="7" size="24" who="&quot;Perez-Gonzalez, Inaky&quot;" />
<person posts="7" size="24" who="Jesse Pollard" />
<person posts="7" size="23" who="Warren Togami" />
<person posts="7" size="23" who="Stewart Smith" />
<person posts="7" size="23" who="&quot;Oliver Pitzeier&quot;" />
<person posts="7" size="22" who="Samuel Flory" />
<person posts="7" size="20" who="&quot;John Appleby&quot;" />
<person posts="7" size="19" who="James Stevenson" />
<person posts="7" size="18" who="Robert Love" />
<person posts="6" size="55" who="Michael Hunold" />
<person posts="6" size="53" who="Hugo Mills" />
<person posts="6" size="42" who="Sean Neakums" />
<person posts="6" size="41" who="(rwhron)" />
<person posts="6" size="34" who="&quot;Robert P. J. Day&quot;" />
<person posts="6" size="31" who="CaT" />
<person posts="6" size="30" who="Erich Focht" />
<person posts="6" size="29" who="john stultz" />
<person posts="6" size="27" who="David Brownell" />
<person posts="6" size="26" who="&quot;Stephen C. Tweedie&quot;" />
<person posts="6" size="25" who="Matthew Wilcox" />
<person posts="6" size="24" who="Dave Olien" />
<person posts="6" size="24" who="Andy Polyakov" />
<person posts="6" size="24" who="&quot;Lauro, John&quot;" />
<person posts="6" size="24" who="Scott A Crosby" />
<person posts="6" size="23" who="Vojtech Pavlik" />
<person posts="6" size="22" who="&quot;Justin T. Gibbs&quot;" />
<person posts="6" size="21" who="Neil Brown" />
<person posts="6" size="20" who="Carl Spalletta" />
<person posts="6" size="20" who="Cliff White" />
<person posts="6" size="18" who=" (=?iso-8859-1?q?M=E5ns_Rullg=E5rd?=)" />
<person posts="6" size="18" who="&quot;Wm. Josiah Erikson&quot;" />
<person posts="6" size="18" who="Jasper Spaans" />
<person posts="6" size="17" who="&quot;Gutko&quot;" />
<person posts="6" size="17" who="&quot;P. Benie&quot;" />
<person posts="6" size="17" who="Jeff Smith" />
<person posts="6" size="17" who="Florian Weimer" />
<person posts="6" size="16" who="&quot;Martin Schwidefsky&quot;" />
<person posts="6" size="15" who="Aaron Lehmann" />
<person posts="6" size="15" who="&quot;Downing, Thomas&quot;" />
<person posts="6" size="14" who="Mike Dresser" />
<person posts="6" size="11" who="=?iso-8859-1?q?madalin=20mihailescu?=" />
<person posts="5" size="71" who="Art Haas" />
<person posts="5" size="70" who="(Werner.Beck)" />
<person posts="5" size="61" who="Krzysiek Taraszka" />
<person posts="5" size="50" who="Boszormenyi Zoltan" />
<person posts="5" size="50" who="Alistair J Strachan" />
<person posts="5" size="41" who="Shawn" />
<person posts="5" size="39" who="Gutko" />
<person posts="5" size="36" who="Jaroslav Kysela" />
<person posts="5" size="34" who="(kwijibo)" />
<person posts="5" size="31" who="Francois Romieu" />
<person posts="5" size="30" who="Roland Mas" />
<person posts="5" size="30" who="Terence Ripperda" />
<person posts="5" size="27" who="Rik van Riel" />
<person posts="5" size="25" who="Rusty Russell" />
<person posts="5" size="23" who="Vladimir Serov" />
<person posts="5" size="22" who="Rick Lindsley" />
<person posts="5" size="22" who="Ravikiran G Thirumalai" />
<person posts="5" size="21" who="&quot;Lothar Wassmann&quot;" />
<person posts="5" size="20" who="Jurriaan" />
<person posts="5" size="19" who="Andi Kleen" />
<person posts="5" size="19" who="Adriaan Peeters" />
<person posts="5" size="19" who="&quot;Petr Vandrovec&quot;" />
<person posts="5" size="18" who="Andries Brouwer" />
<person posts="5" size="18" who="Jean Tourrilhes" />
<person posts="5" size="17" who="hugang" />
<person posts="5" size="17" who="Oleg Drokin" />
<person posts="5" size="17" who="&quot;H. Peter Anvin&quot;" />
<person posts="5" size="16" who="Stewart Smith" />
<person posts="5" size="16" who="Rob van Nieuwkerk" />
<person posts="5" size="16" who="Daniel Phillips" />
<person posts="5" size="16" who=" (Florin Iucha)" />
<person posts="5" size="16" who="&quot;Lars Unin&quot;" />
<person posts="5" size="15" who="&quot;Kevin P. Fleming&quot;" />
<person posts="5" size="15" who="Christian Kujau" />
<person posts="5" size="14" who="Arnd Bergmann" />
<person posts="5" size="14" who="Bernd Eckenfels" />
<person posts="5" size="14" who="David =?iso-8859-15?Q?G=F3mez?=" />
<person posts="5" size="13" who="Milton Miller" />
<person posts="4" size="81" who="Julien Oster" />
<person posts="4" size="48" who="Eyal Lebedinsky" />
<person posts="4" size="45" who="Denis Vlasenko" />
<person posts="4" size="42" who="Udo Hoerhold" />
<person posts="4" size="37" who="&quot;David R. Wilson&quot;" />
<person posts="4" size="37" who="&quot;Andres Salomon&quot;" />
<person posts="4" size="35" who="&quot;Luck, Tony&quot;" />
<person posts="4" size="33" who="Pasi Savolainen" />
<person posts="4" size="24" who="&quot;Udo A. Steinberg&quot;" />
<person posts="4" size="23" who="Jeff Dike" />
<person posts="4" size="23" who="Yoann" />
<person posts="4" size="22" who="(linas)" />
<person posts="4" size="22" who="Morten Helgesen" />
<person posts="4" size="21" who="&quot;Nakajima, Jun&quot;" />
<person posts="4" size="20" who="Chris Mason" />
<person posts="4" size="20" who="Lars" />
<person posts="4" size="19" who="Taral" />
<person posts="4" size="19" who="Lou Langholtz" />
<person posts="4" size="18" who="Kingsley Cheung" />
<person posts="4" size="18" who="(venom)" />
<person posts="4" size="18" who="&quot;jds&quot;" />
<person posts="4" size="18" who="Ivan Gyurdiev" />
<person posts="4" size="18" who="Joel Becker" />
<person posts="4" size="17" who="Steve G" />
<person posts="4" size="17" who="Daniel Ritz" />
<person posts="4" size="16" who="Kevin Corry" />
<person posts="4" size="16" who="Jakob Oestergaard" />
<person posts="4" size="16" who="Eli Carter" />
<person posts="4" size="16" who="&quot;J.C. Wren&quot;" />
<person posts="4" size="16" who="Martin List-Petersen" />
<person posts="4" size="16" who="Simon Fowler" />
<person posts="4" size="15" who="Georg Nikodym" />
<person posts="4" size="15" who="Hollis Blanchard" />
<person posts="4" size="15" who="Ulrich Drepper" />
<person posts="4" size="15" who="Erik Andersen" />
<person posts="4" size="14" who="=?iso-8859-1?Q?=C9ric?= Brunet" />
<person posts="4" size="14" who="Alex Riesen" />
<person posts="4" size="14" who="Phil Edwards" />
<person posts="4" size="14" who="Pavel Roskin" />
<person posts="4" size="14" who="Steven Pratt" />
<person posts="4" size="14" who="Mauk van der Laan" />
<person posts="4" size="13" who="&quot;Jeffrey W. Baker&quot;" />
<person posts="4" size="13" who="Stig Brautaset" />
<person posts="4" size="13" who="Jamie Lokier" />
<person posts="4" size="13" who="Nigel Cunningham" />
<person posts="4" size="13" who="&quot;ZCane, Ed (Test Purposes)&quot;" />
<person posts="4" size="13" who="&quot;Barry K. Nathan&quot;" />
<person posts="4" size="13" who="Martin Josefsson" />
<person posts="4" size="12" who="Keith Mannthey" />
<person posts="4" size="12" who="Nicholas Wourms" />
<person posts="4" size="12" who="Christophe Saout" />
<person posts="4" size="12" who="Jurgen Kramer" />
<person posts="4" size="12" who="&quot;Maciej W. Rozycki&quot;" />
<person posts="4" size="12" who="Eric" />
<person posts="4" size="11" who="Marc Wilson" />
<person posts="4" size="11" who="joe briggs" />
<person posts="4" size="11" who="Tom Rini" />
<person posts="4" size="11" who="Stephanie Glass" />
<person posts="4" size="10" who="Anton Blanchard" />
<person posts="4" size="10" who="Ian Molton" />
<person posts="4" size="10" who="Dan Christian" />
<person posts="4" size="10" who="Miles Lane" />
<person posts="4" size="10" who="Jason Papadopoulos" />
<person posts="4" size="10" who="&quot;David D. Hagood&quot;" />
<person posts="4" size="9" who="John Covici" />
<person posts="3" size="104" who="Matt Hartley" />
<person posts="3" size="85" who="(schmurtz)" />
<person posts="3" size="69" who="&quot;Protasevich, Natalie&quot;" />
<person posts="3" size="54" who="John M Flinchbaugh" />
<person posts="3" size="49" who="(lk)" />
<person posts="3" size="42" who="Patrick McHardy" />
<person posts="3" size="36" who="Arador" />
<person posts="3" size="34" who="Bongani Hlope" />
<person posts="3" size="32" who="(zipa24)" />
<person posts="3" size="32" who="Ed Tomlinson" />
<person posts="3" size="31" who="&quot;David Lewis&quot;" />
<person posts="3" size="30" who="Jim Houston" />
<person posts="3" size="29" who="Anders Karlsson" />
<person posts="3" size="28" who="=?ISO-8859-1?Q?Ram=F3n?= Rey Vicente" />
<person posts="3" size="27" who="Bernhard Rosenkraenzer" />
<person posts="3" size="26" who="Scott McDermott" />
<person posts="3" size="25" who="(frahm)" />
<person posts="3" size="25" who="Daniele Pala" />
<person posts="3" size="25" who="(sydow)" />
<person posts="3" size="19" who="Grant" />
<person posts="3" size="18" who="Peter" />
<person posts="3" size="17" who="&quot;Boehm, Hans&quot;" />
<person posts="3" size="17" who="&quot;Paul E. Erkkila&quot;" />
<person posts="3" size="17" who="Mingming Cao" />
<person posts="3" size="16" who="Menno Smits" />
<person posts="3" size="16" who="Rodrigo Souza de Castro" />
<person posts="3" size="16" who="Matthew Dharm" />
<person posts="3" size="16" who="Edward Tandi" />
<person posts="3" size="16" who="Andreas Mohr" />
<person posts="3" size="15" who="Mark Watts" />
<person posts="3" size="14" who="&quot;Mudama, Eric&quot;" />
<person posts="3" size="14" who="Kendrick Hamilton" />
<person posts="3" size="14" who="Kimmo Sundqvist" />
<person posts="3" size="14" who="&quot;linda w.&quot;" />
<person posts="3" size="14" who="Bernd Jendrissek" />
<person posts="3" size="13" who="Nathan Conrad" />
<person posts="3" size="13" who="Willy TARREAU" />
<person posts="3" size="12" who="DevilKin" />
<person posts="3" size="12" who="Andrew Theurer" />
<person posts="3" size="12" who="Olivier NICOLAS" />
<person posts="3" size="12" who="=?iso-8859-1?q?Etienne=20Lorrain?=" />
<person posts="3" size="11" who="BalaKrishna Mallipeddi" />
<person posts="3" size="11" who="Christian Klose" />
<person posts="3" size="11" who="(Mitch)" />
<person posts="3" size="11" who="Robert Creager" />
<person posts="3" size="10" who="Ruud Linders" />
<person posts="3" size="10" who="Mitchell Blank Jr" />
<person posts="3" size="10" who="&quot;Feldman, Scott&quot;" />
<person posts="3" size="10" who="Andre Hedrick" />
<person posts="3" size="10" who="&quot;Hua Zhong&quot;" />
<person posts="3" size="10" who="David Ford" />
<person posts="3" size="10" who="Sven Krohlas" />
<person posts="3" size="10" who="&quot;Robert L. Harris&quot;" />
<person posts="3" size="10" who="Elladan" />
<person posts="3" size="10" who="dan carpenter" />
<person posts="3" size="10" who="Nivedita Singhvi" />
<person posts="3" size="10" who="&quot;H. J. Lu&quot;" />
<person posts="3" size="9" who="David Balazic" />
<person posts="3" size="9" who="Dan Kegel" />
<person posts="3" size="9" who="Justin Cormack" />
<person posts="3" size="9" who="Matthew Dobson" />
<person posts="3" size="9" who="Greg Norris" />
<person posts="3" size="9" who="Miles Bader" />
<person posts="3" size="9" who="Jun Sun" />
<person posts="3" size="9" who="Stefan Foerster" />
<person posts="3" size="9" who="Adam Kropelin" />
<person posts="3" size="9" who="Christian" />
<person posts="3" size="9" who="Steve Brueggeman" />
<person posts="3" size="9" who="&quot;John Anthony Kazos Jr.&quot;" />
<person posts="3" size="9" who="Nicolas Mailhot" />
<person posts="3" size="9" who="Bob Johnson" />
<person posts="3" size="9" who="Joe Korty" />
<person posts="3" size="9" who="Ricky Beam" />
<person posts="3" size="8" who="Maciej Soltysiak" />
<person posts="3" size="8" who="=?iso-8859-1?q?maha=20rajan?=" />
<person posts="3" size="8" who="Daniel Goller" />
<person posts="3" size="8" who="ghugh Song" />
<person posts="3" size="8" who=" (Bob Tracy)" />
<person posts="3" size="8" who="Jan Harkes" />
<person posts="3" size="8" who="Shane Shrybman" />
<person posts="3" size="8" who="Paulo Andre'" />
<person posts="3" size="8" who="Joshua Kwan" />
<person posts="3" size="8" who="&quot;Jeremy Salch&quot;" />
<person posts="3" size="8" who="&quot;C. Scott Ananian&quot;" />
<person posts="3" size="8" who="Dan Maas" />
<person posts="3" size="8" who="=?ISO-8859-2?Q?P=E1sztor_Szil=E1rd?=" />
<person posts="3" size="8" who="Jan Dittmer" />
<person posts="3" size="8" who=" (Frank Victor Fischer)" />
<person posts="3" size="7" who="Mark Watts" />
<person posts="3" size="7" who="Marc Zyngier" />
<person posts="3" size="7" who="Josh Litherland" />
<person posts="3" size="7" who="Hadmut Danisch" />
<person posts="3" size="6" who="Geller Sandor" />
<person posts="3" size="6" who="Yoshinori Sato" />
<person posts="2" size="93" who="&quot;Protasevich, Natalie&quot;" />
<person posts="2" size="60" who="=?ISO-8859-1?Q?Jos=E9_Francisco_Ribeiro_Neto?=" />
<person posts="2" size="52" who="Arsene Gschwind" />
<person posts="2" size="50" who="Chuck Harding" />
<person posts="2" size="46" who="Nicolas" />
<person posts="2" size="44" who="Dima Brodsky" />
<person posts="2" size="43" who="Max Valdez" />
<person posts="2" size="40" who="Badari Pulavarty" />
<person posts="2" size="39" who="John Shillinglaw" />
<person posts="2" size="36" who="Jeremy Fitzhardinge" />
<person posts="2" size="29" who="Marc Heckmann" />
<person posts="2" size="28" who="Daniel McNeil" />
<person posts="2" size="27" who="(Ted.Wen)" />
<person posts="2" size="27" who="Nick Burrett" />
<person posts="2" size="25" who="Petro" />
<person posts="2" size="25" who="Rolf Eike Beer" />
<person posts="2" size="24" who="Michael Still" />
<person posts="2" size="23" who="Thomas Kaeding" />
<person posts="2" size="22" who="Chris Heath" />
<person posts="2" size="22" who="Daniel Sobe" />
<person posts="2" size="21" who="Martijn Uffing" />
<person posts="2" size="20" who="Alfonso =?ISO-8859-1?Q?Mu=F1oz-Pomer?= Fuentes" />
<person posts="2" size="19" who="Theodore Ts'o" />
<person posts="2" size="19" who="(yokotak)" />
<person posts="2" size="18" who="=?ISO-8859-2?Q?Pawe=B3_Go=B3aszewski?=" />
<person posts="2" size="16" who="&quot;promotion manager.&quot;" />
<person posts="2" size="15" who="Dave McCracken" />
<person posts="2" size="15" who="Kevin Jacobs" />
<person posts="2" size="15" who="Paul Mackerras" />
<person posts="2" size="15" who="Hans-Georg Thien" />
<person posts="2" size="14" who="Vagn Scott" />
<person posts="2" size="14" who="Ted Kremenek" />
<person posts="2" size="14" who="Samuel Thibault" />
<person posts="2" size="14" who="Teodor Iacob" />
<person posts="2" size="14" who="Eric Piel" />
<person posts="2" size="13" who="Alex Riesen" />
<person posts="2" size="13" who="John Hawkes" />
<person posts="2" size="12" who="Robert de Bath" />
<person posts="2" size="12" who="Daniel Podlejski" />
<person posts="2" size="11" who="Jim Keniston" />
<person posts="2" size="10" who="scott" />
<person posts="2" size="10" who="Jeffrey Baker" />
<person posts="2" size="10" who=" (Simon Fowler)" />
<person posts="2" size="10" who="John Cherry" />
<person posts="2" size="10" who="Neil Schemenauer" />
<person posts="2" size="10" who="&quot;MarKol&quot;" />
<person posts="2" size="10" who="=?iso-8859-15?B?Suly9G1lIEF1Z+k=?=" />
<person posts="2" size="10" who="Andreas Boman" />
<person posts="2" size="9" who="Andrew Miklas" />
<person posts="2" size="9" who="Mads Christensen" />
<person posts="2" size="9" who="Hiroshi Miura" />
<person posts="2" size="9" who="William Gallafent" />
<person posts="2" size="9" who="(satyakumar.y)" />
<person posts="2" size="9" who="Gerrit Huizenga" />
<person posts="2" size="9" who="Lukasz Trabinski" />
<person posts="2" size="8" who="OGAWA Hirofumi" />
<person posts="2" size="8" who=" (Linus Torvalds)" />
<person posts="2" size="8" who="Madhavi" />
<person posts="2" size="8" who="Ethan Benson" />
<person posts="2" size="8" who="Jan Hudec" />
<person posts="2" size="8" who="&quot;Vivek Goyal&quot;" />
<person posts="2" size="8" who="Jos Hulzink" />
<person posts="2" size="8" who="Oktay Akbal" />
<person posts="2" size="8" who="(dmeyer)" />
<person posts="2" size="8" who="Chris Friesen" />
<person posts="2" size="8" who="Bob Vickers" />
<person posts="2" size="7" who="Jason Woodward" />
<person posts="2" size="7" who="Gerd Knorr" />
<person posts="2" size="7" who="Hua Zhong" />
<person posts="2" size="7" who="Byron Stanoszek" />
<person posts="2" size="7" who="Nico Schottelius" />
<person posts="2" size="7" who="Andres Salomon" />
<person posts="2" size="7" who="Rene Engelhard" />
<person posts="2" size="7" who="Duraid Madina" />
<person posts="2" size="7" who="Jerome Chantelauze" />
<person posts="2" size="7" who="(jmerkey)" />
<person posts="2" size="7" who="Gianni Tedesco" />
<person posts="2" size="7" who="Torrey Hoffman" />
<person posts="2" size="7" who="&quot;Mukker, Atul&quot;" />
<person posts="2" size="7" who="Kevin O'Connor" />
<person posts="2" size="7" who="Joel Jaeggli" />
<person posts="2" size="7" who="Hans Reiser" />
<person posts="2" size="6" who="=?iso-8859-1?q?Terje=20F=E5berg?=" />
<person posts="2" size="6" who="Randolph Bentson" />
<person posts="2" size="6" who="Fabiano Sidler" />
<person posts="2" size="6" who="Wiktor Wodecki" />
<person posts="2" size="6" who="Marcus Metzler" />
<person posts="2" size="6" who="&quot;Parag Warudkar&quot;" />
<person posts="2" size="6" who="Jakob Kemi" />
<person posts="2" size="6" who="&quot;Dr. David Alan Gilbert&quot;" />
<person posts="2" size="6" who="Joe Burks" />
<person posts="2" size="6" who="Ragnar Hojland Espinosa" />
<person posts="2" size="6" who="Petr Vandrovec" />
<person posts="2" size="6" who="Russ Dill" />
<person posts="2" size="6" who="Lucas Correia Villa Real" />
<person posts="2" size="6" who="Scott Robert Ladd" />
<person posts="2" size="6" who="David Hinds" />
<person posts="2" size="6" who="Craig Thomas" />
<person posts="2" size="6" who="Daniel Jacobowitz" />
<person posts="2" size="6" who="&quot;Henning P. Schmiedehausen&quot;" />
<person posts="2" size="6" who="Gong Su" />
<person posts="2" size="6" who="=?ISO-8859-1?Q?Mika_Penttil=E4?=" />
<person posts="2" size="6" who="Rusty Trivial Russell" />
<person posts="2" size="6" who="Ed Vance" />
<person posts="2" size="6" who="=?iso-8859-1?Q?Tero_J=E4nk=E4?=" />
<person posts="2" size="6" who="Greg Ungerer" />
<person posts="2" size="6" who="Santiago Garcia Mantinan" />
<person posts="2" size="6" who="=?ISO-8859-15?Q?Mika_Penttil=E4?=" />
<person posts="2" size="6" who="Kristian Peters" />
<person posts="2" size="6" who=" (Eric W. Biederman)" />
<person posts="2" size="6" who="Nir Livni" />
<person posts="2" size="6" who="Ahmed Masud" />
<person posts="2" size="6" who="Horst von Brand" />
<person posts="2" size="6" who="Monchi Abbad" />
<person posts="2" size="6" who="Nir Livni" />
<person posts="2" size="6" who="(esp)" />
<person posts="2" size="6" who="Shaya Potter" />
<person posts="2" size="6" who="Jordan Breeding" />
<person posts="2" size="6" who="Mel Gorman" />
<person posts="2" size="6" who="jw schultz" />
<person posts="2" size="6" who="&quot;matsunaga&quot;" />
<person posts="2" size="6" who="Philippe Amelant" />
<person posts="2" size="6" who="Ed L Cashin" />
<person posts="2" size="6" who="John covici" />
<person posts="2" size="6" who="Bruce Harada" />
<person posts="2" size="6" who="&quot;Roets, Chris (Tru64&amp;Linux support)&quot;" />
<person posts="2" size="6" who="Peter Chubb" />
<person posts="2" size="6" who="Richard Henderson" />
<person posts="2" size="6" who="Stephen Torri" />
<person posts="2" size="6" who="DevilKin-LKML" />
<person posts="2" size="6" who="Brouard Nicolas" />
<person posts="2" size="5" who="Andrew Ryan" />
<person posts="2" size="5" who="=?ISO-8859-2?Q?Rafa=B3?= 'rmrmg' Roszak" />
<person posts="2" size="5" who="Nathan" />
<person posts="2" size="5" who="Joe Buck" />
<person posts="2" size="5" who="Paul P Komkoff Jr" />
<person posts="2" size="5" who="(jlnance)" />
<person posts="2" size="5" who="Nuno Silva" />
<person posts="2" size="5" who="Jan Marek" />
<person posts="2" size="5" who="Matthias Schniedermeyer" />
<person posts="2" size="5" who="Arne Brutschy" />
<person posts="2" size="5" who="Richard C Bilson" />
<person posts="2" size="5" who="Dan Carpenter" />
<person posts="2" size="5" who="(jpo234)" />
<person posts="2" size="5" who=" (David Wagner)" />
<person posts="2" size="5" who="John M Collins" />
<person posts="2" size="5" who="Douglas Gilbert" />
<person posts="2" size="5" who="&quot;Stuart MacDonald&quot;" />
<person posts="2" size="5" who="&quot;Ming Lei&quot;" />
<person posts="2" size="5" who="Luca Montecchiani" />
<person posts="2" size="5" who="&quot;Frederick, Fabian&quot;" />
<person posts="2" size="5" who="Edgar Toernig" />
<person posts="2" size="5" who="Rik van Riel" />
<person posts="2" size="5" who=" (Miquel van Smoorenburg)" />
<person posts="2" size="5" who="Daniele Bellucci" />
<person posts="2" size="5" who="Duncan Laurie" />
<person posts="2" size="5" who="Danek Duvall" />
<person posts="2" size="5" who="Vincent Hanquez" />
<person posts="2" size="5" who="Daniel Sheltraw" />
<person posts="2" size="5" who="Kay Salzwedel" />
<person posts="2" size="5" who="Kyuma Ohta" />
<person posts="2" size="5" who="Anton Petrusevich" />
<person posts="2" size="4" who="Ho Lee" />
<person posts="2" size="4" who="&quot;Paul Rolland&quot;" />
<person posts="2" size="4" who="Gerald Stuhrberg" />
<person posts="2" size="4" who="(root)" />
<person posts="2" size="4" who="Witold Krecicki" />
<person posts="2" size="4" who="Samium Gromoff" />
<person posts="2" size="4" who="(cosmos)" />
<person posts="2" size="4" who="Andrew Walrond" />
<person posts="2" size="4" who="Joe DiMartino" />
<person posts="2" size="4" who="Michael Zhu" />
<person posts="2" size="4" who="(Ravi_Chuppala)" />
<person posts="2" size="4" who="Hakan Lennestal" />
<person posts="2" size="4" who="Vitalis Tiknius" />
<person posts="2" size="4" who="Brad Chapman" />
<person posts="2" size="4" who="Kari Kallioinen" />
<person posts="2" size="4" who="&quot;T. Weyergraf&quot;" />
<person posts="2" size="4" who="David Anderson" />
<person posts="2" size="4" who="(update_info)" />
<person posts="1" size="72" who="(kevin121)" />
<person posts="1" size="63" who="&quot;Szonyi Calin&quot;" />
<person posts="1" size="52" who="Larry Lee" />
<person posts="1" size="43" who="(control.cards)" />
<person posts="1" size="42" who="Andrei Ivanov" />
<person posts="1" size="38" who="Thomas Molina" />
<person posts="1" size="38" who="Robert Kulagowski" />
<person posts="1" size="38" who="Ernst Herzberg" />
<person posts="1" size="35" who="Max Valdez" />
<person posts="1" size="33" who="John Duthie" />
<person posts="1" size="31" who="(rankincj)" />
<person posts="1" size="29" who="&quot;Simon Kofod&quot;" />
<person posts="1" size="28" who="Ed Sweetman" />
<person posts="1" size="27" who="Etienne Favey" />
<person posts="1" size="26" who="Narayan Desai" />
<person posts="1" size="25" who="Hans Boehm" />
<person posts="1" size="22" who="&quot;Christopher Chan&quot;" />
<person posts="1" size="20" who="&quot;kernel&quot;" />
<person posts="1" size="17" who="Niels Werensteijn" />
<person posts="1" size="17" who="Ben" />
<person posts="1" size="15" who=" (John Myers)" />
<person posts="1" size="15" who="Arnout Engelen" />
<person posts="1" size="15" who="Gabor MICSKO" />
<person posts="1" size="15" who="&quot;Fryderyk Mazurek&quot;" />
<person posts="1" size="14" who="Antonello Biancalana" />
<person posts="1" size="14" who="&quot;John E. Leon Guerrero&quot;" />
<person posts="1" size="14" who="Jon Miles" />
<person posts="1" size="14" who="Alex Deucher" />
<person posts="1" size="14" who="&quot;Greg Varga&quot;" />
<person posts="1" size="14" who="Sean Swallow" />
<person posts="1" size="13" who="Fabio Bracci" />
<person posts="1" size="13" who="boris mogwitz" />
<person posts="1" size="12" who="Colm =?iso-8859-15?Q?MacC=E1rthaigh?=" />
<person posts="1" size="12" who="Piotr Krukowiecki" />
<person posts="1" size="12" who="Brett" />
<person posts="1" size="10" who="Shashi Rao" />
<person posts="1" size="10" who="=?iso-8859-2?Q?Martin_MOKREJ=A9?=" />
<person posts="1" size="10" who="Robert Winder" />
<person posts="1" size="10" who="Martin Hicks" />
<person posts="1" size="9" who="Patrick Pfeifer" />
<person posts="1" size="9" who="NeilBrown" />
<person posts="1" size="9" who="&quot;Joao Rochate&quot;" />
<person posts="1" size="8" who="David Mansfield" />
<person posts="1" size="8" who="=?iso-8859-1?q?Steve=20Kieu?=" />
<person posts="1" size="8" who="Christopher Huhn" />
<person posts="1" size="8" who="Peter Braam" />
<person posts="1" size="8" who="Michael Ulbrich" />
<person posts="1" size="8" who="&quot;Andreas Achtzehn&quot;" />
<person posts="1" size="8" who="Dhruv Anand" />
<person posts="1" size="8" who="Kai Bankett" />
<person posts="1" size="7" who="Ameya Mitragotri" />
<person posts="1" size="7" who="Frank Dekervel" />
<person posts="1" size="7" who="Marco Bagni" />
<person posts="1" size="7" who="Mathew Spencer" />
<person posts="1" size="7" who="Nicolas Pitre" />
<person posts="1" size="7" who="Andrey Nekrasov" />
<person posts="1" size="7" who="Lawrence Walton" />
<person posts="1" size="7" who="Benny Wilbanks" />
<person posts="1" size="7" who="Gabi Craciun" />
<person posts="1" size="7" who="Torsten Wolf" />
<person posts="1" size="7" who="&quot;John T. Guthrie&quot;" />
<person posts="1" size="7" who="&quot;Shaw, Marco&quot;" />
<person posts="1" size="7" who="Lincoln Durey" />
<person posts="1" size="7" who="Karsten Desler" />
<person posts="1" size="6" who="Inigo Surguy" />
<person posts="1" size="6" who="&quot;Richard M. van Hees&quot;" />
<person posts="1" size="6" who="&quot;Gabor Z. Papp&quot;" />
<person posts="1" size="6" who="Nadeem Riaz" />
<person posts="1" size="6" who="&quot;jairam nair&quot;" />
<person posts="1" size="6" who="Alex Romosan" />
<person posts="1" size="6" who="Carfield Yim" />
<person posts="1" size="5" who="Justin Pryzby" />
<person posts="1" size="5" who="Tobias Diedrich" />
<person posts="1" size="5" who="Boris" />
<person posts="1" size="5" who="&quot;Nguyen, Tom L&quot;" />
<person posts="1" size="5" who="Brian Gerst" />
<person posts="1" size="5" who="aleik kargboa" />
<person posts="1" size="5" who="Ray Lee" />
<person posts="1" size="5" who="Magnus Solvang" />
<person posts="1" size="5" who="&quot;Jouni Viikari&quot;" />
<person posts="1" size="5" who="Mike Jones" />
<person posts="1" size="5" who="(LW)" />
<person posts="1" size="5" who="&quot;Kristofer T. Karas&quot;" />
<person posts="1" size="5" who="Thomas Backlund" />
<person posts="1" size="5" who="James Sewell" />
<person posts="1" size="5" who="Robert Murray" />
<person posts="1" size="5" who="Nagy Gabor" />
<person posts="1" size="5" who="&quot;Wiedemeier, Jeff&quot;" />
<person posts="1" size="4" who="Peteris Krumins" />
<person posts="1" size="4" who="Jaroslav Kysela" />
<person posts="1" size="4" who="&quot;Nimrod A. Abing&quot;" />
<person posts="1" size="4" who="Vinay K Nallamothu" />
<person posts="1" size="4" who="Pasi Savilaakso" />
<person posts="1" size="4" who="Pasi Savolainen" />
<person posts="1" size="4" who="James Blanford" />
<person posts="1" size="4" who="Hiro Yoshioka" />
<person posts="1" size="4" who="&quot;Paolo Ciarrocchi&quot;" />
<person posts="1" size="4" who="Andreas Gruenbacher" />
<person posts="1" size="4" who="Jeff Chua" />
<person posts="1" size="4" who="&quot;Cress, Andrew R&quot;" />
<person posts="1" size="4" who=" (=?iso-8859-1?q?Rasmus_B=F8g_Hansen?=)" />
<person posts="1" size="4" who="DervishD" />
<person posts="1" size="4" who="Mary Edie Meredith" />
<person posts="1" size="4" who="Nathan Scott" />
<person posts="1" size="4" who="Steffen Persvold" />
<person posts="1" size="4" who="=?ISO-8859-1?Q?Fr=E9d=E9ric_L=2E_W=2E_Meunier?=" />
<person posts="1" size="4" who="Jiri Pittner" />
<person posts="1" size="4" who="=?iso-8859-1?Q?Agust=EDn?= Herrera" />
<person posts="1" size="4" who="&quot;Laurent Pierre (MIS)&quot;" />
<person posts="1" size="4" who="&quot;WWS LOTTERY&quot;" />
<person posts="1" size="4" who="Eric Valette" />
<person posts="1" size="4" who="Mark Fasheh" />
<person posts="1" size="4" who="&quot;Leech, Christopher&quot;" />
<person posts="1" size="4" who="&quot;David J. Chase&quot;" />
<person posts="1" size="4" who="Anton Altaparmakov" />
<person posts="1" size="4" who="Ragnar =?iso-8859-15?Q?Kj=F8rstad?=" />
<person posts="1" size="4" who="Florian Lohoff" />
<person posts="1" size="4" who="Michael Neuffer" />
<person posts="1" size="4" who="&quot;Bailey, Scott&quot;" />
<person posts="1" size="4" who="Jon Grimm" />
<person posts="1" size="4" who="Jerry Cooperstein" />
<person posts="1" size="4" who="Miles T Lane" />
<person posts="1" size="4" who="Meino Christian Cramer" />
<person posts="1" size="4" who="=?ISO-8859-1?Q?Ram=F3n?= Rey Vicente" />
<person posts="1" size="4" who="Hanno =?ISO-8859-15?Q?B=F6ck?=" />
<person posts="1" size="4" who="Henning Schmiedehausen" />
<person posts="1" size="4" who="Richard A Nelson" />
<person posts="1" size="4" who="Jim He" />
<person posts="1" size="4" who="Juan Quintela" />
<person posts="1" size="4" who="&quot;ismail donmez&quot;" />
<person posts="1" size="4" who="&quot;Lincoln D. Durey&quot;" />
<person posts="1" size="4" who="Andrey Panin" />
<person posts="1" size="4" who="Patrick Mansfield" />
<person posts="1" size="4" who="Promotions Manager" />
<person posts="1" size="4" who="Melchior FRANZ" />
<person posts="1" size="4" who=" &lt;steve.glass@optusnet.com.au&gt;" />
<person posts="1" size="3" who="Harald Welte" />
<person posts="1" size="3" who="&quot;J C&quot;" />
<person posts="1" size="3" who="Marc Haber" />
<person posts="1" size="3" who="&quot;mazi oke&quot;" />
<person posts="1" size="3" who="Jan Dittmer" />
<person posts="1" size="3" who="&quot;Ravi Kiran G&quot;" />
<person posts="1" size="3" who="Frode Isaksen" />
<person posts="1" size="3" who="&quot;Anand K&quot;" />
<person posts="1" size="3" who="Lincoln Dale" />
<person posts="1" size="3" who="Romain Lievin" />
<person posts="1" size="3" who="Jan-Benedict Glaw" />
<person posts="1" size="3" who="&quot;Oliver M. Bolzer&quot;" />
<person posts="1" size="3" who="Martin Wirth" />
<person posts="1" size="3" who="Takashi Iwai" />
<person posts="1" size="3" who="=?koi8-r?b?68/O09TBztTJziDk1c7Bxdc=?=" />
<person posts="1" size="3" who="Jody Pearson" />
<person posts="1" size="3" who="Martin Waitz" />
<person posts="1" size="3" who="Hirokazu Takahashi" />
<person posts="1" size="3" who="Johannes Erdfelt" />
<person posts="1" size="3" who="Ishikawa" />
<person posts="1" size="3" who="Zack Gilburd" />
<person posts="1" size="3" who="Kai Germaschewski" />
<person posts="1" size="3" who="Forrest L Norvell" />
<person posts="1" size="3" who="Lukasz Trabinski" />
<person posts="1" size="3" who="greendisease" />
<person posts="1" size="3" who="Jeffrey Ross" />
<person posts="1" size="3" who="=?ISO-2022-JP?B?GyRCNUg7MxsoQiAbJEI5OBsoQg==?=" />
<person posts="1" size="3" who="Ross Biro" />
<person posts="1" size="3" who="Daniele Bellucci" />
<person posts="1" size="3" who="Jonathan Woithe" />
<person posts="1" size="3" who="&quot;super18x&quot;" />
<person posts="1" size="3" who="&quot;Selbak, Rolla N&quot;" />
<person posts="1" size="3" who="(Matt_Domsch)" />
<person posts="1" size="3" who="&quot;Zephaniah E. Hull&quot;" />
<person posts="1" size="3" who="FORT David" />
<person posts="1" size="3" who="Julien Oster" />
<person posts="1" size="3" who="Terje Malmedal" />
<person posts="1" size="3" who="&quot;Guillaume Boissiere&quot;" />
<person posts="1" size="3" who="Jeff Muizelaar" />
<person posts="1" size="3" who="&quot;Dean McEwan&quot;" />
<person posts="1" size="3" who="Jordan Breeding" />
<person posts="1" size="3" who="Bartlomiej Solarz-Niesluchowski" />
<person posts="1" size="3" who="Olaf Dietrich" />
<person posts="1" size="3" who="Luciano Campal Vazquez" />
<person posts="1" size="3" who="Jay Denebeim" />
<person posts="1" size="3" who="News Admin" />
<person posts="1" size="3" who="&quot;Mr. James W. Laferriere&quot;" />
<person posts="1" size="3" who="&quot;uyuyuytu&quot;" />
<person posts="1" size="3" who="Andrej Hocevar" />
<person posts="1" size="3" who="Stelian Pop" />
<person posts="1" size="3" who="Jeff" />
<person posts="1" size="3" who="Stefano Rivoir" />
<person posts="1" size="3" who="Tim Connors" />
<person posts="1" size="3" who="Filip Van Raemdonck" />
<person posts="1" size="3" who="Maciej Babinski" />
<person posts="1" size="3" who="Jochen Friedrich" />
<person posts="1" size="3" who="(Martin_List-Petersen)" />
<person posts="1" size="3" who="Dieter =?iso-8859-15?q?N=FCtzel?=" />
<person posts="1" size="3" who="(szazol)" />
<person posts="1" size="3" who="Jer Jackson" />
<person posts="1" size="3" who="&quot;David A. Lethe&quot;" />
<person posts="1" size="3" who="Alexandre Pereira Nunes" />
<person posts="1" size="3" who="&quot;Robert Williamson&quot;" />
<person posts="1" size="3" who="&quot;Thomas Backlund&quot;" />
<person posts="1" size="3" who="Ion Badulescu" />
<person posts="1" size="3" who=" (Peter Bornemann)" />
<person posts="1" size="3" who="Henrik Nordstrom" />
<person posts="1" size="3" who="Frank van Maarseveen" />
<person posts="1" size="3" who=" (Eric W. Biederman)" />
<person posts="1" size="3" who="Andreas Schultz" />
<person posts="1" size="3" who="Rogier Wolff" />
<person posts="1" size="3" who="&quot;BOVARD JAY D&quot;" />
<person posts="1" size="3" who="Niels den Otter" />
<person posts="1" size="3" who="Michal Jaegermann" />
<person posts="1" size="3" who="Andrew Steele" />
<person posts="1" size="3" who="Stephen Smalley" />
<person posts="1" size="3" who="Rob Browning" />
<person posts="1" size="3" who="Joe Briggs" />
<person posts="1" size="3" who="Daniele Bellucci  (by way of Daniele Bellucci" />
<person posts="1" size="3" who="Andreas Heilwagen" />
<person posts="1" size="3" who="Raja R Harinath" />
<person posts="1" size="3" who="Damian =?iso-8859-2?Q?Ko=B3kowski?=" />
<person posts="1" size="3" who="steelgate" />
<person posts="1" size="3" who="(manfred)" />
<person posts="1" size="3" who="Bernard Blackham" />
<person posts="1" size="3" who="Paul Marinceu" />
<person posts="1" size="3" who="&quot;William McDonald Buck&quot;" />
<person posts="1" size="3" who="bert hubert" />
<person posts="1" size="3" who="Herbert Poetzl" />
<person posts="1" size="3" who="David Gibson" />
<person posts="1" size="3" who="Ben Greear" />
<person posts="1" size="3" who="Flavio Bruno Leitner" />
<person posts="1" size="3" who="rmoser" />
<person posts="1" size="3" who="&quot;Christopher S. Aker&quot;" />
<person posts="1" size="3" who="Carlo Wood" />
<person posts="1" size="3" who="Kevin Fenzi" />
<person posts="1" size="3" who=" (Kai Henningsen)" />
<person posts="1" size="3" who="James Mayer" />
<person posts="1" size="3" who="(brian)" />
<person posts="1" size="3" who="Siim Vahtre" />
<person posts="1" size="3" who="Dave Jones" />
<person posts="1" size="3" who="&quot;lutovac vaso&quot;" />
<person posts="1" size="3" who="Jose Luis Domingo Lopez" />
<person posts="1" size="3" who="Erik Hensema" />
<person posts="1" size="3" who="&quot;Sean Hunter&quot;" />
<person posts="1" size="3" who="Edward Hibbert" />
<person posts="1" size="3" who="Andrzej Krzysztofowicz" />
<person posts="1" size="3" who="Ian Kumlien" />
<person posts="1" size="3" who="Martin MAURER" />
<person posts="1" size="3" who="Clemens Schwaighofer" />
<person posts="1" size="3" who="Andy Whitcroft" />
<person posts="1" size="3" who="Derek Fawcus" />
<person posts="1" size="3" who="Josh McKinney" />
<person posts="1" size="3" who="Felipe W Damasio" />
<person posts="1" size="3" who="Boszormenyi Zoltan" />
<person posts="1" size="3" who="Jack Aboutboul" />
<person posts="1" size="3" who="&quot;Truman Camp&quot;" />
<person posts="1" size="3" who="&quot;Peter Westwood&quot;" />
<person posts="1" size="3" who="Andrew Vasquez" />
<person posts="1" size="3" who="Julius Ikimi" />
<person posts="1" size="3" who="&quot;Michael S. Peek&quot;" />
<person posts="1" size="3" who="Dana Lacoste" />
<person posts="1" size="3" who="Pekka Pietikainen" />
<person posts="1" size="3" who="Natsakis Konstantinos" />
<person posts="1" size="3" who="Stephane Wirtel" />
<person posts="1" size="3" who="(oxymoron)" />
<person posts="1" size="3" who="Peter" />
<person posts="1" size="3" who="Catalin BOIE" />
<person posts="1" size="3" who="Daniel Egger" />
<person posts="1" size="3" who="Andrey Klochko" />
<person posts="1" size="3" who="(jmutonho)" />
<person posts="1" size="3" who="&quot;Merle Erickson&quot;" />
<person posts="1" size="3" who="Rex Tsai" />
<person posts="1" size="3" who="Philippe =?ISO-8859-15?Q?Gramoull=E9?=" />
<person posts="1" size="2" who="Shachar Shemesh" />
<person posts="1" size="2" who="Marco Tedaldi" />
<person posts="1" size="2" who="Ben Pfaff" />
<person posts="1" size="2" who="Stas Sergeev" />
<person posts="1" size="2" who="&quot;Nicholas Berry&quot;" />
<person posts="1" size="2" who="Adam Sampson" />
<person posts="1" size="2" who="Peter Petrov" />
<person posts="1" size="2" who="Peter Seiderer" />
<person posts="1" size="2" who="Wes Felter" />
<person posts="1" size="2" who="Petri Koistinen" />
<person posts="1" size="2" who="(xombi)" />
<person posts="1" size="2" who="Roland McGrath" />
<person posts="1" size="2" who="Olaf =?iso-8859-2?Q?Fr=B1czyk?=" />
<person posts="1" size="2" who="Felix von Leitner" />
<person posts="1" size="2" who="&quot;Philip Thomas&quot;" />
<person posts="1" size="2" who="Patrizio Bruno" />
<person posts="1" size="2" who="(Gary_Lerhaupt)" />
<person posts="1" size="2" who="Matti Aarnio" />
<person posts="1" size="2" who="Thomas Tonino" />
<person posts="1" size="2" who="Sami Nieminen" />
<person posts="1" size="2" who="&quot;Mathur, Shobhit&quot;" />
<person posts="1" size="2" who="Andrey Klochko" />
<person posts="1" size="2" who="=?iso-8859-2?Q?Marcel_=A9ebek?=" />
<person posts="1" size="2" who="Paolo Ornati" />
<person posts="1" size="2" who="Junfeng Yang" />
<person posts="1" size="2" who="walt" />
<person posts="1" size="2" who="Eric Blade" />
<person posts="1" size="2" who="Martin Mares" />
<person posts="1" size="2" who="Alexey Mahotkin" />
<person posts="1" size="2" who="Doug McNaught" />
<person posts="1" size="2" who="wwp" />
<person posts="1" size="2" who="Olaf Dietsche" />
<person posts="1" size="2" who="(bill-linuxkernel20030609)" />
<person posts="1" size="2" who="&quot;Leonardo H. Machado&quot;" />
<person posts="1" size="2" who="Mike Playle" />
<person posts="1" size="2" who="Joe" />
<person posts="1" size="2" who="Chris Rankin" />
<person posts="1" size="2" who="Jody Pearson" />
<person posts="1" size="2" who="(cijoml)" />
<person posts="1" size="2" who="Lionel Bouton" />
<person posts="1" size="2" who="David Mosberger-Tang" />
<person posts="1" size="2" who="&quot;Gabor Z. Papp&quot;" />
<person posts="1" size="2" who="Olivier Galibert" />
<person posts="1" size="2" who="Jonathan Lundell" />
<person posts="1" size="2" who="Christian Ullrich" />
<person posts="1" size="2" who=" (=?iso-8859-1?q?Ilpo_Nyyss=F6nen?=)" />
<person posts="1" size="2" who=" (Jonathan Corbet)" />
<person posts="1" size="2" who="&quot;Mark M. Hoffman&quot;" />
<person posts="1" size="2" who="&quot;Paul Fulghum&quot;" />
<person posts="1" size="2" who="(marcelopenna)" />
<person posts="1" size="2" who="Richard Braakman" />
<person posts="1" size="2" who="dep" />
<person posts="1" size="2" who="Paul" />
<person posts="1" size="2" who="Duncan Sands" />
<person posts="1" size="2" who="&quot;Marcel Offermans&quot;" />
<person posts="1" size="2" who="&quot;George G. Davis&quot;" />
<person posts="1" size="2" who="Alasdair G Kergon" />
<person posts="1" size="2" who="Dan Kegel" />
<person posts="1" size="2" who="Leopold Gouverneur" />
<person posts="1" size="2" who="Mark Rutherford" />
<person posts="1" size="2" who="(AntiVir)" />
<person posts="1" size="2" who="Paul Jakma" />
<person posts="1" size="2" who="&quot;Dmitry A. Fedorov&quot;" />
<person posts="1" size="2" who="Josh Litherland" />
<person posts="1" size="2" who="&quot;B. Joshua Rosen&quot;" />
<person posts="1" size="2" who="Simon Kirby" />
<person posts="1" size="2" who="=?iso-8859-1?Q?Cs=E1rdi_G=E1bor?=" />
<person posts="1" size="2" who="Matt C" />
<person posts="1" size="2" who="&quot;Ashley Whey&quot;" />
<person posts="1" size="2" who="(chihchun)" />
<person posts="1" size="2" who="Greg Louis" />
<person posts="1" size="2" who="Roy Sigurd Karlsbakk" />
<person posts="1" size="2" who="sridhar vaidyanathan" />
<person posts="1" size="2" who="&quot;Roeland Th. Jansen&quot;" />
<person posts="1" size="2" who="Mark Grosberg" />
<person posts="1" size="2" who="&quot;nntu_x9m0ph9ocv nntu_x9m0ph9ocv&quot;" />
<person posts="1" size="2" who="&quot;netlib server&quot;" />
<person posts="1" size="2" who="&quot;Leonard Milcin, Jr&quot;" />
<person posts="1" size="2" who="Dave Airlie" />
<person posts="1" size="2" who="&quot;dan carpenter&quot;" />
<person posts="1" size="2" who="Alex Goddard" />
<person posts="1" size="2" who="Mark Dascher" />
<person posts="1" size="2" who="Stelian Pop" />
<person posts="1" size="2" who="Brian Gerst" />
<person posts="1" size="2" who="&quot;panchi&quot;" />
<person posts="1" size="2" who="&quot;Corbett, David&quot;" />
<person posts="1" size="2" who="&quot;Jessika Anston&quot;" />
<person posts="1" size="2" who="Simon Kelley" />
<person posts="1" size="2" who="Baurjan Ismagulov" />
<person posts="1" size="2" who="Kent Borg" />
<person posts="1" size="2" who="Kenneth Johansson" />
<person posts="1" size="2" who="Chee Kent Lam" />
<person posts="1" size="2" who="(referral)" />
<person posts="1" size="2" who="Henrik Storner" />
<person posts="1" size="2" who="Marc Giger" />
<person posts="1" size="2" who="&quot;Lupe Spears&quot;" />
<person posts="1" size="2" who="&quot;Andrey Borzenkov&quot;" />
<person posts="1" size="2" who="=?iso-8859-1?B?QWd1c3TtbiBIZXJyZXJh?=" />
<person posts="1" size="2" who="Robert Olsson" />
<person posts="1" size="2" who="Ken Moffat" />
<person posts="1" size="2" who="Eric Benson" />
<person posts="1" size="2" who="Nicolas Mailhot" />
<person posts="1" size="2" who="Jeff Muizelaar" />
<person posts="1" size="2" who="Daniele" />
<person posts="1" size="2" who="William Voorsluys" />
<person posts="1" size="2" who="James Washer" />
<person posts="1" size="2" who="Peter Samuelson" />
<person posts="1" size="2" who="&quot;Paul Albrecht&quot;" />
<person posts="1" size="2" who="Arun Dharankar" />
<person posts="1" size="2" who="&quot;Suryakant Verma&quot;" />
<person posts="1" size="2" who="Qianfeng Zhang" />
<person posts="1" size="2" who="&quot;Bloch, Jack&quot;" />
<person posts="1" size="2" who="Kevin Puetz" />
<person posts="1" size="2" who=" (Danny ter Haar)" />
<person posts="1" size="2" who="&quot;Cedric ADAM&quot;" />
<person posts="1" size="2" who="John Shifflett" />
<person posts="1" size="2" who="lars hofhansl" />
<person posts="1" size="2" who="Rabeeh Khoury" />
<person posts="1" size="2" who="Manuel Sabban" />
<person posts="1" size="2" who="&quot;Jean M. Bouchara&quot;" />
<person posts="1" size="2" who="Robert Lowery" />
<person posts="1" size="2" who="&quot;ismail (cartman) donmez&quot;" />
<person posts="1" size="2" who="&quot;Ing. Mauro Tassinari&quot;" />
<person posts="1" size="2" who="Dumitru Stama" />
<person posts="1" size="2" who="Alan Stern" />
<person posts="1" size="2" who="&quot;Angelo&quot;" />
<person posts="1" size="2" who="&quot;Hemanshu Kanji Bhadra, Noida&quot;" />
<person posts="1" size="2" who="Mattia Dongili" />
<person posts="1" size="2" who="&quot;paul buenrostro&quot;" />
<person posts="1" size="2" who="Giuliano Pochini" />
<person posts="1" size="2" who="Jonathan Corbet" />
<person posts="1" size="2" who="Sven Geggus" />
<person posts="1" size="2" who="Vladimir Saveliev" />
<person posts="1" size="2" who="hv-it" />
<person posts="1" size="2" who="Adam Cecchetti" />
<person posts="1" size="2" who="&quot;Jeffrey W. Baker&quot;" />
<person posts="1" size="2" who="Phil Oester" />
<person posts="1" size="2" who="Colin Paul Adams" />
<person posts="1" size="2" who="(kuznet)" />
<person posts="1" size="2" who="(prox)" />
<person posts="1" size="2" who="Jason Lunz" />
<person posts="1" size="2" who="John Kim" />
<person posts="1" size="2" who="Maciej" />
<person posts="1" size="2" who="Philip Dodd" />
<person posts="1" size="2" who="jones" />
<person posts="1" size="2" who="&quot;Auge Mike&quot;" />
<person posts="1" size="2" who="Michael Elizabeth Chastain" />
<person posts="1" size="2" who="Louis Garcia" />
<person posts="1" size="2" who="mingz" />
<person posts="1" size="2" who="Slack Ware" />
<person posts="1" size="2" who="&quot;kandrak&quot;" />
<person posts="1" size="2" who="&quot;hv-trust&quot;" />
<person posts="1" size="2" who="&quot;Michael D. Harnois&quot;" />
<person posts="1" size="2" who="Tom Zanussi" />
<person posts="1" size="2" who="Jan Knutar" />
<person posts="1" size="2" who=" (Gregory Maxwell)" />
<person posts="1" size="2" who="Carsten Burstedde" />
<person posts="1" size="2" who="=?iso-8859-1?q?mounir=20tahar=20abbes?=" />
<person posts="1" size="2" who="Fekete Gabor" />
<person posts="1" size="2" who="David Ford" />
<person posts="1" size="2" who="&quot;paul buenrostro&quot;" />
<person posts="1" size="2" who="(mike.t)" />
<person posts="1" size="2" who="(fcorneli)" />
<person posts="1" size="2" who="Rhoda Hilton" />
<person posts="1" size="2" who="&quot;Gurpreet Singh (SCM)&quot;" />
<person posts="1" size="2" who="&quot;Pierre&quot;" />
<person posts="1" size="2" who="ismail kavak" />
<person posts="1" size="2" who="&quot;Breno&quot;" />
<person posts="1" size="2" who=" (khromy)" />
<person posts="1" size="2" who="Chuck Ebbert" />
<person posts="1" size="1" who="&quot;Pedro Requejo&quot;" />
<person posts="1" size="1" who="Jeremy Buseman" />
<person posts="1" size="1" who="gratenet" />
<person posts="1" size="1" who="&quot;LOADER KOMATSU&quot;" />

</stats>

<section
  title="Futex Updates; Backward Compatibility Policy"
  subject="[patch] futex requeueing feature, futex-requeue-2.5.69-D3"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0305.2/0475.html"
  posts="53"
  startdate="19 May 2003 01:31:51 -0800"
  enddate="22 May 2003 04:04:24 -0800"
>
<topic>Backward Compatibility</topic>
<topic>Big O Notation</topic>
<topic>Microkernels</topic>
<topic>SMP</topic>
<topic>Scheduler</topic>

<mention>Ulrich Drepper</mention>

<p>Ingo Molnar said:</p>

<quote who="Ingo Molnar">

<p>the attached patch addresses a futex related SMP scalability problem of
glibc. A number of regressions have been reported to the NTPL mailing list
when going to many CPUs, for applications that use condition variables and
the pthread_cond_broadcast() API call. Using this functionality, testcode
shows a slowdown from 0.12 seconds runtime to over 237 seconds (!)
runtime, on 4-CPU systems.</p>

<p>pthread condition variables use two futex-backed mutex-alike locks: an
internal one for the glibc CV state itself, and a user-supplied mutex
which the API guarantees to take in certain codepaths. (Unfortunately the
user-supplied mutex cannot be used to protect the CV state, so we've got
to deal with two locks.)</p>

<p>The cause of the slowdown is a 'swarm effect': if lots of threads are
blocked on a condition variable, and pthread_cond_broadcast() is done,
then glibc first does a FUTEX_WAKE on the cv-internal mutex, then down a
mutex_down() on the user-supplied mutex. Ie. a swarm of threads is created
which all race to serialize on the user-supplied mutex. The more threads
are used, the more likely it becomes that the scheduler will balance them
over to other CPUs - where they just schedule, try to lock the mutex, and
go to sleep. This 'swarm effect' is purely technical, a side-effect of
glibc's use of futexes, and the imperfect coupling of the two locks.</p>

<p>the solution to this problem is to not wake up the swarm of threads, but
'requeue' them from the CV-internal mutex to the user-supplied mutex. The
attached patch adds the FUTEX_REQUEUE feature FUTEX_REQUEUE requeues N
threads from futex address A to futex address B:</p>

<p>        sys_futex(uaddr, FUTEX_REQUEUE, nr_wake, NULL, uaddr2);</p>

<p>the 'val' parameter to sys_futex (nr_wake) is the # of woken up threads.
This way glibc can wake up a single thread (which will take the
user-mutex), and can requeue the rest, with a single system-call.</p>

<p>Ulrich Drepper has implemented FUTEX_REQUEUE support in glibc, and a
number of people have tested it over the past couple of weeks.</p>

</quote>

<p>He posted some statistics compiled by Saurabh Desai, and continued:</p>

<quote who="Ingo Molnar">

<p>the speedup with increasing number of threads is quite significant: in the
128 threads case, it's more than 8 times. In the cond-perf test, on 4 CPUs
it's almost infinitely faster than the 'swarm of threads' catastrophy
triggered by the old code.</p>

<p>there's a slowdown on UP, which is expected: on UP the O(1) scheduler   
implicitly serializes all active threads on the runqueue, and doesnt
degrade under lots of threads. On SMP the 'point of breakdown' depends on
the precise amount of time needed for the threads to become rated as
'cache-cold' by the load-balancer.</p>

<p>(the patch adds a new futex syscall parameter (uaddr2), which is a  
compatible extension of sys_futex. Old NPTL applications will continue to
work without any impact, only the FUTEX_REQUEUE codepath uses the new    
parameter.)</p>

</quote>

<p>Christoph Hellwig rolled his eyes and said, <quote who="Christoph
Hellwig">Urgg, yet another sys_futex extension.  Could you please split all
these totally different cases into separate syscalls instead?</quote> Ingo said
fine, but he wanted to do that later, after finishing the current work.</p>

<p>There was a bit of technical discussion, and then an interesting exchange
involving changing some functionality used by existing user binaries. Rusty
Russell had said, <quote who="Rusty Russell">Ingo's "new syscall" patch has
backwards compat code for the old syscalls.  That's fugly 8(</quote>. Ingo
replied, <quote who="Ingo Molnar">yes, but the damage has been done already,
and now we've got to start the slow wait for the old syscall to flush out of
our tree. It will a few years to get rid of the compat code, but we better
start now.</quote> Christoph replied, <quote who="Christoph Hellwig">Actually
it should go away before 2.6.0.  sys_futex never was part of a released stable
kernel so having the old_ version around is silly.  I Think it's enough
time until 2.6 hits the roads for people to have those vendor libc flushed
out that use it.</quote> And Rusty replied, <quote who="Rusty Russell">Hmm,
in that case I'd say "just break it", and I'd be all in favour of demuxing
the syscall.</quote></p>

<p>At this point, Ingo blurted out:</p>

<quote who="Ingo Molnar">

<p>have you all gone nuts??? It's not an option to break perfectly working
binaries out there. Hell, we didnt even reorder the new NPTL
syscalls/extensions 1-2 kernel releases after the fact. Please grow up!</p>

<p>the interface should have been gotten right initially. We are all guilty
of it - now lets face the consequences. It's only a couple of lines of
code in a well isolated place of the file so i dont know what the fuss is
about.</p>

</quote>

<p>To Ingo's statement that it was not an option to break working binaries,
Rusty said, <quote who="Rusty Russell">Of course it is.  Linux has enough
problem problems due to past mainline stupidities, now we don't need to
codify vendor braindamages aswell.</quote> At this point, Linus Torvalds
came down hard, with:</p>

<quote who="Linus Torvalds">

<p>NO.</p>

<p>Christoph, get a grip. Ingo is 100% right.</p>

<p>IT IS NEVER ACCEPTABLE TO BREAK USER LEVEL BINARIES! In particular, we do
_not_ do it just because of some sense of "aesthetics".</p>

<p>If you want "aesthetics", go play with microkernels, or other academic
projects. They don't care about their users, they care about their ideas.
The end result is, in my opinion, CRAP.</p>

<p>Linux has never been that way. The _founding_ principle of Linux was
"compatibility". Don't ever forget that. The user comes first. ALWAYS.
Pretty code is a desirable feature, but if prettifying the code breaks
user apps, it doesn't get prettified.</p>

<p>Repeat after me: the goodness of an operating system is not in how pretty
it is, but in how well it supports the user.</p>

<p>Make it your mantra.</p>

</quote>

<p>Elsewhere, Linus also said:</p>

<quote who="Linus Torvalds">

<p>Guys, binary compatibility is important. It's important enough that if
something got extensively used on development kernels, it's _still_ a hell
of a lot more important than most other things around. The _only_ things
that trump binary compatibility are</p>

<p>

<ul>

<li>developer sanity (ie it has to be truly mindbogglingly hard to support
   the old interface)</li>
<li>stability (ie if the old interface was so badly designed that it can't
   be done right - mmap on /proc/&lt;pid&gt;/mem was one of these).</li>
<li>it's been deprecated over at least one full stable release.</li>

</ul>

</p>

<p>Something like "it's only been in the development kernels" is simply not
an issue. The only thing that matters is whether it is used by various
binaries or not. And I think futexes are used a lot by glibc..</p>

</quote>

</section>

<section
  title="Status Of Virtual Memory Documentation"
  subject="Finalised 2.4 VM Documentation"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0305.2/0519.html"
  posts="4"
  startdate="19 May 2003 04:53:05 -0800"
  enddate="21 May 2003 07:47:39 -0800"
>
<topic>Virtual Memory</topic>

<mention>Denis Vlasenko</mention>

<p>Mel Gorman said:</p>

<quote who="Mel Gorman">

<p>I've finalised all the documentation that I'm going to do for the 2.4 VM
and no further updates will be posted on the web site to this version. At
this stage it has been heavily read by a number of people and there hasn't
been a complaint or correction in a few weeks now.  I'm happy to say it is
now complete (and more importantly correct) and acts as a detailed
description of the 2.4 VM, the algorithms that it is based on and
comprehensive coverage of the code. People who are only interested in the
2.5.x VMs will still find it much easier to follow when they clearly know
how 2.4 is put together.</p>

<p>As always, it comes in two parts. The first part is the actual
documentation and gives a description of the whole VM. The second is a
code commentary which covers a significant percentage of the VM for
guiding through the messier parts. They are available in PDF, HTML and
plain text formats.</p>

<p>Main site: <a href="http://www.csn.ul.ie/~mel/projects/vm/">http://www.csn.ul.ie/~mel/projects/vm/</a></p>

<p>Understanding the Linux Virtual Memory Manager<br />
PDF:  <a href="http://www.csn.ul.ie/~mel/projects/vm/guide/pdf/understand.pdf">http://www.csn.ul.ie/~mel/projects/vm/guide/pdf/understand.pdf</a><br />
HTML: <a href="http://www.csn.ul.ie/~mel/projects/vm/guide/html/understand/">http://www.csn.ul.ie/~mel/projects/vm/guide/html/understand/</a><br />
Text: <a href="http://www.csn.ul.ie/~mel/projects/vm/guide/text/understand.txt">http://www.csn.ul.ie/~mel/projects/vm/guide/text/understand.txt</a></p>

<p>Code Commentary on the Linux Virtual Memory Manager<br />
PDF:  <a href="http://www.csn.ul.ie/~mel/projects/vm/guide/pdf/code.pdf">http://www.csn.ul.ie/~mel/projects/vm/guide/pdf/code.pdf</a><br />
HTML: <a href="http://www.csn.ul.ie/~mel/projects/vm/guide/html/code">http://www.csn.ul.ie/~mel/projects/vm/guide/html/code</a><br />
Text: <a href="http://www.csn.ul.ie/~mel/projects/vm/guide/text/code.txt">http://www.csn.ul.ie/~mel/projects/vm/guide/text/code.txt</a></p>

<p>Thanks to all the people who read through it, helped me out and sent
encouragement. It's been fun.</p>

</quote>

<p>Denis Vlasenko was completely wowed, and thanked Mel for the work. Paulo
Andre also said to Mel, <quote who="Paulo Andre">thank you for the effort
you've put into this, for how brilliantly put together it is and most of all
for releasing it to the general public. I for one, really appreciate this as
it is one GIANT leap towards documenting well an area of the kernel which has
been historically less than well documented.</quote> He also asked obliquely
if Mel planned on doing anything similar for the 2.6 kernel, and Mel replied,
<quote who="Mel Gorman">heh, maybe much later, but not now. Even thinking about
writing that much again is making me cringe. When I start writing again, it'll
be in the form of notes rather than updating the whole document.</quote></p>

</section>

<section
  title="Page Attribute Table (PAT) Support"
  subject="pat support in the kernel"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0305.2/0896.html"
  posts="10"
  startdate="20 May 2003 10:54:09 -0800"
  enddate="22 May 2003 10:23:52 -0800"
>
<topic>Framebuffer</topic>
<topic>Page Attribute Tables</topic>

<mention>Jeff Hartmann</mention>

<p>Terence Ripperda offered a proposal:</p>

<quote who="Terence Ripperda">

<p>I've discussed adding Page Attribute Table (PAT) support to the kernel w/
a few developers offline. They were very supportive and suggested I bring
the discussion to lkml so others could get involved.</p>

<p>PAT support allows setting cache attributes via the virtual page table
entries that are traditionally set via the MTRRs. The specific cache
attribute graphics companies such as ourselves (nvidia), ATI, Matrox, and
others are becoming interested in is Write-Combining (WC), both for the AGP
and framebuffer apertures. Traditionally, these apertures are marked WC by
setting the physical memory ranges to WC in the MTRRs. This has traditionally
worked very well, but is becoming a problem with workstation systems with 1+
Gigs of memory.</p>

<p>The problem here is that the system bios typically covers physical ram
with Write-Back (WB) MTRRs. On systems with large amounts of physical ram,
especially when physical memory ranges can intersperse with ram, the bioses
are using multiple MTRRs with strange results. In some cases, enough MTRRs are
used to cover physical ram, such that MTRRs are not left over for the AGP or
framebuffer apertures. In other cases, 1 MTRR is used to mark non-physical
ram as Uncached (which covers both apertures). When trying to mark the
appropriate apertures as WC, the kernel refuses to overlap the MTRRs.</p>

<p>Windows works around this MTRR issue by using the PATs.</p>

<p>An example of such a report recently sent to lkml is here: <a
href="http://www.ussg.iu.edu/hypermail/linux/kernel/0303.1/0606.html">http://www.ussg.iu.edu/hypermail/linux/kernel/0303.1/0606.html</a></p>

<p>I discussed this some with Jeff Hartmann, who had some initial development
code that was integrated into agpgart, for marking agp pages WC as they were
allocated. I think it would be preferable to have pat support seperate from
agpgart. In that way, other drivers could make use of PAT support for other
means (such as mapping the framebuffer). Jeff Hartmann sent us a pass at
adding PAT support to agpgart. We've modified his code slightly to be more
generic (standalone from agpgart) and usable via the traditional __pgprot()
macros (and therefore with the change_page_attr() function).</p>

</quote>

<p>Mikael Pettersson replied, <quote who="Mikael Pettersson">Not that I disagre
with utilising the PAT, but I don't see anything in this code to deal with the
widespread PAT indexing erratum in Intel's processors. I don't have the errata
sheets here, but it definitely affected the PIIIs and I think also some P4s.
(Large pages ignoring PAT index bit 2, or something like that.)</quote> Terence
replied that he hadn't been aware of any errata, and he'd go check it out.</p>

</section>

<section
  title="Web Page For The O(1) Scheduler"
  subject="web page on O(1) scheduler"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0305.2/0972.html"
  posts="45"
  startdate="20 May 2003 22:49:17 -0800"
  enddate="04 Jun 2003 07:30:50 -0800"
>
<topic>Big O Notation</topic>
<topic>Scheduler</topic>

<p>David Mosberger announced:</p>

<quote who="David Mosberger">

<p>Recently, I started to look into some odd performance behaviors of the
O(1) scheduler.  I decided to document what I found in a web page
at:</p>

<p><a
href="http://www.hpl.hp.com/research/linux/kernel/o1.php">http://www.hpl.hp.com/research/linux/kernel/o1.php</a></p>

<p>(it may take another couple of hours before the pages show up outside
the HP firewall, so if you get "page not found" at the moment, don't be
surprised).</p>

<p>I should say that I have no direct stake in the CPU scheduler (never worked
on it, not sure I ever would want to), but I feel that it's worthwhile to at
least document the O(1) scheduler a bit better.  Also, I do feel that the
O(1) scheduler currently has rather poor "long-term" properties.  It would
be nice if some of those properties could be improved without hurting the
other excellent properties of the current O(1) scheduler.</p>

<p>I think the web pages should be most relevant to the HPTC (high performance
technical computing) community, since this is the community that is most
likely affected by some of the performance oddities of the O(1) scheduler.
Certainly anyone using OpenMP on Intel platforms (x86 and ia64) may want to
take a look.</p>

</quote>

</section>

<section
  title="Linux Weekly News Articles On Porting Code To 2.5"
  subject="Documentation: the LWN driver porting article series"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0305.2/1243.html"
  posts="2"
  startdate="22 May 2003 07:58:36 -0800"
  enddate="22 May 2003 08:54:14 -0800"
>

<p>Jonathan Corbet said:</p>

<quote who="Jonathan Corbet">

<p>As some of you may be aware, I've been creating a series of articles on
porting device drivers (and other kernel code) to the 2.5 kernel.  That series
is now (more or less) complete.  It's also freely available at this point -
no subscription gates to worry about.  So I wanted to be sure people knew
that this resource is there:</p>

<p><a
href="http://lwn.net/Articles/driver-porting/">http://lwn.net/Articles/driver-porting/</a></p>

<p>If there is interest, I could repackage this stuff under some sort of
suitably free license for wider distribution.  It's easier for me to keep it
up to date on the LWN site, though.  I'd also be curious to hear if there's
any additional topics that people think I should have covered.</p>

</quote>

<p>Patrick Mochel replied, <quote who="Patrick Mochel">Thank you very much.
These articles are great. You've done a wonderful job on them, which is
definitely worth a beer (or three) in Ottawa.</quote></p>

</section>

<section
  title="Kernel Developers' Relationship To POSIX And Other Standards"
  subject="[patch?] truncate and timestamps"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0305.2/1298.html"
  posts="13"
  startdate="22 May 2003 11:09:43 -0800"
  enddate="26 May 2003 17:17:33 -0800"
>
<topic>POSIX</topic>

<mention>Andrew Morton</mention>

<p>In the course of trying to get something working, Andries Brouwer
asked, <quote who="Andries Brouwer">do we want to follow POSIX, also
in the silly requirement that truncate only sets mtime when the size
changes, while O_TRUNC and ftruncate always set mtime.  If so, we have
to uglify do_truncate().</quote> Linus Torvalds replied, <quote who="Linus
Torvalds">Does POSIX really say that? What a crock. If so, we should probably
add the ATTR_xxx mask as an argument to do_truncate() itself, and then make
sure that may_open() sets the ATTR_MTIME bit.</quote> Alexander Viro added:</p>

<quote who="Alexander Viro">

<p>"POSIX says" has value only if there is at least some consensus among
implementations.  Otherwise it's worthless, simply because any program that
cares about portability can't rely on specified behaviour and any program
that doesn't couldn't care less anyway - it will rely on actual behaviour
on system it's supposed to run on.</p>

<p>Andries had shown that there is _no_ consensus.  Ergo, POSIX can take a hike
and we should go with the behaviour convenient for us.  It's that simple..</p>

</quote>

<p>David Schwartz complained:</p>

<quote who="David Schwartz">

<p>This type of attitude ensures there never will be a consensus among
implementations. A lack of consensus today is not grounds for failing to
comply with a standard specifically designed to eliminate that lack.</p>

<p>On the other hand, that has to be balanced by how objectively reasonable or
unreasonable the standard is. However, there should be an extremely strong
preference for concurring with the standard, even against the weight of
other implementations.</p>

</quote>

<p>Close by, Alan Cox said:</p>

<quote who="Alan Cox">

<p>Skipping the update on a truncate not changing size is a performance win
although not a very useful one. I don't think we can ignore the standard
however. For one it simply means all the vendors have to fix it so they can
sell to Government etc.</p>

<p>Now we can certainly put the fix in -every- vendor tree on the planet and
not base, I'm just not sure for something so trivial it isnt better just to
fix it to the spec *or* beat the spec authors up to fix the spec.</p>

</quote>

<p>Here and elsewhere, Andrew Morton advocating at least maintaining
similar behavior in 2.5 as existed in 2.4; but no agreement was reached on
the list.</p>

</section>

<section
  title="SCSI Driver To Access IDE Devices"
  subject="[RFR] a new SCSI driver"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0305.3/0052.html"
  posts="18"
  startdate="24 May 2003 11:51:23 -0800"
  enddate="28 May 2003 10:25:00 -0800"
>
<topic>Disks: IDE</topic>
<topic>Disks: SCSI</topic>
<topic>FS: sysfs</topic>
<topic>Hot-Plugging</topic>
<topic>Serial ATA</topic>
<topic>Version Control</topic>

<mention>Alan Cox</mention>
<mention>James Bottomley</mention>
<mention>Jens Axboe</mention>
<mention>Andre Hedrick</mention>

<p>Jeff Garzik announced:</p>

<quote who="Jeff Garzik">

<p>My little project is now ready to face the masses.  Put simply, this
driver allows one to present ATA (and soon ATAPI) devices through
the Linux SCSI layer.</p>

<p>Since we already have an ATA (a.k.a. IDE) driver, I suppose the main
question on a lot of people's minds is "why?"  So I present some quick
notes, in bullet form, that can form the basis of discussion.</p>

<p>Review is requested by all interested:  driver authors, SCSI mavens,
ATA mavens, whatever.</p>

<p>I request that people try to avoid this posting devolving into an
ata-versus-scsi flamewar.  Maybe I can defuse that before the fact, by
saying:  "when in doubt, use drivers/ide."</p>

<p>So let's begin...  comments and questions welcome!</p>

<p>Why SCSI?<br />
---------</p>

<p>

<ul>

<li>Many of the advantages are derived the existence of the scsi
  mid-layer.  It does a lot of work on our behalf, allowing me
  to focus on the ATA command protocols (PIO-in, PIO-out, DMA,
  etc.) almost exclusively.</li>

<li>The SCSI mid-layer has shrunk and benefitted a lot from Axboe's
  block layer work.  It's much more lightweight in 2.5.x.</li>

<li>Serial ATA is looming quickly on the horizon.  Both device and host
  controller SATA implementations really lend themselves to behaviors
  that have existed in SCSI for a while.  SATA even defines use of SCSI
  Enclosure Services.</li>

<li>The Linux SCSI layer handles hotplugging, and is more modular.
  It already has refcounted devices and sysfs and such.  Creating a
  new block device driver from scratch means handling all those
  little details.</li>

<li>SCSI has been doing basic error recovery and queue control for a
  while now.  Upcoming SATA2 will benefit greatly from this, as well
  ATA TCQ if I ever get around to implementing the latter.</li>

<li>ATAPI is SCSI-like.</li>

<li>Note that PATA in my driver is only an afterthought.  The main
  area of focus, now and in the future, is SATA.  It has strict
  PATA device and host controller restrictions: must do UDMA, LBA,
  be at least ATA-3, etc.  See "when in doubt..." statement above :)</li>

</ul>

</p>

<p>Build notes<br />
-----------</p>

<p>

<ul>

<li>Patch below requires you move drivers/scsi/{scsi,hosts,scsi_obsolete}.h
  to include/linux/scsi_{defs,hosts,obsolete}.h in order to build.
  These changes are present in the FTP site patches and BK repos, but
  are not included below to save space.  They are obvious changes that
  can even be recreated by hand.</li>

<li>You should disable CONFIG_IDE.  Both drivers should request_region
  properly, but if you're not careful the IDE driver will grab the
  hardware before my driver does.</li>

</ul>

</p>

<p>Testing status<br />
--------------</p>

<p>

<ul>

<li>SATA stressed with iozone, bonnie, dbench, and some proprietary stress
  tools, on multiple boxes.</li>

<li>PATA stressed similarly, on one box.</li>

</ul>

</p>

<p>Near-future directions<br />
----------------------</p>

<p>

<ul>

<li>ATAPI (see below)</li>

<li>

<p>libata.c DMA and taskfile handling is still host-controller specific.
  It's the most widely used host controller standard, sure.  But that
  mainly applies to PATA devices.</p>

<p>  Future host controllers, with a tiny additional bit of
  abstracting-out, will simply ignore these functions (provided as
  defaults for most host controllers) and use their own.</p>

</li>

<li>Better error handling (see below), and more command queueing work</li>

</ul>

</p>

<p>ATA notes<br />
---------</p>

<p>

<ul>

<li>Supports max UDMA/33 for PATA right now.  Temporary limitation because
  I'm too slack to worry about cable detection.</li>

<li>No packet command -- yet.  And thus, no ATAPI cdroms/burners/etc.
  Coming soon!</li>

<li>Does polling PIO in a kthread.  Watch katad chew up CPU.</li>

</ul>

</p>

<p>ATA hardware notes<br />
------------------</p>

<p>

<ul>

<li>Intentionally concentrated on modern hardware:  mainly SATA,
  with a little bit of PATA thrown in when convenient.</li>

<li>Only supports Intel PATA and SATA right now</li>

<li>Code is structured such that DMA engine and command queueing engine
  can be replaced by different hardware.  Next hardware driver will
  demonstrate this.</li>

</ul>

</p>

<p>SCSI protocol notes<br />
-------------------</p>

<p>

<ul>

<li>claims compliance with latest scsi3 standards (sam3, spc3, sbc2).
  bug reports in spec compliance are welcome.</li>

</ul>

</p>

<p>Resources<br />
---------</p>

<p>

<ul>

<li>

<p>BitKeeper for 2.4.x and 2.5.x:</p>

<p>        bk://kernel.bkbits.net/jgarzik/atascsi-2.4<br />
        bk://kernel.bkbits.net/jgarzik/atascsi-2.5</p>

</li>

<li>

<p>Patchkits for 2.4.x and 2.5.x:</p>

<p><a href="ftp://ftp.kernel.org/pub/linux/kernel/people/jgarzik/patchkits/2.4/2.4.21-rc3-atascsi1.patch.bz2">ftp://ftp.kernel.org/pub/linux/kernel/people/jgarzik/patchkits/2.4/2.4.21-rc3-atascsi1.patch.bz2</a><br />
<a href="ftp://ftp.kernel.org/pub/linux/kernel/people/jgarzik/patchkits/2.5/2.5.69-bk17-atascsi1.patch.bz2">ftp://ftp.kernel.org/pub/linux/kernel/people/jgarzik/patchkits/2.5/2.5.69-bk17-atascsi1.patch.bz2</a></p>

</li>

</ul>

</p>

<p>Open issues (currently being addressed)<br />
---------------------------------------</p>

<p>

<ul>

<li>ATAPI.  FWIW, yes, I do know that ATAPI is "SCSI-like" and not 100%
  conformant SCSI.</li>

<li>Error handling.  VERY primitive right now.  Handling of errors is
  often "we'll stop talking to the device forever".  Hey, it's better than
  data corruption.  :)</li>

</ul>

</p>

<p>Kudos (in alpha order for fairness :))<br />
--------------------------------------</p>

<p>

<ul>

<li>Jens Axboe, for tons of block layer knowledge and general reality
  checks.</li>

<li>James Bottomley, for patiently answering a lot of my SCSI questions.</li>

<li>Alan Cox, for key inspirational ideas.</li>

<li>Andre Hedrick, for tons of ATA knowledge.  I've soaked up a ton of
  time talking ATA with him, for which I'll be forever grateful.</li>

<li>Lots of people on IRC and linux-scsi for helpful answers and
  suggestions.</li>

<li>myself, for progressing quite a bit on one of my Big Projects To Do
  Before I Die.</li>

</ul>

</p>

</quote>

</section>

<section
  title="NUMA Scheduler Enhancements"
  subject="Node affine NUMA scheduler extension"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0305.3/0552.html"
  posts="14"
  startdate="27 May 2003 00:31:55 -0800"
  enddate="28 May 2003 11:32:13 -0800"
>
<topic>SMP</topic>

<mention>Martin J. Bligh</mention>
<mention>Rick Lindsley</mention>

<p>Erich Focht said:</p>

<quote who="Erich Focht">

<p>This patch is an adaptation of the earlier work on the node affine
NUMA scheduler to the NUMA features meanwhile integrated into
2.5. Compared to the patch posted for 2.5.39 this one is much simpler
and easier to understand.</p>

<p>The main idea is (still) that tasks are assigned a homenode to which
they are preferentially scheduled. They are not only sticking as much
as possible to a node (as in the current 2.5 NUMA scheduler) but will
also be attracted back to their homenode if they had to be scheduled
away. Therefore the tasks can be called "affine" to the homenode.</p>

<p>The implementation is straight forward:</p>

<p>

<ul>

<li>Tasks have an additional element in their task structure (node).</li>

<li>The scheduler keeps track of the homenodes of the tasks running in
each node and on each runqueue.</li>

<li>At cross-node load balance time nodes/runqueues which run tasks
originating from the stealer node are preferred. They get a weight
bonus for each task with the homenode of the stealer. </li>

<li>When stealing from a remote node one tries to get the own tasks (if
any) or tasks from other nodes (if any). This way tasks are kept on
their homenode as long as possible.</li>

</ul>

</p>

<p>The selection of the homenode is currently done at initial load
balancing, i.e. at exec(). A smarter selection method might be needed
for improving the situation for multithreaded processes. An option is
the dynamic_homenode patch I posted for 2.5.39 or some other scheme
based on an RSS/node measure. But that's another story...</p>

<p>A node affine NUMA scheduler based on these principles is running very
successfully in production on NEC TX7 machines since 1 year. The
current patch was tested on a 32 CPU Itanium2 TX7 machine.</p>

</quote>

<p>Andi Kleen replied, saying he'd done a similar thing for 2.4 based on the
same principles himself, but Erich's was much simpler. But Andi added, <quote
who="Andi Kleen">But the main problems I have is that the tuning for threads
is very difficult. On AMD64 where Node equals CPU it is important to home node
balance threads too. After some experiments I settled on homenode assignment
on the first load balance (called "lazy homenode") When a thread clones it
initially executes on the CPU of the parent, but there is a window until
the first load balance tick where it can allocate memory on the wrong node.
I found a lot of code runs very badly until the cache decay parameter is set
to 0 (no special cache affinity) to allow quick initial migration. Migration
directly on fork/clone requires a lot of changes and also breaks down on
some benchmarks.</quote></p>

<p>He and Erich wen't back and forth for awhile on it, and Martin J. Bligh also
got in on the act with his own implementation ideas. Rick Lindsley also joined
in, but the thread ended inconclusively.</p>

</section>

<section
  title="Linux 2.5.70 Released; Moving Toward &quot;pre-2.6&quot;"
  subject="Linux 2.5.70"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0305.3/0489.html"
  posts="60"
  startdate="26 May 2003 18:08:45 -0800"
  enddate="29 May 2003 03:14:10 -0800"
>
<topic>Code Freeze</topic>
<topic>Disks: IDE</topic>
<topic>FS: ReiserFS</topic>
<topic>FS: ext3</topic>
<topic>Hot-Plugging</topic>
<topic>PCI</topic>

<p>Linus Torvalds announced <a href="">Linux 2.5.70</a> and said:</p>

<quote who="Linus Torvalds">

<p>there's been too much delay between 69 and 70, but I was hoping to make
70 the last "Linus only" release before getting together with Andrew and
figuring out how to start the "pre-2.6" series and more of a code slush.</p>

<p>Whatever. Th eend result is a pretty big patch, although a lot of it is
due to fairly minor patches. But it's a _lot_ of fairly minor patches, as
can be seen from the changelog (also, the acorn drivers got moved around,
which always makes for big patches).</p>

</quote>

<p>Ricky Beam replied:</p>

<quote who="Ricky Beam">

<p>You're kidding, right?  2.5 is no where near ready to be called anything
like "2.6".  With an actual code freeze -- as in fix the shit that's broken,
non-functional, and/or incompletely implemented without adding any more stuff
or rebuilding entire subsystems as opposed to the standard Linus "code freeze"
that's much like a slushy in the 9th level of Hell (assuming it gets there,
it doesn't last long and really does no go) -- 2.5 is about a year away from
having the current code base fully functional and on it's way to stable.</p>

<p>Count up the number of drivers that haven't been updated to the current
PCI, hotplug, and modules interfaces.</p>

<p>Take a look at the number of arch's that haven't seen much testing (and
in many respects are thus broken)... does anyone have a functional 2.5.70
sparc64 kernel?  I've built several but they're all too big to be booted
(i.e. over 3.5M, and yes, I've turned off everything possible.)</p>

</quote>

<p>Regarding the number of drivers that hadn't been updated to the new
interfaces, Linus replied:</p>

<quote who="Linus Torvalds">

<p>Tough. If people don't use them, they don't get supported. It's that
easy.</p>

<p>The thing is, these things won't change before 2.6 (or at least a
pre-2.6). When 2.6.0 comes out, and somebody notices that they haven't
bothered to try the 2.5.x series, _then_ maybe some of those odd-ball drivers
get fixed.</p>

<p>Or not. Some of them may be literally due for retirement, with users just
running an old kernel on old hardware.</p>

<p>Btw, this is nothing new. It has _always_ been the case that a lot of
people didn't use the latest stable kernel until it was released, and then
they complained because the drivers they used weren't up to spec.</p>

</quote>

<p>Alan Cox pointed out:</p>

<quote who="Alan Cox">

<p>Its also a lot easier to update them once the core stops changing! There
are some things I worry about - the bio splitting has to be resolved,
IDE raid can't happen until that occurs and I'm also waiting for the IDE
taskfile stuff/bio splitting bits to resolve so I can merge a load of IDE
updates to make things like SII IDE and newer HPT chips work in 2.5.x/2.6</p>

<p>Architectures are also normally just a sync up job and its again easier
to do once the core has stoppee changing.</p>

</quote>

<p>And Linus replied:</p>

<quote who="Linus Torvalds">

<p>Indeed. I think its more the rule than the exception that non-x86
architectures "get with the program" sometime during the stable release
rather than before. There's just not a lot of incentive for the odd-ball
architectures to care before the fact.</p>

<p>Would I prefer to have everything fixed by 2.6.0 (or even the pre-2.6
kernels)? Sure, everybody would. But it's just a fact of life that we won't
see people who care about the issues before that happens.</p>

<p>In fact, judging by past performance, a lot of things won't get fixed before
the actual vendors have made _releases_ that use 2.6.x (and the first ones
inevitably will have 2.4.x as a fall-back: that's only prudent and sane).</p>

<p>This is not just a core kernel issue - we've seen this with subsystems
like ext3 and ReiserFS: they were "finished' and "stable", but what made
them _really_ stable was a release or two on vendor kernels, and thousands
of users.</p>

</quote>

<p>Elsewhere, Bill Davidsen said to Linus, <quote who="Bill Davidsen">Just
the other day you posted strong opposition to breaking existing binaries,
how does that map with breaking existing hardware?</quote> And Linus said:</p>

<quote who="Linus Torvalds">

<p>One fundamental difference is that I cannot fix it without people who _have_
the hardware caring. So if they don't care, I don't care. It's that easy. If
you want to have your hardware supported, you need to help support it.</p>

<p>Another difference is that it's better to not work at all, than to work
incorrectly. So if your kernel doesn't boot or can't use your random piece
of hardware, you just use an old kernel. But if everything looks normal,
but some binary breaks in strange ways, that's _bad_.</p>

<p>The latter reason is, btw, why we don't paper over the build failures
like some people suggested. If it hasn't been updated to the new interfaces,
it should preferably not even build: which is a big reason why we try to
rename interfaces when they change, exactly so that you don't get a subtly
broken build.</p>

</quote>

</section>

<section
  title="procps Maintainership Still Contentious"
  subject="[announce] procps 2.0.13 with NPTL enhancements"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0305.3/1194.html"
  posts="19"
  startdate="28 May 2003 07:09:10 -0800"
  enddate="31 May 2003 20:53:31 -0800"
>
<topic>Version Control</topic>

<mention>Albert Cahalan</mention>
<mention>Adrian Bunk</mention>
<mention>Rik van Riel</mention>
<mention>Alexander Larsson</mention>
<mention>Denis Vlasenko</mention>

<p>Robert Love announced:</p>

<quote who="Robert Love">

<p>I am ecstatic beyond words to announce the release of procps version
2.0.13. This release contains a number of NPTL-related enhancements,
courtesy of Alexander Larsson of Red Hat. Some of the enhancements are
generic in nature, and thus also benefit non-NPTL applications.</p>

<p>I encourage everyone to give this a try, especially 2.5 users.</p>

<p>Tarball, RPM packages, and CVS information is available at:</p>

<p>        <a href="http://tech9.net/rml/procps/">http://tech9.net/rml/procps/</a><br />
        <a href="http://sources.redhat.com/procps/">http://sources.redhat.com/procps/</a></p>

<p>Change Log:</p>

<p>

<ul>

<li>fix top(1) -p flag behavior (Lars Holmberg)   </li>
<li>do not qsort the process list if we are not sorting
          (Alexander Larsson)</li>
<li>read tgid from /proc/pid/status if it exists
          (Alexander Larsson)</li>
<li>PROC_SKIPTHREADS flag for ps_readproc() to force only
          reading of (tgid != pid) to avoid lots of syscalls
          (Alexander Larsson)</li>
<li>Look at PM->flags in ps_readproc() to avoid reading
          /proc files files that are not needed. (Alexander Larsson)</li>
<li>Support FILLMEM, FILLCMD, FILLENV, FILLWCHAN for above.
          (Alexander Larsson)</li>
<li>Fix wchan decoding bug (Alexander Larsson)</li>
<li>Fix for ticks going backward and cleanup (Denis Vlasenko)</li>

</ul>

</p>

<p>And other misc. cleanups and changes.</p>

</quote>

<p>Phil Oester asked, <quote who="Phil Oester">Any
comment on the procps v3.1.8 located here: <a
href="http://procps.sourceforge.net/">http://procps.sourceforge.net/</a>?
Seems it is actively maintained...</quote> Robert replied, <quote who="Robert
Love">It is a fork of the original procps tree.  The maintainer of that tree
will tell you his is better. I do not want to argue it.</quote> Miquel van
Smoorenburg replied, <quote who="Miquel van Smoorenburg">Well, you could also
argue that the current 2.0 tree is a retroactive fork of an older version of
procps.  I don't understand why you don't work together.</quote> Xose Vazquez
Perez quoted from the <a href="http://procps.sourceforge.net/faq.html">procps
FAQ</a> on why there were so many forks: "The original maintainer seems to
have had little time for procps.  Whatever his reasons, the project didn't
get maintained. Starting in 1997, Albert Cahalan wrote a new ps program
for the package.  For the next few years, Albert quietly helped the Debian
package maintainer fix bugs. In 2001, Rik van Riel decided to do something
about what appeared to be the lack of a maintainer. He picked up the buggy
old code in Red Hat's CVS and started adding patches.  Meanwhile, other
people have patched procps in a great many ways.  In 2002, Albert moved
procps to this site. This was done to ensure that years of testing and bug
fixes would not be lost. The major version number was changed to 3, partly to
avoid confusing users and partly because the top program has been redone."</p>

<p>Xose added, <quote who="Xose Vazquez Perez">I think too that is to
waste the time&amp;resources to have two, and to do a little  different
some LiNUX distributions in a basic and important package.</quote>
Adrian Bunk gave a link to some of Albert D. Cahalan's comments on a <a
href="http://bugs.debian.org/172735">Debian Bug</a>, in which Albert had said
it was OK for the procps programs to crash if /proc wasn't mounted. Adrian
said this justified the folks maintaining other versions.</p>

<p>Vincent Hanquez gave a pointer to a similar <a
href="http://bugs.debian.org/169398">comment by Albert</a> about a different
bug, and Robert replied that both bugs were fixed in his (Robert's) tree.
Elsewhere, he added:</p>

<quote who="Robert Love">

<p>It sucks. I told Albert I would be happy to merge
each and every (sane) change he sends me. He refuses. To be fair, I also
refuse to work under his tree. His comments on this list is part of the
reason. For what its worth, he did not fork off and create his tree
until Rik starting work on the official tree.</p>

<p>In the end, all that matters to me really is that Red Hat and other big
distributions use my tree (apparently whether I maintain it or not) and
I use those distributions. If I used Debian, maybe my view would be
different. Or maybe I would make them switch trees :)</p>

</quote>

<p>Albert D. Cahalan disagreed with Robert's historical reference. He said:</p>

<quote who="Albert D. Cahalan">

<p>Rik's activity was one of two reasons for me to increment the major number,
and one of many reasons to put the project on SourceForge.</p>

<p>Prior to that, I had provided 2.x.x versions to Debian for years. Also
note that I wrote the ps program itself and a large portion of the library
you use. This all was long before you and Rik touched procps.</p>

<p>Go ahead and check the 2.x.x in Debian. It's mine.</p>

</quote>

<p>There was a bit of name calling and eye scratching, and the thread petered
out.</p>

</section>

<section
  title="Status Of Dynamic Kernel Module Support (DKMS)"
  subject="[announce] DKMS - added SuSE/UnitedLinux kernel support"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0305.3/1648.html"
  posts="1"
  startdate="30 May 2003 08:45:22 -0800"
>

<p>Gary Lerhaupt of Dell said:</p>

<quote who="Gary Lerhaupt">

<p>DKMS (Dynamic Kernel Module Support) now contains module build
kernel-preparation support for SLES/United Linux type kernels.  This allows
you to properly build modules for these kernels using DKMS.  Many thanks to
Fred Treasure - fwtreas () us ! ibm ! com for assisting in this.</p>

<p>Also, as SLES uses a different mkinitrd command then the one found in RH, if
REMAKE_INITRD is set in your dkms.conf, it does not remake the initrd for
you and instead tells you that you will have to do this manually.  If anyone
would like to send me feedback on best practices for SLES/UL initrd stuffs
so that this process can be automated, your help would be greatly
appreciated.</p>

<p>DKMS is at: <a href="http://www.lerhaupt.com/dkms/">http://www.lerhaupt.com/dkms/</a><br />
Changeblog: <a href="http://www.lerhaupt.com/dkms/dkms.html">http://www.lerhaupt.com/dkms/dkms.html</a></p>


</quote>

</section>

<section
  title="Status Of Modular IDE"
  subject="[PATCH] Modular IDE completely broken"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0306.0/0003.html"
  posts="6"
  startdate="31 May 2003 21:54:14 -0800"
  enddate="02 Jun 2003 11:39:42 -0800"
>
<topic>Disks: IDE</topic>

<p>JP Sugarbroad complained that compiling IDE as a module was completely
broken, and that his patches and complaints were being ignored. Tomas Szepe
explained, <quote who="Tomas Szepe">Alan Cox is working on the problem ATM,
check 2.4.21-rc6-ac1.</quote> JP asked if Alan's work was also going into
the 2.5 tree, and Alan Cox replied, <quote who="Alan Cox">The same logic
applies to 2.5, and it may be more useful there as it can be used to clean
up a pile of other ordering stuff.</quote></p>

</section>

<section
  title="New tgkill() System Call"
  subject="[patch] new sys_tkill2() system call, 2.5.70"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0306.0/0502.html"
  posts="5"
  startdate="03 Jun 2003 01:09:35 -0800"
  enddate="03 Jun 2003 08:43:55 -0800"
>
<topic>SMP</topic>

<p>Ingo Molnar said:</p>

<quote who="Ingo Molnar">

<p>the attached patch, against 2.5.70, adds a new system-call called
sys_tkill2():</p>

<blockquote>

<p>        asmlinkage long sys_tkill2(int tgid, int pid, int sig);</p>

</blockquote>

<p>this new syscall solves the problem of PID-reuse. The pthread_kill()
interface itself cannot guarantee via current kernel mechanisms that a
thread wont go away (call pthread_exit()) before the signal is delivered -
due to threads being detached. If some other application creates threads
fast enough and makes the PID space overwrap, then it might happen that
the wrong application gets the signal.</p>

<p>the tgid never changes during the lifetime of the application, so
specifying tgid guarantees that pthread_kill() will only send signals to
threads within this application.</p>

<p>(i also added the rule of tgid == 0 meaning 'no tgid check' - this made it
possible to merge the previous sys_tkill() API into the new sys_tkill2()
API. The sys_tkill API is of course preserved.)</p>

<p>Ulrich says that this interface is OK and desired for glibc. The patch was
sanity-compiled &amp; booted on x86 SMP.</p>

</quote>

<p>Linus Torvalds replied:</p>

<quote who="Linus Torvalds">

<p>I'd suggest changing the name. It's not "tkill2", it's a totally new
system call with different inputs.</p>

<p>How about calling it "tgkill()" for "thread" and "group", which are the   
new inputs?</p>

</quote>

<p>Ingo agreed to the name change, and he and Linus discussed other interface
details.</p>

</section>

<section
  title="Linux Test Project June Release"
  subject="[ANNOUNCE] Linux Test Project June Release Announcement"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0306.0/1486.html"
  posts="1"
  startdate="06 Jun 2003 09:38:29 -0800"
>
<topic>Bug Tracking</topic>
<topic>POSIX</topic>
<topic>Version Control</topic>

<p>Robert Williamson announced:</p>

<quote who="Robert Williamson">

<p>The <a href="http://ltp.sourceforge.net">Linux Test Project</a> test
suite has been released. The latest version of the testsuite contains 1800+
tests for the Linux OS. Our web site also contains other information such as:
test results, a Linux test tools matrix, an area for keeping up with fixes
for known blocking problems in the 2.5 kernel releases, technical papers
and HowTos on Linux testing, and a code coverage analysis tool.</p>

<p>Highlights:</p>

<p>

<ul>

<li>Relocation of all Open POSIX Test Suite tests to
/testcases/open_posix_testsuite.</li>

<li>Inclusion of modified `top` tool to allow for system usage data
gathering.</li>

<li>More support for 64bit architectures and large memory machines</li>

<li>Fixes and code cleanups. See our Bug Tracker for more details</li>

</ul>

</p>

<p>We encourage the community to post results, patches or new tests on our
mailing list and use the CVS bug tracking facility to report problems that
you might encounter with the test suite.</p>

</quote>

</section>

<section
  title="Limits On Maximum Swap Space For 2.4 And 2.5"
  subject="Maximum swap space?"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0306.0/1625.html"
  posts="16"
  startdate="07 Jun 2003 00:55:12 -0800"
  enddate="10 Jun 2003 11:29:21 -0800"
>

<mention>Randy Dunlap</mention>
<mention>Andrew Morton</mention>

<p>Colin Paul Adams asked, <quote who="Colin Paul Adams">I am somewhat confused
about how much swap space you can have with a 2.4 series kernel. If I read
the mkswap man page, I get the impression that I could have up to 8x2GB of
swap space for a total of 16 GB, but reading the RedHat reference guide,
it says 2GB maximum.  I presume 2.5 kernels have much higher limits?</quote>
Rik van Riel replied, <quote who="Rik van Riel">That piece of documentation
is out of date.  I'm using a 20 GB swap partition on one of my test systems,
with a 2.4 kernel.</quote> Randy Dunlap asked what the new 2.4 and 2.5 limits
were, adding that Andrew Morton had successfully tested 52 gigs of swap on
one kernel.  Andrew confirmed this elsewhere. Finally, William Lee Irwin
III said:</p>

<quote who="William Lee Irwin III">

<p>I apologize for failing to do a proper wrap-up. AIUI, we have:</p>

<p>

<ol>

<li>both 2.4.x and 2.5.x kernels support swapspaces of up to 64GB in size</li>

<li>2.4.x supports 64 swapspaces and 2.5.x supports 32 (not reparable)</li>

<li>mkswap(8) needs fixes for creating swapspaces larger than 2GB merged
back to util-linux; aeb (util-linux maintainer) has publicly requested
the code be sent back to him for merging, presumably with some evidence of
its correctness. One of the several distro people who are maintaining such
patches against mkswap(8) is going to send that in.</li>

</ol>

</p>

</quote>

</section>

<section
  title="Possible GPL Violations By Many Wireless Vendors"
  subject="Linksys WRT54G and the GPL"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0306.0/1758.html"
  posts="64"
  startdate="07 Jun 2003 18:41:23 -0800"
  enddate="11 Jun 2003 12:51:00 -0800"
>
<topic>BSD</topic>
<topic>Binary-Only Modules</topic>
<topic>FS: ramfs</topic>

<p>Andrew Miklas reported:</p>

<quote who="Andrew Miklas">

<p>Awhile ago, I mentioned that the Linksys WRT54G wireless access point used
several GPL projects in its firmware, but did not seem to have any of the
source available, or acknowledge the use of the GPLed software.  Four weeks
ago, I spoke with an employee at Linksys who confirmed that the system did
use Linux, and also mentioned that he would work with his management to
ensure that the source was released.  Unfortunately, my e-mails to this
individual over the past three weeks have gone unanswered.  Of course, I
also tried contacting Linksys through their common public e-mail accounts
(pr@linksys.com, mailroom@linksys.com) to no avail.</p>

<p>However, it is hard for me to know if my contact in the company has just
gone on a three week vacation (and not set an auto-responder), or has been
asked to not answer anymore mail on this subject.  Also, I should note that I
don't own this product, so I can't determine if the source is shipped with it.
However, I have gone through all the available information on the Linksys
website, and can find no reference to the GPL, Linux (as it relates to this
product), or the firmware source code.  Also, the firmware binary (see below)
is freely available from their website.  There is no link from the download
page to the source, or any mention of Linux or the GPL.  Finally, it would
be strange if the source was included in the physical package, as my contact
at Linksys was initially unaware Linux was used in this product.</p>

<p>The following steps can be used to determine the exact nature of the possible
GPL violation.</p>

<p>

<ol>

<li>Go to the following URL: <a
href="http://www.linksys.com/download/firmware.asp?fwid=178">http://www.linksys.com/download/firmware.asp?fwid=178</a></li>

<li>Download the "firmware upgrade files": <a
href="ftp://ftp.linksys.com/pub/network/WRT54G_1.02.1_US_code.bin">ftp://ftp.linksys.com/pub/network/WRT54G_1.02.1_US_code.bin</a>
(MD5SUM: b54475a81bc18462d3754f96c9c7cc0f)</li>

<li>While it is downloading, confirm that there is nothing on the webpage
to indicate that this binary contains GPLed software.</li>

<li>

<p>Once the download is complete, copy the contents of the file from offset
0xC0020 onward into a new file.</p>

<p>dd if=WRT54G_1.02.1_US_code.bin of=test.dump skip=24577c bs=32c</p>

</li>

<li>Notice that this file is an image of a CramFS filesystem.
Mount it.</li>

<li>

<p>Explore the filesystem.  You will notice that the system appears to be
based on Linux 2.4.5.</p>

<p>Incidentally, there is at least one other GPLed project
in the firmware: the BusyBox userland component: (<a
href="http://www.busybox.net/">http://www.busybox.net/</a>)</p>

</li>

<li>The Linux kernel (I think) is mixed up with a bunch of other stuff in:
bin/boot.bin</li>

</ol>

</p>

<p>You might want to know why I am interested in getting the code for the kernel
used in this device.</p>

<p>There's been some discussion here about Linux's lack of wireless support for a
few of the newer 802.11b and (nearly?) all 802.11g chips.  Incidentally,
Linux has excellent support for at least one manufacturer's wireless family.
The following Broadcom chips all appear to be supported under Linux -- if you
happen to be running Linux on a MIPS processor in a Linksys router:</p>

<p>Broadcom BCM4301 Wireless 802.11b Controller<br />
Broadcom BCM4307 Wireless 802.11b Controller<br />
Broadcom BCM4309 Wireless 802.11a Controller<br />
Broadcom BCM4309 Wireless 802.11b Controller<br />
Broadcom BCM4309 Wireless 802.11 Multiband Controller<br />
Broadcom BCM4310 Wireless 802.11b Controller<br />
Broadcom BCM4306 Wireless 802.11b/g Controller<br />
Broadcom BCM4306 Wireless 802.11a Controller<br />
Broadcom BCM4306 Wireless 802.11 Multiband Controller</p>

<p>This list was produced by running strings on:
lib/modules/2.4.5/kernel/drivers/net/wl/wl.o</p>

<p>I am trying to determine exactly how tightly coupled these drivers are to the
kernel.</p>

<p>As an aside, I know that some wireless companies have been hesitant of
releasing open source drivers because they are worried their radios might
be pushed out of spec.  However, if the drivers are already written, would
there be any technical reason why they could not simply be recompiled for
Intel hardware, and released as binary-only modules?</p>

<p>Finally, I know that traditionally, Linux has allowed binary-only modules.
However, I was always under the impression that this required that the final
customer be allowed to remove them at will.  That is to say, you couldn't
choose to implement a portion of the kernel critical to the system's
operation in a module, and then not release that module under the GPL.  In
this particular case, I would argue that the wireless drivers are critical to
this device's operation (after all, it is a wireless access point).  In
addition, the final user in this case really can't just "rmmod" the wireless
driver.</p>

<p>The Broadcom driver, kernel, and really everything else in the firmware, are
(IMHO anyways) being used to form a discrete package -- the WRT54Gs firmware.
Does/should this have any implication on whether the Broadcom wireless module
must be covered by the GPL?</p>

<p>I would be very interested in knowing if I am mistaken in any of my claims or
conclusions, and if not, how I should proceed in getting this issue
resolved.</p>

</quote>

<p>Brad Chapman said he thought Andrew had identified a true violation of
the GPL, and asked, <quote who="Brad Chapman">Why is Linksys and/or Broadcom
doing this?</quote> Davide Libenzi remarked bitterly, <quote who="Davide
Libenzi">These guys, not only they make money using GNU/Linux inside
their products but they do even refuse to support the GNU/Linux community
when it comes to drivers. In many cases even a mere binary driver is not
available. This is as lame as it gets.</quote></p>

<p>Dave Jones also said, in response to the original post,
<quote who="Dave Jones">Curiously, the Belkin products (<a
href="http://networking.belkin.com">http://networking.belkin.com</a>)
also seem to be based upon the same source.  Looks like they could just be
rebranded firmware images with some features disabled.</quote> And Alan
Cox said, <quote who="Alan Cox">If Belkin are shipping the same code and
apparently got it from Linksys someone migth also care to write to Belkin
and inform them about this.  They may not even know about their rather large
potential liability.</quote></p>

<p>Elsewhere, Peter Westwood also replied to Andrew's initial post, saying:</p>

<quote who="Peter Westwood">

<p>I have a Buffalo (Melco) WBR-G54.</p>

<p>Looking through the latest firmware update available : <a
href="http://www.buffalo-technology.com/support/firmware.htm">http://www.buffalo-technology.com/support/firmware.htm</a></p>

<p>It does appear to be similar to the Linksys firmware and contain linux
and possibly busybox</p>

<p>No mention here or anywhere on there site of the GPL or the source code
to what they are distributing!</p>

</quote>

<p>Erik Andersen replied, <quote who="Erik
Andersen">I just visited the Buffalo site <a
href="http://www.buffalo-technology.com/">http://www.buffalo-technology.com/</a>
and I could not find any source code.  And not only are they distributing the
linux kernel and BusyBox, their rom is _remarkably_ similar to the Linksys
one in many respects.  Perhaps they share an upstream vendor that did not
make them aware of their responsibilities?</quote> John Shifflett remarked,
<quote who="John Shifflett">Fry's appears to be selling a lot of Linksys
WAP-54g units, which are low cost wireless access points. For firmware version
1.06.03, the cramfs starts at skip=24576c, bs=32c.</quote> And Alan said,
<quote who="Alan Cox">Has anyone had a lawyer write and advise Fry s yet ?
Hey theory seems to work for SCO 8)</quote></p>

<p>Oliver M. Bolzer also said to Peter:</p>

<quote who="Oliver M. Bolzer">

<p>I have another product from Melco/Buffalo and found out, that it had
Linux and other GPLed (and BSD with adv. clause and Apache with end-user doc
clasue and and and) materials on it, without the manual or their web page
mentioning it. Their telephone support in Japan (where the stuff comes from)
didn't give sh*t about it and repeatedly told me about their policy of not
telling anything about the inner workings of products and even refused to
either elevate me to talk to somebody else or give me an contacting point
to either their legal or PR departments.</p>

<p>I directly called the PR guy responsible for that line of products at
their headquater (good to be on their list of press) and explained the
situation to him. He promised to clear it up with legal and the developers.
After about a week (and me ranting about an anonymous company in my blog)
he got back with a very detailed and polite answer about the situation.
They DID know about the issues involved and their obligations. Just that
their other hand (like support and web page creation) isn't up to the "new"
style and that they were fixing it. I also found out, that the "quick setup"
leaflet in the product actually contained a small note that the product
included GPLed software.</p>

<p>It has been 3 month since. If they havn't gotten their act together still,
they need to be reminded of it.</p>

</quote>

<p>Michael Neuffer said, <quote who="Michael Neuffer">Over a month ago I send
them a request and this is their response:</quote></p>

<blockquote>

<pre>From daveh@buffalotech.com  Fri Apr 25 20:04:28 2003
Date: Fri, 25 Apr 2003 08:52:53 -0500
Subject: Re: Linux &amp; WLI-CB-G54
From: Dave Howell &lt;daveh@buffalotech.com&gt;
To: Michael Neuffer &lt;neuffer@neuffer.info&gt;

Michael,

Thank you for your interest in Buffalo's wireless products.
At this time, Buffalo does not support Linux for our wireless products.
We are working with our chip mfg on this issue and should have working Linux
drivers in the future but we cannot say when.

Keep posted to our website for the latest information.

Regards,

Dave Howell
Buffalo Technology USA

U.S. Technical Support is available 24 hours a day, 7 days a week.
Consumers call: 866-752-6210
Resellers call: 877-424-6355</pre>

</blockquote>

</section>

<section
  title="RAID Driver Maintainership"
  subject="[PATCH] MAINTAINERS: compaq raid drivers"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0306.1/0031.html"
  posts="3"
  startdate="08 Jun 2003 03:58:44 -0800"
  enddate="08 Jun 2003 05:01:06 -0800"
>
<topic>Disk Arrays: RAID</topic>
<topic>MAINTAINERS File</topic>

<mention>Joern Engel</mention>
<mention>Adam Kropelin</mention>

<p>Joern Engel noticed that Charles White, the official maintainer of the
Compaq Smart2 RAID driver and the Compaq Smart CISS RAID driver, had a bad
email address in the MAINTAINERS file. He posted a patch to remove the dead
address, but then noticed that the mailing list listed in the same file as
covering these drivers, was also dead. He posted a new patch removing that
address as well, and Adam Kropelin replied that Stephen Cameron had posted the
proper patch back in February, making himself (Steve) the official maintainer,
and migrating the mailing list from Compaq over to Hewlett Packard. That
patch had never been applied, so Adam included it again in his post.</p>

</section>

<section
  title="PCI Fixes For 2.5.70"
  subject="[BK PATCH] Yet more PCI fixes for 2.5.70"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0306.1/0549.html"
  posts="78"
  startdate="10 Jun 2003 10:33:34 -0800"
  enddate="10 Jun 2003 10:49:31 -0800"
>
<topic>FS: sysfs</topic>
<topic>PCI</topic>
<topic>Version Control</topic>

<mention>Matthew Wilcox</mention>

<p>Greg KH said:</p>

<quote who="Greg KH">

<p>Here's some more PCI changes against the latest 2.5.70 bk tree.  They contain
the following:</p>

<p>

<ul>

<li>remove almost all usages of pci_present().  There are only 2 users of
this function left, and I'll continue to work to remove them.</li>

<li>add sysfs support for pci domains.  This is from Matthew Wilcox, and
is a bit different from the last patch he sent to lkml.  This one supports
sparc64 and ppc64 and has been blessed by David Miller.</li>

<li>updated pci pool CONFIG_DEBUG_SLAB logic</li>

<li>removed pci_for_each_bus() macro, and added a pci_find_next_bus()
function to prevent people from directly walking the PCI bus lists.</li>

</ul>

</p>

</quote>

<p>He followed up with over 75 little patches.</p>

</section>

<section
  title="Kernel Janitor Patchset Availability"
  subject="[announce] linux kernel-janitor (KJ) patchsets"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0306.1/0758.html"
  posts="1"
  startdate="10 Jun 2003 20:33:16 -0800"
  enddate="10 Jun 2003 20:35:27 -0800"
>
<topic>Version Control</topic>

<p>Randy Dunlap said:</p>

<quote who="Randy Dunlap">

<p>Kernel-Janitor patchsets<br />
2003-06-10<br />
Draft version 1<br />
========================================</p>

<p>

<ol>

<li>

<p>KJ patchsets</p>

<p>The Kernel Janitors (KJ) project reviews patches, comments on them,
screens and/or merges them, and creates patchsets that contain them. These
patchsets are available for anyone to download and use.</p>

<p>Patches should be sent to "kernel-janitor-discuss@lists.sf.net" for review.
Randy Dunlap (rddunlap@osdl.org) will compile-test them and merge them into
the -kj patchset if they pass review.</p>

</li>

<li>

<p>KJ patchset review and approvals</p>

<p>A patch must be approved by at least two (2) KJ project developers and
receive no vetoes (rejects) before it is added to the -kj patchset.</p>

</li>

<li>KJ patch forwarding After a patch has been in the -kj patchset for 1
week (without problems) or on request from another Linux tree maintainer,
it will be forwarded to the current Linux tree maintainer (Linus, Andrew,
Marcelo, etc.) for merging.</li>

<li>

<p>Where hosted</p>

<p>KJ patchsets are hosted at OSDL.org.  They will begin at <a
href="http://www.osdl.org/archive/rddunlap/kj-patches/">http://www.osdl.org/archive/rddunlap/kj-patches/</a>
...  but this is only a temporary location until a more permanent solution
is available (soon).</p>

</li>

<li>

<p>Patchset type</p>

<p>

<ul>

<li>merged and separated patches available as a diff (optionally bzip2-
compressed)</li>

<li>maybe a BK tree in the future, but that won't be the only format</li>

<li>separated (split) patches are forwarded to tree maintainers so that
credits for the patches are logged</li>

</ul>

</p>

</li>

</ol>

</p>

</quote>

<p>Later, he added, <quote who="Randy Dunlap">The
first KJ patchset (for 2.5.70-bk13) is now available at <a
href="http://www.osdl.org/archive/rddunlap/kj-patches/2.5.70-bk13/">http://www.osdl.org/archive/rddunlap/kj-patches/2.5.70-bk13/</a>.
This first one is somewhat small (on purpose) to get some kinks worked
out.</quote></p>

</section>

<section
  title="Version Tags Missing From BK-&gt;CVS Gateway Files"
  subject="[BK-CVS gateway] version tags"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0306.1/0837.html"
  posts="5"
  startdate="11 Jun 2003 06:44:37 -0800"
  enddate="11 Jun 2003 07:27:58 -0800"
>
<topic>Version Control</topic>

<p>Pascal Schmidt asked:</p>

<quote who="Pascal Schmidt">

<p>I noticed both the 2.4 and 2.5 BK-&gt;CVS trees don't have version tags
any more (v2_5_70, for example, as in the old tree).</p>

<p>Is this intentional? Did CVS take too long to tag all files or
something?</p>

<p>It was quite a nice feature to have them, very useful for finding out
the differences between certain kernel versions. I can live without it,
though. It's still a nice service without the tags. (Thanks!)</p>

</quote>

<p>Larry McVoy replied, <quote who="Larry McVoy">I'll go look.  CVS takes
way too long to tag, it forces a rewrite of every file.  I did attempt to
filter out tags that weren't of the forn v2.* but it looks like I screwed
up.</quote> Elsewhere, Ben Collins said:</p>

<quote who="Ben Collins">

<p>Looks like the tags are on the ChangeSet file only. Which is why I
didn't notice. You could get a timestamp from the tag on ChangeSet and
use that for a -D argument.</p>

<p>A quick script could do this for you. I think it's wise of Larry to keep  
it this way.</p>

</quote>

<p>Larry replied, <quote who="Larry McVoy">"Wise" is a stretch, more like
a fortunate scripting screwup.  But I agree with Ben, given that you can
get the info another way it is a lot easier (i.e., thrashes the disk less)
if we leave it as is.</quote> And Pascal replied:</p>

<quote who="Pascal Schmidt">

<p>I didn't notice there are still tags on the ChangeSet file. That's good
enough for me to use. :) It also makes rsync'ing the repositories a little
bit faster since rsync doesn't have to touch all files in case of a new
tag appearing.</p>

<p>Keep up the good work!</p>

</quote>

</section>

</kc>

