<?xml version="1.0" ?>

<kc>

<title>Kernel Traffic</title>

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

<issue num="208" date="07 Mar 2003 00:00:00 -0800" />

<stats posts="1867" size="8755" contrib="430" multiples="248" lastweek="169">

<person posts="135" size="556" who="&quot;Martin J. Bligh&quot;" />
<person posts="72" size="327" who="William Lee Irwin III" />
<person posts="65" size="185" who="Alan Cox" />
<person posts="46" size="182" who="Andrew Morton" />
<person posts="34" size="117" who="Linus Torvalds" />
<person posts="33" size="156" who="Greg KH" />
<person posts="31" size="120" who="Larry McVoy" />
<person posts="23" size="92" who="Roman Zippel" />
<person posts="23" size="61" who="Jeff Garzik" />
<person posts="23" size="56" who="&quot;David S. Miller&quot;" />
<person posts="22" size="92" who="Andrea Arcangeli" />
<person posts="21" size="75" who="Werner Almesberger" />
<person posts="20" size="128" who="Steven Cole" />
<person posts="19" size="86" who="Russell King" />
<person posts="17" size="59" who="Con Kolivas" />
<person posts="17" size="57" who="Bill Huey (Hui)" />
<person posts="16" size="62" who="Dan Kegel" />
<person posts="16" size="49" who="Bill Davidsen" />
<person posts="15" size="120" who="Pavel Machek" />
<person posts="15" size="95" who="Andi Kleen" />
<person posts="15" size="36" who="Andrew Walrond" />
<person posts="14" size="46" who="&quot;Randy.Dunlap&quot;" />
<person posts="14" size="43" who="Mikael Pettersson" />
<person posts="13" size="65" who="Zwane Mwaikambo" />
<person posts="13" size="54" who="Sam Ravnborg" />
<person posts="13" size="35" who="Joe Thornber" />
<person posts="12" size="87" who="Pavel Machek" />
<person posts="12" size="73" who="&quot;Felipe Alfaro Solana&quot;" />
<person posts="12" size="72" who="Stephen Rothwell" />
<person posts="12" size="42" who="&quot;Richard B. Johnson&quot;" />
<person posts="12" size="39" who="Horst von Brand" />
<person posts="11" size="67" who="Suparna Bhattacharya" />
<person posts="11" size="45" who="Roger Luethi" />
<person posts="11" size="39" who="Gerrit Huizenga" />
<person posts="11" size="37" who="Rusty Russell" />
<person posts="11" size="36" who="David Mosberger" />
<person posts="10" size="79" who="Dominik Brodowski" />
<person posts="10" size="48" who="Chris Friesen" />
<person posts="10" size="36" who="Pavel Roskin" />
<person posts="10" size="36" who="&quot;Adam J. Richter&quot;" />
<person posts="10" size="26" who="Christoph Hellwig" />
<person posts="9" size="112" who="Hans Reiser" />
<person posts="9" size="50" who="David Lang" />
<person posts="9" size="46" who="Christoph Hellwig" />
<person posts="9" size="39" who=" (Linus Torvalds)" />
<person posts="9" size="30" who="Nigel Cunningham" />
<person posts="9" size="30" who="Dave Hansen" />
<person posts="9" size="29" who="&quot;H. Peter Anvin&quot;" />
<person posts="9" size="28" who="Ben Collins" />
<person posts="9" size="27" who=" (Eric W. Biederman)" />
<person posts="9" size="25" who="John Bradford" />
<person posts="8" size="143" who="Henrique Gobbi" />
<person posts="8" size="87" who="Martin Schwidefsky" />
<person posts="8" size="61" who="Matthias Schniedermeyer" />
<person posts="8" size="46" who="Alan Cox" />
<person posts="8" size="31" who="bert hubert" />
<person posts="8" size="29" who="Kevin Corry" />
<person posts="8" size="22" who="Matthew Wilcox" />
<person posts="7" size="134" who="Rusty Lynch" />
<person posts="7" size="55" who="=?iso-8859-1?Q?J=F6rn?= Engel" />
<person posts="7" size="53" who="Stephen Cameron" />
<person posts="7" size="34" who="Art Haas" />
<person posts="7" size="32" who="(Valdis.Kletnieks)" />
<person posts="7" size="30" who="John Levon" />
<person posts="7" size="27" who="&quot;Scott Robert Ladd&quot;" />
<person posts="7" size="26" who="(yodaiken)" />
<person posts="7" size="24" who="Dave Jones" />
<person posts="7" size="23" who="Jean Tourrilhes" />
<person posts="7" size="22" who="Benjamin LaHaise" />
<person posts="6" size="50" who="wyleus" />
<person posts="6" size="38" who="Brad Laue" />
<person posts="6" size="32" who="&quot;Grover, Andrew&quot;" />
<person posts="6" size="27" who="Daniel Jacobowitz" />
<person posts="6" size="23" who="Stephan von Krawczynski" />
<person posts="6" size="22" who="Andreas Schwab" />
<person posts="6" size="21" who="Dave McCracken" />
<person posts="6" size="21" who="Ion Badulescu" />
<person posts="6" size="19" who=" (=?iso-8859-1?q?M=E5ns_Rullg=E5rd?=)" />
<person posts="6" size="19" who="Kai Germaschewski" />
<person posts="6" size="17" who="Tomas Szepe" />
<person posts="6" size="17" who="Duncan Sands" />
<person posts="6" size="16" who="Chris Wedgwood" />
<person posts="6" size="14" who="Anton Blanchard" />
<person posts="5" size="88" who="Matthias Andree" />
<person posts="5" size="81" who="Thomas Molina" />
<person posts="5" size="77" who="Oleg Drokin" />
<person posts="5" size="61" who="Michael Buesch" />
<person posts="5" size="43" who="Denis Vlasenko" />
<person posts="5" size="39" who="&quot;Randy.Dunlap&quot;" />
<person posts="5" size="37" who="Marc Zyngier" />
<person posts="5" size="32" who="Ed Tomlinson" />
<person posts="5" size="25" who="&quot;Paolo Ciarrocchi&quot;" />
<person posts="5" size="25" who="Terje Eggestad" />
<person posts="5" size="23" who="Amit Shah" />
<person posts="5" size="21" who="Manfred Spraul" />
<person posts="5" size="20" who="Marc-Christian Petersen" />
<person posts="5" size="17" who="Neil Brown" />
<person posts="5" size="17" who="chas williams" />
<person posts="5" size="17" who="Jens Axboe" />
<person posts="5" size="16" who=" (Miles Bader)" />
<person posts="5" size="16" who="Mark Haverkamp" />
<person posts="5" size="14" who="Soeren Sonnenburg" />
<person posts="5" size="14" who="Patrick Mochel" />
<person posts="5" size="12" who="Prasad" />
<person posts="5" size="12" who="James Morris" />
<person posts="4" size="27" who="Patrick Mansfield" />
<person posts="4" size="20" who="Matt Porter" />
<person posts="4" size="18" who="jw schultz" />
<person posts="4" size="17" who="jamal" />
<person posts="4" size="15" who="Maneesh Soni" />
<person posts="4" size="15" who="Jan Harkes" />
<person posts="4" size="15" who="Derek Atkins" />
<person posts="4" size="13" who="Benjamin Herrenschmidt" />
<person posts="4" size="13" who="Daniel Phillips" />
<person posts="4" size="12" who="Rik van Riel" />
<person posts="4" size="12" who="Ducrot Bruno" />
<person posts="4" size="12" who="dean gaudet" />
<person posts="4" size="12" who="Muli Ben-Yehuda" />
<person posts="4" size="11" who="Nicolas Pitre" />
<person posts="4" size="11" who="&quot;James H. Cloos Jr.&quot;" />
<person posts="4" size="10" who="Marc Giger" />
<person posts="4" size="10" who="Vlad Harchev" />
<person posts="4" size="9" who="David Monniaux" />
<person posts="3" size="62" who="Dawson Engler" />
<person posts="3" size="33" who="Ingo Molnar" />
<person posts="3" size="23" who="&quot;Sowmya Adiga&quot;" />
<person posts="3" size="20" who="Hanna Linder" />
<person posts="3" size="18" who="Trond Myklebust" />
<person posts="3" size="16" who="(linux)" />
<person posts="3" size="16" who="(rwhron)" />
<person posts="3" size="16" who="Corvus Corax" />
<person posts="3" size="12" who="Andreas Dilger" />
<person posts="3" size="11" who="Janet Morgan" />
<person posts="3" size="10" who="Gerd Knorr" />
<person posts="3" size="10" who="Stephen Hemminger" />
<person posts="3" size="10" who="David Hinds" />
<person posts="3" size="10" who="Nick Piggin" />
<person posts="3" size="9" who="Adrian Bunk" />
<person posts="3" size="9" who="Albert Cahalan" />
<person posts="3" size="9" who="Anton Altaparmakov" />
<person posts="3" size="9" who="Hugh Dickins" />
<person posts="3" size="9" who="&quot;Kendall Bennett&quot;" />
<person posts="3" size="9" who="Arjan van de Ven" />
<person posts="3" size="9" who="Helge Hafting" />
<person posts="3" size="9" who="Corey Minyard" />
<person posts="3" size="9" who="David Woodhouse" />
<person posts="3" size="9" who="Joshua Kwan" />
<person posts="3" size="9" who="Michael Vergoz" />
<person posts="3" size="8" who="Gianni Tedesco" />
<person posts="3" size="8" who="Geert Uytterhoeven" />
<person posts="3" size="8" who="Steve Kenton" />
<person posts="3" size="8" who="Andy Pfiffer" />
<person posts="3" size="8" who="walt" />
<person posts="3" size="7" who="Mark Hahn" />
<person posts="3" size="7" who="Arnd Bergmann" />
<person posts="3" size="7" who="Pete Zaitcev" />
<person posts="3" size="7" who="(Andries.Brouwer)" />
<person posts="3" size="6" who="Ananda Krishnan" />
<person posts="3" size="6" who="&quot;Stephen Corey&quot;" />
<person posts="2" size="72" who="Matthias Andree" />
<person posts="2" size="54" who="Patrick Finnegan" />
<person posts="2" size="47" who="george anzinger" />
<person posts="2" size="37" who="Meino Christian Cramer" />
<person posts="2" size="32" who="Thomas Winischhofer" />
<person posts="2" size="30" who="Hanasaki JiJi" />
<person posts="2" size="30" who="Jon Foster" />
<person posts="2" size="29" who="System Administrator" />
<person posts="2" size="29" who="Nico Schottelius" />
<person posts="2" size="22" who="Shawn" />
<person posts="2" size="20" who="&quot;Dr. David Alan Gilbert&quot;" />
<person posts="2" size="18" who="Christoffer Hall-Frederiksen" />
<person posts="2" size="17" who="=?ISO-8859-1?Q?Xos=C9_Vazquez?=" />
<person posts="2" size="15" who="&quot;Mike Black&quot;" />
<person posts="2" size="14" who="mdew" />
<person posts="2" size="14" who="&quot;JP Pozzi izzop.org&quot;" />
<person posts="2" size="11" who="Jesse Pollard" />
<person posts="2" size="11" who="Petr Vandrovec" />
<person posts="2" size="10" who="Martin Josefsson" />
<person posts="2" size="10" who="David Brownell" />
<person posts="2" size="9" who="Matt Domsch" />
<person posts="2" size="9" who="Norbert Kiesel" />
<person posts="2" size="9" who="&quot;Mallick, Asit K&quot;" />
<person posts="2" size="9" who="Dmitrii Tisnek" />
<person posts="2" size="9" who="Leonid Mamchenkov" />
<person posts="2" size="8" who="Harald Welte" />
<person posts="2" size="8" who="Andi Kleen" />
<person posts="2" size="8" who="Rogier Wolff" />
<person posts="2" size="8" who="&quot;Petr Vandrovec&quot;" />
<person posts="2" size="8" who="Niels den Otter" />
<person posts="2" size="8" who="&quot;Robert L. Harris&quot;" />
<person posts="2" size="8" who="(Gary_Lerhaupt)" />
<person posts="2" size="7" who="William Stearns" />
<person posts="2" size="7" who="Deepak Saxena" />
<person posts="2" size="7" who="&quot;David Anderson&quot;" />
<person posts="2" size="7" who="Gerhard Mack" />
<person posts="2" size="7" who="&quot;Jared Daniel J. Smith&quot;" />
<person posts="2" size="7" who="&quot;Elie&quot;" />
<person posts="2" size="7" who="shaheed" />
<person posts="2" size="7" who="Kristof Bruyninckx" />
<person posts="2" size="7" who="&quot;Cameron, Steve&quot;" />
<person posts="2" size="6" who="Jakob Oestergaard" />
<person posts="2" size="6" who="Robert Woerle Paceblade/Support" />
<person posts="2" size="6" who="Andrew McGregor" />
<person posts="2" size="6" who="Jan-Benedict Glaw" />
<person posts="2" size="6" who="Ivan Kokshaysky" />
<person posts="2" size="6" who="&quot;Paul Rolland&quot;" />
<person posts="2" size="6" who="Derek Atkins" />
<person posts="2" size="6" who="Miles Bader" />
<person posts="2" size="6" who="Anders Gustafsson" />
<person posts="2" size="6" who="Davide Libenzi" />
<person posts="2" size="6" who="(fauxpas)" />
<person posts="2" size="6" who="=?ISO-8859-2?Q?Pawe=B3_Go=B3aszewski?=" />
<person posts="2" size="6" who="Bernd Petrovitsch" />
<person posts="2" size="6" who="Val Henson" />
<person posts="2" size="6" who="Vojtech Pavlik" />
<person posts="2" size="6" who="Arnd Bergmann" />
<person posts="2" size="6" who="Daniel Egger" />
<person posts="2" size="6" who="Jakub Jelinek" />
<person posts="2" size="6" who="Beneath" />
<person posts="2" size="6" who="Bob Miller" />
<person posts="2" size="6" who="Alastair Stevens" />
<person posts="2" size="6" who="Paul B Schroeder" />
<person posts="2" size="6" who="Jesse Pollard" />
<person posts="2" size="6" who="Takashi Iwai" />
<person posts="2" size="5" who="Ben Greear" />
<person posts="2" size="5" who="&quot;John W. M. Stevens&quot;" />
<person posts="2" size="5" who="Kostadin Karaivanov" />
<person posts="2" size="5" who="Martijn Uffing" />
<person posts="2" size="5" who="Mathias Kretschmer" />
<person posts="2" size="5" who="Bernd Eckenfels" />
<person posts="2" size="5" who="&quot;Eng Se-Hsieng&quot;" />
<person posts="2" size="5" who="Jamie Lokier" />
<person posts="2" size="5" who="Brian Davids" />
<person posts="2" size="5" who="Bastian Blank" />
<person posts="2" size="5" who="&quot;Reed, Timothy A&quot;" />
<person posts="2" size="5" who="Mark Wong" />
<person posts="2" size="5" who="Jacek Kawa" />
<person posts="2" size="5" who="John Weber" />
<person posts="2" size="5" who="Robert Love" />
<person posts="2" size="5" who="Xavier Bestel" />
<person posts="2" size="4" who="Richard Henderson" />
<person posts="2" size="4" who="&quot;Martin Schwidefsky&quot;" />
<person posts="2" size="4" who="Aaron Lehmann" />
<person posts="2" size="4" who="Jeff Dike" />
<person posts="2" size="4" who="Andreas Jellinghaus" />
<person posts="2" size="4" who="Giuliano Pochini" />
<person posts="2" size="4" who="SANTHOSH K" />
<person posts="2" size="3" who="npguy" />
<person posts="1" size="39" who="Brett" />
<person posts="1" size="39" who="scott thomason" />
<person posts="1" size="34" who="Toni Mattila" />
<person posts="1" size="32" who="Hugo Mills" />
<person posts="1" size="30" who="&quot;Sampson Fung&quot;" />
<person posts="1" size="30" who="Chris Sykes" />
<person posts="1" size="22" who="Stefan Laudat" />
<person posts="1" size="19" who="Micah Anderson" />
<person posts="1" size="18" who="Zilvinas Valinskas" />
<person posts="1" size="15" who="&quot;Somshekar. C. Kadam - CTD, Chennai.&quot;" />
<person posts="1" size="14" who="YOSHIFUJI Hideaki / =?iso-2022-jp?B?GyRCNUhGIzFRTEAbKEI=?=" />
<person posts="1" size="13" who="(sampo)" />
<person posts="1" size="13" who="Joel Jaeggli" />
<person posts="1" size="11" who="Kai Bankett" />
<person posts="1" size="10" who="&quot;Theodore Ts'o&quot;" />
<person posts="1" size="10" who="David van Hoose" />
<person posts="1" size="10" who="steven roemen" />
<person posts="1" size="9" who="Erlend Aasland" />
<person posts="1" size="7" who="Terry Barnaby" />
<person posts="1" size="7" who="&quot;Eckhardt, Rodolpho H. O.&quot;" />
<person posts="1" size="6" who="&quot;Lerhaupt, Gary&quot;" />
<person posts="1" size="6" who="&quot;Maciej W. Rozycki&quot;" />
<person posts="1" size="6" who="Cliff White" />
<person posts="1" size="6" who="&quot;Timothy D. Witham&quot;" />
<person posts="1" size="6" who="Willy Tarreau" />
<person posts="1" size="5" who="&quot;Tim Pepper&quot;" />
<person posts="1" size="5" who="Samuel Thibault" />
<person posts="1" size="5" who="Richard Guy Briggs" />
<person posts="1" size="5" who="Christoph Hellwig" />
<person posts="1" size="5" who="James Cleverdon" />
<person posts="1" size="5" who="Alfredo Sanjuan" />
<person posts="1" size="5" who="(kwijibo)" />
<person posts="1" size="5" who="Andrew Theurer" />
<person posts="1" size="5" who="Kevin O'Connor" />
<person posts="1" size="5" who="=?iso-8859-1?Q?=C9ric?= Brunet" />
<person posts="1" size="5" who="(mika.penttila)" />
<person posts="1" size="5" who="Andreas Metzler" />
<person posts="1" size="5" who="Jonathan Corbet" />
<person posts="1" size="5" who="Rod Van Meter" />
<person posts="1" size="5" who="=?iso-8859-9?B?Qm9yYSDeYWhpbg==?=" />
<person posts="1" size="5" who="&quot;yakineta&quot;" />
<person posts="1" size="5" who="Inaky Perez-Gonzalez" />
<person posts="1" size="4" who="Sergei Organov" />
<person posts="1" size="4" who="Eric Buddington" />
<person posts="1" size="4" who="Matt Domsch" />
<person posts="1" size="4" who="Remco Post" />
<person posts="1" size="4" who="Mel Gorman" />
<person posts="1" size="4" who="Keith Owens" />
<person posts="1" size="4" who="&quot;Gregory K. Ruiz-Ade&quot;" />
<person posts="1" size="4" who="Eli Carter" />
<person posts="1" size="4" who="Nicholas Wourms" />
<person posts="1" size="4" who="Andreas Haumer" />
<person posts="1" size="4" who="Paul Laufer" />
<person posts="1" size="4" who="Tupshin Harper" />
<person posts="1" size="4" who="Robert Redelmeier" />
<person posts="1" size="4" who="Jochen Hein" />
<person posts="1" size="4" who="Steve Hocking" />
<person posts="1" size="4" who="Pawel Golaszewski" />
<person posts="1" size="3" who="Christopher Li" />
<person posts="1" size="3" who="Philippe Elie" />
<person posts="1" size="3" who="David Madore" />
<person posts="1" size="3" who="Greg Daley" />
<person posts="1" size="3" who="&quot;Nakajima, Jun&quot;" />
<person posts="1" size="3" who="Herbert Xu" />
<person posts="1" size="3" who="Faik Uygur" />
<person posts="1" size="3" who="Michael Richardson" />
<person posts="1" size="3" who="&quot;LEE,SCOTT (HP-Roseville,ex1)&quot;" />
<person posts="1" size="3" who="Andries Brouwer" />
<person posts="1" size="3" who="Kasper Dupont" />
<person posts="1" size="3" who="Filip Van Raemdonck" />
<person posts="1" size="3" who="Craig Thomas" />
<person posts="1" size="3" who="&quot;Paul Menage&quot;" />
<person posts="1" size="3" who="&quot;Kimball Brown&quot;" />
<person posts="1" size="3" who="Theodore Ts'o" />
<person posts="1" size="3" who="Kenneth Johansson" />
<person posts="1" size="3" who="Nikita Danilov" />
<person posts="1" size="3" who="Falk Hueffner" />
<person posts="1" size="3" who="&quot;Mr. James W. Laferriere&quot;" />
<person posts="1" size="3" who="(davej)" />
<person posts="1" size="3" who="(sfr)" />
<person posts="1" size="3" who="Mike Anderson" />
<person posts="1" size="3" who="Matti Aarnio" />
<person posts="1" size="3" who="xsdg" />
<person posts="1" size="3" who="(latten)" />
<person posts="1" size="3" who="CaT" />
<person posts="1" size="3" who="Ingo Oeser" />
<person posts="1" size="3" who="pa3gcu" />
<person posts="1" size="3" who="&quot;Jianwen&quot;" />
<person posts="1" size="3" who="=?iso-8859-2?Q?Martin_MOKREJ=A9?=" />
<person posts="1" size="3" who="&quot;Mike A. Harris&quot;" />
<person posts="1" size="3" who="Kevin Fenzi" />
<person posts="1" size="3" who="(jrd)" />
<person posts="1" size="3" who="Joern Nettingsmeier" />
<person posts="1" size="3" who="Kenn Humborg" />
<person posts="1" size="3" who="Nick Popoff" />
<person posts="1" size="3" who="(redelm)" />
<person posts="1" size="3" who="&quot;P. Christeas&quot;" />
<person posts="1" size="3" who="roman duka" />
<person posts="1" size="3" who="Sebastian Zimmermann" />
<person posts="1" size="3" who="John Alvord" />
<person posts="1" size="3" who="Mike Lundy" />
<person posts="1" size="3" who="=?ISO-8859-2?Q?Pawe=B3_Go=B3aszewski?=" />
<person posts="1" size="3" who=" (Heinz J . Mauelshagen)" />
<person posts="1" size="3" who="(ravikumar.chakaravarthy)" />
<person posts="1" size="3" who="Magnus Danielson" />
<person posts="1" size="3" who="Bryan Andersen" />
<person posts="1" size="3" who="Alex Riesen" />
<person posts="1" size="3" who="Mike Hayward" />
<person posts="1" size="2" who="Abramo Bagnara" />
<person posts="1" size="2" who="&quot;Robert White&quot;" />
<person posts="1" size="2" who="Torsten Foertsch" />
<person posts="1" size="2" who="Paul Larson" />
<person posts="1" size="2" who="Greg Ungerer" />
<person posts="1" size="2" who="binary man" />
<person posts="1" size="2" who="&quot;Dmitry A. Fedorov&quot;" />
<person posts="1" size="2" who="Edward King" />
<person posts="1" size="2" who="(jlnance)" />
<person posts="1" size="2" who="Jonathan Thorpe" />
<person posts="1" size="2" who=" (Miquel van Smoorenburg)" />
<person posts="1" size="2" who="walt" />
<person posts="1" size="2" who="=?ISO-8859-1?Q?David_Lagani=E8re?=" />
<person posts="1" size="2" who="Andrey Nekrasov" />
<person posts="1" size="2" who="Dominik Kubla" />
<person posts="1" size="2" who="Russell Leighton" />
<person posts="1" size="2" who="Andrew Clausen" />
<person posts="1" size="2" who="Peter Svensson" />
<person posts="1" size="2" who="Sean Neakums" />
<person posts="1" size="2" who="Mike Galbraith" />
<person posts="1" size="2" who="&quot;Ray O'Connor&quot;" />
<person posts="1" size="2" who="mk" />
<person posts="1" size="2" who="Henrik Persson" />
<person posts="1" size="2" who="Todor Todorov" />
<person posts="1" size="2" who=" (Rob Radez)" />
<person posts="1" size="2" who="Roland Dreier" />
<person posts="1" size="2" who="&quot;Han Holl&quot;" />
<person posts="1" size="2" who="Jonathan Lundell" />
<person posts="1" size="2" who="Leonid Mamchenkov" />
<person posts="1" size="2" who="Johan Adolfsson" />
<person posts="1" size="2" who="Andy Isaacson" />
<person posts="1" size="2" who="AnonimoVeneziano" />
<person posts="1" size="2" who="James Stevenson" />
<person posts="1" size="2" who="Ville Herva" />
<person posts="1" size="2" who="Paul Adams" />
<person posts="1" size="2" who="scott thomason" />
<person posts="1" size="2" who="Benny Sjostrand" />
<person posts="1" size="2" who="Arador" />
<person posts="1" size="2" who="=?iso-8859-1?q?Pablo=20B?=" />
<person posts="1" size="2" who="(uaca)" />
<person posts="1" size="2" who="(achirica)" />
<person posts="1" size="2" who="Patrick Michael Kane" />
<person posts="1" size="2" who="Alexandre Hautequest" />
<person posts="1" size="2" who="fateswarm" />
<person posts="1" size="2" who="James Antill" />
<person posts="1" size="2" who="Eric Lammerts" />
<person posts="1" size="2" who="(no_spam)" />
<person posts="1" size="2" who="Andre Hedrick" />
<person posts="1" size="2" who="lk" />
<person posts="1" size="2" who="Erik Lotspeich" />
<person posts="1" size="2" who="&quot;Joshua M. Kwan&quot;" />
<person posts="1" size="2" who="&quot;Alfred E. Heggestad&quot;" />
<person posts="1" size="2" who="Scott Lee" />
<person posts="1" size="2" who="David Schwartz" />
<person posts="1" size="2" who="Paige" />
<person posts="1" size="2" who="Jaroslav Kysela" />
<person posts="1" size="2" who="Prasad Kamath" />
<person posts="1" size="2" who="(Lukas)" />
<person posts="1" size="2" who="Uwe Reimann" />
<person posts="1" size="2" who="alx" />
<person posts="1" size="2" who="Maciej Soltysiak" />
<person posts="1" size="2" who="chris Allen" />
<person posts="1" size="2" who="Randolph Bentson" />
<person posts="1" size="2" who="&quot;turm eric&quot;" />
<person posts="1" size="2" who=" (Andreas Jellinghaus)" />
<person posts="1" size="1" who="(miltonm)" />
<person posts="1" size="1" who="Pascal Schmidt" />
<person posts="1" size="1" who="Kevin Brosius" />
<person posts="1" size="1" who="Seiichi Nakashima" />
<person posts="1" size="1" who="Adrian Etchevarne" />
<person posts="1" size="1" who="Vergoz Michael" />
<person posts="1" size="1" who="Patrick McHardy" />
<person posts="1" size="1" who="Zoey" />

</stats>

<section
  title="Minutes From Kernel Conference Call"
  subject="Minutes from Feb 21 LSE Call"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0302.2/1578.html"
  posts="297"
  startdate="21 Feb 2003 15:48:14 -0800"
  enddate="01 Mar 2003 06:15:10 -0800"
>
<topic>SMP</topic>
<topic>Version Control</topic>
<topic>Virtual Memory</topic>

<mention>Alan Cox</mention>
<mention>Gerrit Huizenga</mention>
<mention>Cliff White</mention>
<mention>Ben LaHaise</mention>
<mention>Dave McCracken</mention>
<mention>Rik van Riel</mention>
<mention>Andrew Morton</mention>

<p>Hanna Linder said:</p>

<quote who="Hanna Linder">

<p>        LSE Con Call Minutes from Feb21</p>

<p>Minutes compiled by Hanna Linder hannal@us.ibm.com, please post corrections
to <a href="mailto:lse-tech@lists.sf.net">lse-tech@lists.sf.net</a>.</p>

<p><i>Object Based Reverse Mapping:</i></p>

<p>(Dave McCracken, Ben LaHaise, Rik van Riel, Martin Bligh, Gerrit Huizenga)</p>

<p>        Dave coded up an initial patch for partial object based rmap
which he sent to linux-mm yesterday. Rik pointed out there is a scalability
problem with the full object based approach. However, a hybrid approach
between regular rmap and object based may not be too radical for
2.5/2.6 timeframe.</p>

<p>        Ben said none of the users have been complaining about
performance with the existing rmap.  Martin disagreed and said Linus,
Andrew Morton and himself have all agreed there is a problem.
One of the problems Martin is already hitting on high cpu machines with
large memory is the space consumption by all the pte-chains filling up
memory and killing the machine. There is also a performance impact of
maintaining the chains.</p>

<p>        Ben said they shouldnt be using fork and bash is the
main user of fork and should be changed to use clone instead.
Gerrit said bash is not used as much as Ben might think on
these large systems running real world applications.</p>

<p>        Ben said he doesnt see the large systems problems with
the users he talks to and doesnt agree the full object based rmap
is needed.  Gerrit explained we have very complex workloads running on
very large systems and we are already hitting the space consumption
problem which is a blocker for running Linux on them.</p>

<p>        Ben said none of the distros are supporting these large
systems right now. Martin said UL is already starting to support
them. Then it degraded into a distro discussion and Hanna asked
for them to bring it back to the technical side.</p>

<p>        In order to show the problem with object based rmap you have to   
add vm pressure to existing benchmarks to see what happens. Martin
agreed to run multiple benchmarks on the same systems to simulate this.
Cliff White of the OSDL offered to help Martin with this.</p>

<p>        At the end Ben said the solution for now needs to be
a hybrid with existing rmap. Martin, Rik, and Dave all agreed with Ben.
Then we all agreed to move on to other things.</p>

<p>*ActionItem - someone needs to change bash to use clone instead of fork..</p>

<p><i>Scheduler Hang as discovered by restarting a large Web application
multiple times:</i></p>

<p>        Rick Lindlsey/ Hanna Linder</p>

<p>        We were seeing a hard hang after restarting a large web
serving application 3-6 times on the 2.5.59 (and up) kernels
(also seen as far back as 2.5.44).  It was mainly caused when two
threads each have interrupts disabled and one is spinning on a lock that
the other is holding. The one holding the lock has sent an IPI to all
the other processes telling them to flush their TLB's. But the one
witinging for the spinlock has interrupts turned off and does not recieve
that IPI request. So they both sit there waiting for ever.</p>

<p>The final fix will be in kernel.org mainline kernel version 2.5.63.
Here are the individual patches which should apply with fuzz to
older kernel versions:</p>

<p><a href="http://linux.bkbits.net:8080/linux-2.5/cset@1.1005?nav=index.html">http://linux.bkbits.net:8080/linux-2.5/cset@1.1005?nav=index.html</a><br />
<a href="http://linux.bkbits.net:8080/linux-2.5/cset@1.1004?nav=index.html">http://linux.bkbits.net:8080/linux-2.5/cset@1.1004?nav=index.html</a></p>

<p><i>Shared Memory Binding :</i></p>

<p>                Matt Dobson -</p>

<p>        Shared memory binding API (new). A way for an
application to bind shared memory to Nodes. Motivation
is for large databases support that want more control
over their shared memory.</p>

<p>        current allocation scheme is each process gets
a chunk of shared memory from the same node the process
is located on. instead of page faulting around to different
nodes dynamicaly this API will allow a process to specify
which node or set of nodes to bind the shared memory to.</p>

<p>        Work in progress.</p>

<p>Martin - gcc 2.95 vs 3.2.</p>

<p>Martin has done some testing which indicates that gcc 3.2 produces
slightly worse code for the kernel than 2.95 and takes a bit
longer to do so. gcc 3.2 -Os produces larger code than gcc 2.95 -O2.
On his machines -O2 was faster than -Os, but on a cpu wiht smaller
caches the inverse may be true. More testing may be needed.</p>

</quote>

<p>To Ben LaHaise's statement that none of the Linux distributions were
supporting the really big systems, Larry McVoy said:</p>

<quote who="Larry McVoy">

<p>Ben is right.  I think IBM and the other big iron companies would be far
better served looking at what they have done with running multiple instances
of Linux on one big machine, like the 390 work.  Figure out how to use
that model to scale up.  There is simply not a big enough market to justify
shoveling lots of scaling stuff in for huge machines that only a handful of
people can afford.  That's the same path which has sunk all the workstation
companies, they all have bloated OS's and Linux runs circles around them.</p>

<p>In terms of the money and in terms of installed seats, the small Linux
machines out number the 4 or more CPU SMP machines easily 10,000:1.  And with
the embedded market being one of the few real money makers for Linux, there
will be huge pushback from those companies against changes which increase
memory footprint.</p>

</quote>

<p>Alan Cox said he thought people generally vastly overestimated the number
of multi-processor machines on the market. He pointed to some big-machine
bugs that had gone unnoticed for long periods of time, as evidence of
this. Elsewhere, Martin J. Bligh pointed out to Larry, that multiple instances
of the OS running on a single machine would not be as good a solution as
Larry hoped. Martin said, <quote who="Martin J. Bligh">this doesn't work in
practice. Workloads may not be easily divisible amongst machines, and you're
just pushing all the complex problems out for every userspace app to solve
itself, instead of fixing it once in the kernel.</quote> There followed a huge,
unfocused debate about the profitability of the computer hardware industry.</p>

</section>

<section
  title="Status Of GCC 3.3"
  subject="[PATCH] s390 (7/13): gcc 3.3 adaptions."
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0302.3/0170.html"
  posts="32"
  startdate="24 Feb 2003 10:10:51 -0800"
  enddate="28 Feb 2003 19:12:53 -0800"
>
<topic>Compiler</topic>

<mention>Andreas Schwab</mention>
<mention>Martin Schwidefsky</mention>

<p>Martin Schwidefsky posted some patches to allow Linux to be compiled
for the s390 architecture, using GCC version 3.3 pre-releases. One of his
modifications entailed stopping the compiler from warning about comparisons
between signed and unsigned numbers. Richard B. Johnson objected, <quote
who="Richard B. Johnson">I think you must keep these warnings in! There are
many bugs that these uncover uncluding loops that don't terminate correctly
but seem to work for "most all" cases. These are the hard-to-find bugs that hit
you six months after release.</quote> Arnd Bergmann replied, <quote who="Arnd
Bergmann">Obviously the warning is a good idea in general, but I don't see
the point of scrolling through hundreds of lines with the same warning in
someone else's code. I actually plan to fix these warnings in arch/s390
and drivers/s390 as well as include/ and make the s390 kernel compile with
-Werror, but the rest looks more like a task for the Janitors. Note that
before gcc-3.3, -Wsign-compare has not been part of -Wall.</quote> Close by,
Linus Torvalds remarked:</p>

<quote who="Linus Torvalds">

<p>At least historically gcc has been so f*cking bad at the "unsigned vs
signed" warnings that they are totally useless.</p>

<p>Maybe things are better in gcc-3.3.</p>

<p>Maybe not.</p>

</quote>

<p>He posted an example of correct code that would cause GCC to produce a
warning, and Andreas Schwab pointed out that there was no way for the compiler
to distinguish between the code in Linus' example, and actual bad code. Linus
replied:</p>

<quote who="Linus Torvalds">

<p>Which is indeed my point. If you cannot distinguish it from incorrect
uses, you shouldn't be warnign the user, because the compiler obviously
doesn't know enough to make a sufficiently educated guess.</p>

<p>That said, a good compiler _can_ make a good warning. But to do so, you
have to actually do value analysis, instead of just blindly warning about
code that is obviously correct to a human.</p>

<p>Until gcc does sufficient value analysis, that signed warning is annoying,
worthless and a damn pain in the ass.</p>

</quote>

<p>Close by, Alan Cox remarked, <quote who="Alan Cox">gcc gives the warning
only when you ask it to annoy you. Seems a good trade off. There are about 15
bug fixes in 2.4.21-pre4ac4,ac5,ac6 solely from that, all real bugs and some
very non obvious.</quote> Linus pointed out, <quote who="Linus Torvalds">That
_used_ to be true.  Look at the subject line. gcc-3.3 gives the warning for
-Wall.</quote> But Alan said, <quote who="Alan Cox">gcc-3.3 doesnt exist
yet. Maybe it wont do that now 8).</quote> Linus replied:</p>

<quote who="Linus Torvalds">

<p>Right now there are some other problems with gcc-3.3 too, ie the
inlining is apparently broken enough that we'll either have to start using
__attribute__((force_inline)) or we'd better hope that the gcc people decide
to take the "inline" keyword more seriously (it's being discussed on the
gcc lists, so we'll see)</p>

<p>But yes, these are all obviously with "early versions", and it may be
that it changes before the real release.</p>

</quote>

</section>

<section
  title="PCI Hotplugging Updates"
  subject="[BK PATCH] PCI hotplug changes for 2.5.63"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0302.3/0294.html"
  posts="20"
  startdate="24 Feb 2003 17:13:03 -0800"
  enddate="01 Mar 2003 14:25:33 -0800"
>
<topic>FS: sysfs</topic>
<topic>Hot-Plugging</topic>
<topic>PCI</topic>

<mention>Russell King</mention>
<mention>Christoph Hellwig</mention>

<p>Greg KH announced:</p>

<quote who="Greg KH">

<p>Here's some patches that clean up the remove logic a lot for the PCI
hotplug drivers.  The main PCI patches were done by Russell King and Christoph
Hellwig, and then I went and cleaned up the PCI Hotplug drivers a lot based
on their changes.  I also fixed up some exit logic in the IBM PCI hotplug
driver, as it was a mess.</p>

<p>Scott, I modified the cPCI core in order to get it to build and link
properly again, but as I don't have the hardware to test it, you should
probably look over the change and see if I messed anything up or not.  Also,
I think you are the last user of the pci_visit structure, make sure you
really need it, otherwise we can get rid of it entirely from the PCI core.</p>

</quote>

<p>Also included in his patches was code to migrate the entire PCI /proc
interface to SysFS.</p>

</section>

<section
  title="Replacing DevFS"
  subject="Patch: 2.5.62 devfs shrink"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0302.3/0421.html"
  posts="12"
  startdate="25 Feb 2003 02:23:18 -0800"
  enddate="28 Feb 2003 04:50:39 -0800"
>
<topic>FS: devfs</topic>
<topic>FS: ramfs</topic>

<mention>Maneesh Soni</mention>
<mention>Richard Gooch</mention>
<mention>Andrew Morton</mention>
<mention>Steven Cole</mention>

<p>Adam J. Richter announced:</p>

<quote who="Adam J. Richter">

<p>Here is an update to my patch to shrink devfs for linux-2.5.62.
The patch is a net deletion of 2407 lines.  It contains the following new
changes:</p>

<p>

<ul>

<li>Maneesh Soni submitted a patch for operation with the read-copy-update
code, which was extremely good timing, as that code apparently got integrated
into 2.5.62.</li>

<li>Fixed a bug reported by Alistair Strachan where pseudo-terminals could not
be allocated by non-super-user processes (devfs needed to set CAP_DAC_OVERRIDE
in a couple of places).</li>

<li>Restore the devfs=nomount option, to accomodate a distribution
compatability problem reported by Steven Cole.  devfs=nomount suppresses the
effect CONFIG_DEVFS_MOUNT--that is, mounting of /dev before the kernel invokes
/sbin/init.  Note: perhsps we should eliminate CONFIG_DEVFS_MOUNT entirely.
I'll have to check to see if it is needed by systems that boot directly to
a hardware device rather than to an initial ramdisk.</li>

</ul>

</p>

<p>Presumably because of the size of all of the "-" lines in the
patch, the linux-kernel mailing list filters it out, so I'll just post   
a URL for it:</p>

<p><a href="ftp://ftp.yggdrasil.com/pub/dist/device_control/devfs/smalldevfs-2.5.62-v10.patch">ftp://ftp.yggdrasil.com/pub/dist/device_control/devfs/smalldevfs-2.5.62-v10.patch</a></p>

<p>Also, here is the URL for the latest devfs_helper user level
program (version 0.2, unchanged).  It is a reduced functionality
replacement for devfsd.</p>

<p><a href="ftp://ftp.yggdrasil.com/pub/dist/device_control/devfs/devfs_helper-0.2.tar.gz">ftp://ftp.yggdrasil.com/pub/dist/device_control/devfs/devfs_helper-0.2.tar.gz</a></p>


<p>I'll also describe my "to do" list for this software, in case
anyone spots something I've forgotten:</p>

<p>

<ul>

<li>Submit a patch to the -mm kernels, as Andrew has been kind enough to
distribute this change in his -mm kernels.</li>

<li>Write a small FAQ list on moving from old devfs.</li>

<li>Remove CONFIG_DEVFS_MOUNT?</li>

<li>Probably request integration after linux-2.7.0.</li>

</ul>

</p>

</quote>

<p>Andrew Morton asked for a list of incompatibilities between Adam's
new DevFS code and the existing one, along with a description of
how to migrate from the old to the new setup. Adam replied, <quote
who="Adam J. Richter">OK.  Here is a first draft of what I plan to put in
linux/Documentation/filesystems/devfs/small-devfs.  Corrections and comments
are welcome.</quote>. He went on:</p>

<quote who="Adam J. Richter">

<p>This document describes the differences between Richard Gooch's
original devfs and my "small" devfs.</p>

<p>This new devfs replaces the internal devfs file system with one
derived from ramfs, a reduction of more than 2400 lines of source
code, although file systems based on ramfs rely on the 345 line
file fs/libfs.c.</p>

<p>User level differences:</p>

<p>

<ol>

<li>

<p>devfsd replaced by devfs_helper</p>

<p>        devfs_helper implements a subset of devfsd functionality.
devfsd is not a deamon.  Instead, the new devfs invokes devfs_helper
with argument for each event.  The new devfs currently only calls
devfs_helper for "LOOKUP" and "REGISTER" events.  devfs_helper
uses the existing /etc/devfsd.conf file and supports devfsd's regular
expression matching.  Like devfsd, devfs_helper is optional.  It is
available from the following FTP directory.</p>

<p><a href="ftp://ftp.yggdrasil.com/pub/dist/device_control/devfs/">ftp://ftp.yggdrasil.com/pub/dist/device_control/devfs/</a></p>

</li>

<li>

<p>Old device names not automatically installed.</p>

<p>   Unlike devfsd, devfs_helper does not install old "compatible"
   device names.  This keeps devfs_helper small, which is particularly
   important since devfs_helper is invoked repeatedly.</p>

<p>   If you want to install a bunch of alternate device
   names (such as /dev/hda1 for /dev/ide/host0/bus0/target0/lun0/part1),
   you can do this at boot time after /dev has been mounted.  For
   example, you could maintain a tree of device nodes to overlay
   on /dev in, say /dev.overlay, and then add something like the
   following to a boot script:</p>

<p>        ( cd /dev.overlay &amp;&amp; tar cf - ) | ( cd /dev &amp;&amp; tar xfp - )</p>

<p>   Note that you should not use "cp" or even "cp -a" for this
   operation, as that "cp" will always try to open devices and
   read from them.</p>

<p>   If you want to save the current /dev every time you shut your
   system down, you could add a line like the following to a
   halt script:</p>

<p>        ( cd /dev &amp;&amp; tar cf - ) | ( cd /dev.overlay &amp;&amp; tar xfp - )</p>

<p>   Note that if you want to support booting both with and without
   devfs, a simpler approach might be to convert your non-devfs
   system to use devfs-style names, at least for the devices that
   are needed for booting (/dev/vc/0, /dev/vc/1... for virtual
   consoles, /dev/discs/disc0/disc for the first whole hard disk,
   /dev/discs/discs0/part1 for the first partition of the first
   disk, /dev/floppy/0).</p>

</li>

<li>

<p>Future: DEVFS_MOUNT and "devfs=nomount" may disappear.</p>

<p>   The option to have the kernel automatically mount /dev may
   disappear in the future.  As with old devfs, you can already
   eliminate this feature by not defining DEVFS_MOUNT.  If you
   do this, the kernel will not be able to open /dev/console
   before invoking /sbin/init.  Eliminating DEVFS_MOUNT shrinks
   the kernel, allowing this functionality to be provided by
   user level programs (which don't necessarily remain resident
   in memory and which may want to do something different anyhow).
   The init program can do something like the following untested
   code to mount /dev and open /dev/console:</p>

<pre>        mount("", "/dev", "devfs", 0, NULL);
        close(0); close(1); close(2);   /* Just to make sure. */
        open("/dev/console", O_RDONLY); /* This will return fd 0. */
        open("/dev/console", O_WRONLY); /* This will return fd 1. */
        dup2(1, 2);                     /* stderr = stdout. */</pre>

</li>

<li>

<p>Partition table support now matches non-devfs systems (i.e., no
   automatic partition table rereading, which was causing problems).</p>

<p>        The old devfs would automatically reread partition tables
at various times.  This was a functional difference with non-devfs
systems, and made it nearly impossible to use drivers that returned
incorrect "media changed" information such as with CompactFlash cards
on systems that used user level partition reading programs like partx
to keep the kernel small.  Basically, the old devfs would make the
kernel forget CompactFlash partition tables on nearly every operation.
This misfeature is removed in smalldevfs.  smalldevfs systems now
handle partition tables just like non-devfs systems.</p>

</li>

</ol>

</p>

<p>Kernel differences:</p>

<p>

<ol>

<li>

<p>"ops" argument to devfs_register is temporarily ignored</p>

<p>        If you are using devfs to register a character or block
device, you should not notice any difference.  The difference is that
the ops argument to devfs_register is currently ignored.  So, for the
time being, access to all devices still go through major and minor
device numbers.  Eventually, I would like to restore the functionality
of potentially eliminating major and minor device numbers, but, for
now, this functionality is temporarily gone.</p>

<p>        Because this functionality is gone, you can only register
character or block devices to get device-like behavior.  The only
users of this functionality were a couple of interfaces that
duplicated /proc interfaces.  They were removed from the kernel
recently anyhow.</p>

<p>        In the future, I hope to restore this functionality in a way
that will allow even more device support code to removed (or
"configured out") as a result than under the old devfs.  So, please
continue to pass the character or block device operations pointer to
devfs_register, even if devfs_register is currently not using it.</p>

</li>

<li>

<p>devfs_only() always returns 0</p>

<p>        devfs_only() is supposed to return 1 on systems that always
use the ops field in devfs_register and therefore do not need to
reference devices by number.  Because of #2, devfs_only() currently
always return 0.  This should change in the future, so please do not
delete code that tests devfs_only().  The compiler will optimize out
the unnecessary code in the meantime.</p>

</li>

</ol>

</p>

</quote>

</section>

<section
  title="kexec Updates Ready For 2.5"
  subject="[KEXEC][2.5.63] Partially tested patches available"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0302.3/0647.html"
  posts="8"
  startdate="25 Feb 2003 16:53:35 -0800"
  enddate="01 Mar 2003 17:36:12 -0800"
>
<topic>Kexec</topic>

<p>Andy Pfiffer said to Eric W. Biederman:</p>

<quote who="Andy Pfiffer">

<p>I have carried forward the kexec patch set to 2.5.63.  I have checked it
on a 1-way system, and 2-way tests are still pending.</p>

<p>There were additional syscall hijinks in the merge to 2.5.63, so anyone
that uses this patch set will need to recompile their kexec tools.</p>

<p>Minor changes to the base patch include the removal of two compile-time
warnings for unused variables.</p>

<p>The patches are available for download from OSDL's patch lifecycle
manageer (PLM):</p>

<p>Patch Stack for 2.5.63:</p>

<p>        kexec base for 2.5.63 (based upon 2.5.54 version)<br />
        <a href="http://www.osdl.org/cgi-bin/plm?module=patch_info&amp;patch_id=1623">http://www.osdl.org/cgi-bin/plm?module=patch_info&amp;patch_id=1623</a></p>

<p>        kexec hwfixes for 2.5.63 (based upon 2.5.5[89] version)<br />
        <a href="http://www.osdl.org/cgi-bin/plm?module=patch_info&amp;patch_id=1624">http://www.osdl.org/cgi-bin/plm?module=patch_info&amp;patch_id=1624</a></p>

<p>        kexec usemm change (allowed 2-way to work for me):<br />
        <a href="http://www.osdl.org/cgi-bin/plm?module=patch_info&amp;patch_id=1625">http://www.osdl.org/cgi-bin/plm?module=patch_info&amp;patch_id=1625</a></p>

<p>        optional change to defconfig to CONFIG_KEXEC=y<br />
        <a href="http://www.osdl.org/cgi-bin/plm?module=patch_info&amp;patch_id=1626">http://www.osdl.org/cgi-bin/plm?module=patch_info&amp;patch_id=1626</a></p>

<p>The patches are also available (with matching kexec-tools-1.8) here:<br />
<a href="http://www.osdl.org/archive/andyp/kexec/2.5.63/">http://www.osdl.org/archive/andyp/kexec/2.5.63/</a></p>

</quote>

<p>Eric was happy to see this work, but he said that for various reasons,
he was too strapped for time to do much on the kexec patches. He added,
<quote who="Eric W. Biederman">We need to get up some steam and see what it
will take for Linus to notice and actually get this patch included.</quote>
Bill Davidsen replied, <quote who="Bill Davidsen">I hate to say it, but
"notice" and "include" are two different things. He noticed the "write oops
to disk" feature, he just didn't like it. Linus is a great developer, but he
has limited sys admin experience, if any.  Hopefully he will think it's cool,
but don't assume that if you can get his attention he will respond as you wish.
Best of luck on this.</quote> And Eric replied:</p>

<quote who="Eric W. Biederman">

<p>The code has already gotten tentative approval from Linus.  And I suspect
the biggest reason it isn't in is that I have gotten distracted lately and
have not been asking for it to be included.</p>

<p>Being able to use this for processing panics is one of the side features
of kexec.  Admittedly one of the more useful ones, but definitely not a
core feature.</p>

<p>Given the encouragement I have received until I actually get negative
feedback from Linus I will continue to figure it has not made it into
the kernel because Linus has limited hours in the day, and an overflowing
inbox.</p>

</quote>

<p>Werner Almesberger remarked, <quote who="Werner Almesberger">After that
tentative approval, kexec finally has gotten the attention it deserves,
and there was quite a bit of development on and surrounding it, so I guess
Linus may just have decided to wait until the storm has calmed down a
little.</quote></p>

</section>

<section
  title="S4bios Updated; Troubles With Software Suspend In 2.5"
  subject="S4bios support for 2.5.63"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0302.3/0929.html"
  posts="29"
  startdate="26 Feb 2003 13:13:47 -0800"
  enddate="04 Mar 2003 04:00:15 -0800"
>
<topic>Disks: IDE</topic>
<topic>Ioctls</topic>
<topic>Software Suspend</topic>

<mention>Bert Hubert</mention>
<mention>Nigel Cunningham</mention>

<p>Pavel Machek announced, <quote who="Pavel Machek">This is S4bios
support for 2.5.63. I'd like to see it in since it is easier to understand
and more foolproof.</quote> Bert Hubert said he hadn't been able to get
software suspend (swsusp) to work since 2.5.61, with or without the S4bios
patches. Nigel Cunningham recommended trying the latest snapshot, which
he thought had a fix. Bert tried this, but got a different error: "BUG_ON
(HWGROUP(drive)-&gt;handler);". Alan Cox replied, <quote who="Alan Cox">Looks
like swsuspend attempted to run an operation while one was in progress. IDE
tries to catch that because the result of missing it isnt very pretty at
fsck time.</quote> Roger Luethi also said:</p>

<quote who="Roger Luethi">

<p>That problem has been around for a while. I reported it for 2.5.59 which
just happened to be the first 2.5 kernel I tested with swsuspend.</p>

<p>I'm seeing the bug every time I try swsuspend on 2.5. The same Vanilla
kernels seem to work for other people, though.</p>

<p>The only thing that came up at the time was a suggestion to replace BUG_ON
with while (which I didn't try because I'd like to keep my data).</p>

</quote>

<p>Alan replied, <quote who="Alan Cox">That isnt far off what you want. IDE
has proper command queuing functionality and providing you are suspending
in a sleeping context you can do what you are trying to do through the IDE
layer politely. Take a look at how the various ide taskfile ioctls issue
commands.</quote> Close by, Bert reported that the most recent kernel that
would give him working software suspend was 2.5.53; he and Roger managed
to eliminate the compiler as a source of the problem, since they were both
using fairly disparate GCC versions. Pavel Machek suggested the problem might
show up on systems with two disk drives, but Roger and Bert pointed out that
Bert's system had only one. Alan remarked that having two disk drives might
trigger the bug more easily, while it still might take place on systems
with only one. He remarked, <quote who="Alan Cox">An IDE command can only
be outstanding per interface not per device.</quote> A bunch of developers
piled onto the problem, but the thread ended inconclusively.</p>

</section>

<section
  title="ioctl32 Consolidation"
  subject="ioctl32 consolidation -- call for testing"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0302.3/0932.html"
  posts="14"
  startdate="26 Feb 2003 14:26:06 -0800"
  enddate="28 Feb 2003 16:52:58 -0800"
>
<topic>Ioctls</topic>

<mention>David S. Miller</mention>

<p>Pavel Machek announced:</p>

<quote who="Pavel Machek">

<p>This is next version of ioctl32 consolidation. At one point it compiled
on x86-64 and sparc64. I'm not 100% sure it still does...</p>

<p>Could you try to apply it on your architecture, fix whatever breakage it
causes, and submit patch back to me?</p>

<p>ia64 has very different ioctl32 emulation (and very short). What
is going on there? Also not all architectures knew about
register_ioctl32_translation. Ouch.</p>

</quote>

<p>Ben Collins pointed out that this broke the Sparc64 code. It seemed that
none of the 32-bit ioctls were registered, so the system, being entirely
32-bit, couldn't boot to usermode fully. Later he posted a patch, saying,
<quote who="Ben Collins">Here it is. Sparc64's macros for ioctl32's assumed
that cmd was u_int instead of u_long. This look ok to you, Dave?</quote>
Pavel applied the patch, but David S. Miller didn't like it, as it doubled
the size of the data structure on Sparc64. Ben felt there was no way out of
it, and they went over some of the implementation details together.</p>

</section>

<section
  title="Spell-Checking Kernel Comments"
  subject="[PATCH] kernel source spellchecker"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0302.3/0984.html"
  posts="47"
  startdate="26 Feb 2003 22:59:33 -0800"
  enddate="05 Mar 2003 10:10:32 -0800"
>
<topic>MAINTAINERS File</topic>
<topic>POSIX</topic>

<p>Dan Kegel posted a script to perform spellchecking on the kernel sources. He
said, <quote who="Dan Kegel">Since the main remaining feature before release
of the 2.6 kernel is fixing all the remaining spelling errors, this patch
seems appropriate.  This is against 2.4 but should apply to other versions
as well.  It's not very smart, but should help get us to our all-important
goal of 100% correctly spellt kernel source.  Todo: make it ignore names
from the MAINTAINERS file, the list of signals and syscalls, and other
well-known english words seem mostly in Webster's Posix edition; rewrite in
Perl rather than C, or add real Makefile entry.  Enjoy!</quote> The script
would go through the kernel sources, operating only on C comments, reporting
on all words that appeared to be misspelled. Later he admitted he'd only been
joking, but then he ran the script himself and got a lot of output. He posted
a long list of words that were misspelled in five or more files. Matthias
Schniederme posted a snippet of Perl to actually do the corrections. Dan
Kegel pointed out that things like "borken", "dain bramaged", "controllen"
and "callin" were not typos, and remarked, <quote who="Dan Kegel">The above
examples make me think the list of corrections will have to be very carefully
vetted before we turn this thing loose.</quote> A number of folks agreed
with this. After some reworking of his and Matthias' work, Dan said:</p>

<quote who="Dan Kegel">

<p>My corrections file is up at <a
href="http://www.kegel.com/spell-fix-dan1.txt">http://www.kegel.com/spell-fix-dan1.txt</a>
and the patch that produces is <a
href="http://www.kegel.com/linux-2.5.63-bk5-spell.patch.bz2.bin">http://www.kegel.com/linux-2.5.63-bk5-spell.patch.bz2.bin</a>
The perl script took about an hour of 450MHz cpu time.  (Might be worth adding
a quick path to detect and skip files with none of the misspelled words.
Or just run on a fast machine...)</p>

<p>I did a spot check, and it looked pretty good, but some of the fixes are
just too pedantic.  In particular,</p>

<p>  decrementor=decrementer</p>

<p>should probably be dropped from the fix list.</p>

<p>Any other changes people want to see in the script or the corrections file?
Should I add fixes for uncommon errors (those that happen only in one or
two files)?</p>

</quote>

<p>There followed a nice discussion of possible misspellings, Britishisms,
Americanisms, and other corner cases. At one point Dan cautioned users
of his and Matthias' tools, <quote who="Dan Kegel">BTW Linus has been
accepting so many spell fixes it's probably important to work with very
fresh sources...</quote></p>

</section>

<section
  title="Linux 2.5.63-mm1 Released"
  subject="2.5.63-mm1"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0302.3/1021.html"
  posts="24"
  startdate="27 Feb 2003 02:59:00 -0800"
  enddate="04 Mar 2003 10:32:11 -0800"
>
<topic>FS: devfs</topic>
<topic>Kernel Release Announcement</topic>

<p>Andrew Morton announced 2.5.63-mm1:</p>

<quote who="Andrew Morton">

<a
href="ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.5/2.5.63/2.5.63-mm1/">ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.5/2.5.63/2.5.63-mm1/</a>

<p>

<ul>

<li>Tons of changes to the anticipatory scheduler.  It may not be working
  very well at present.  Please use "elevator=deadline" if it causes
  problems.</li>

<li>Updated smalldevfs patch.</li>

<li>A fix for the VMA-based reverse mapping patch.</li>

<li>Added Ingo's latest CPU scheduler update.</li>

<li>Lots of random fixes.</li>

</ul>

</p>

</quote>

</section>

<section
  title="Rhine-II Stable For 2.5 And 2.4"
  subject="[0/2][via-rhine][ANNOUNCE] 1.17rc"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0302.3/1028.html"
  posts="5"
  startdate="27 Feb 2003 03:44:17 -0800"
  enddate="01 Mar 2003 04:15:16 -0800"
>

<p>Roger Luethi said, <quote who="Roger Luethi">With these patches, the
Rhine-II passes stress testing for the first time.  There are still a few
issues, but the driver doesn't break down under load like all previous
ones did.</quote> There were no replies on the list, but he posted a little
later:</p>

<quote who="Roger Luethi">

<p>the private feedback I have received so far on the recent changes has
been excellent. The Rhine-II is now finally usable with via-rhine. Time to
call it 1.17. -- Please apply.</p>

<p>FWIW I think the four patches (including this one) leading up to 1.17 are
2.4 material, too. The drivers were identical at 1.16, and some kind souls
successfully tested 1.17 on 2.4. Given the low frequency of 2.4 releases
and the brokenness of the driver until now, it would seem like a good idea
to have it in 2.4.21.</p>

</quote>

</section>

<section
  title="Handling Out-Of-Memory"
  subject="Protecting processes from the OOM killer"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0302.3/1208.html"
  posts="9"
  startdate="27 Feb 2003 17:21:44 -0800"
  enddate="03 Mar 2003 08:41:20 -0800"
>
<topic>OOM Killer</topic>

<mention>Jesse Pollard</mention>

<p>Dan Kegel had spent a lot of time thinking about how to protect certain
processes from the out-of-memory (OOM) killer. The OOM killer tried to
intelligently guess which processes to kill when system RAM ran short, but
it had never gotten the algorithm quite right. Dan suggested, <quote who="Dan
Kegel">How about rewarding processes that have an RSS limit if they stay well
below it?  The operator can then mark processes that are important by using
'ulimit -m'.</quote> Alan Cox replied bluntly, <quote who="Alan Cox">How
about by not allowing your system to excessively overcommit.  Everything else
is armwaving "works half the time" stuff. By the time the OOM kicks in the
game is already over. The rlimit one doesnt deal with things like fork
explosions where you have lots of processes all under 1/4 of the rlimit
range who cumulatively overcommit. In fact you now pick harder on other
tasks...</quote> Dan replied, <quote who="Dan Kegel">Even with overcommit
disallowed, the OOM killer is going to run when my users try to run too big
a job, so I would still like the OOM killer to behave "well".</quote> James
Antill and Jesse Pollard said the OOM killer shouldn't run in that case,
because the user process itself would simply fail, when trying to allocate
all that memory. Alan remarked, <quote who="Alan Cox">The one case you can't
cover cleanly in C is a stack grow exceeding memory usage. At that point it
requires a tiny bit of magic. You can do it, but the overcommit blocker has
to armwave a little for the kernel and other things so I've never seen it
happen in a normal situation.</quote></p>

</section>

<section
  title="Documentation For The Virtual Memory Subsystem"
  subject="VM Documentation Release Day"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0302.3/1215.html"
  posts="2"
  startdate="27 Feb 2003 18:41:14 -0800"
  enddate="27 Feb 2003 21:51:10 -0800"
>
<topic>Virtual Memory</topic>

<p>Mel Gorman announced:</p>

<quote who="Mel Gorman">

<p>This is a beginning of the end release of the VM documentation against
2.4.20 as it contains information on pretty much all of the VM. A lot of
the older chapters have been cleaned up in terms of language, font usage and
presentation and a few new chapters are new. Please excuse if the swapping
chapter is a bit rough, I wanted to get this done by the weekend so I can
head away offline and not have to worry about it.</p>

<p>The whole documentation is broken up into two major sets of documents.
understand.foo is the main document describing how the VM works and code.foo
is a fairly detailed code commentary to guide through the sticky parts. It
can be found in PDF(preferred format), HTML or plain text at</p>

<p>Understand the VM<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<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>This is a huge milestone for me (I'm actually
quite proud of myself!) It has come a *long* way since I wrote <a
href="http://marc.theaimsgroup.com/?l=linux-mm&amp;m=99907898511387&amp;w=2">http://marc.theaimsgroup.com/?l=linux-mm&amp;m=99907898511387&amp;w=2</a>
which was around when I first untarred the source with a view to seriously
reading it :-) (The larger project never really got as far as I thought, I
drastically underestimated how long this would take and it was large enough
project as it was)</p>

<p>At this stage, I'm nearing the end of the documentation work for the
2.4.20 VM. If I write anything for 2.5, it'll be in the shape of addendums
where I describe the differences rather than going through all this again.
All that I have left really is to polish it (especially the later chapters
like swap management) and fill in some gaps (particularly filling out the page
cache management a bit more). I'm now hoping people will read through it, tell
me where and if I've made technical errors, suggestions for improvements or
tell me where I've missed on topics that really should have been covered.</p>

<p>When the final polish is done, the whole document, LaTeX source and
all will be uploaded to somewhere more accessible than my webpage. At this
stage, presuming people do not start pointing out horrible mistakes I've
made, I'm hoping that the final version is not too far away. Suggestions,
comments and feedback are welcome.</p>

</quote>

<p>Martin J. Bligh said, <quote who="Martin J. Bligh">Congratulations -
this must have been a huge amount of effort, and will be a most valuable
resource to have ... and freely available to everyone too.</quote></p>

</section>

<section
  title="Support For The Promise PDC 20376 Serial ATA / RAID Controller"
  subject="Promise PDC 20376"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0302.3/1221.html"
  posts="5"
  startdate="27 Feb 2003 19:23:52 -0800"
  enddate="28 Feb 2003 06:45:51 -0800"
>
<topic>Disk Arrays: RAID</topic>
<topic>Disks: IDE</topic>
<topic>Serial ATA</topic>

<mention>David Monniaux</mention>
<mention>Andre Hedrick</mention>

<p>David Monniaux asked if anyone, perhaps Andre Hedrick, was working on
support for the Promise PDC 20376 Serial ATA / RAID controller; Alan Cox
replied:</p>

<quote who="Alan Cox">

<p>No. The SII is supported and the HPT with SATA bridges should work. Some
informal discussion has occurred with two other vendors who will be releasing
SATA products in time.</p>

<p>It is probably possible to reverse engineer the 20376 since I suspect it will
behave like the older devices but with the registers memory mapped.</p>

</quote>

<p>For Andre's take on Promise support, see <kcref subject="Promise SATA
chips" startdate="12 Feb 2003 04:33:11 -0800"/></p>

</section>

<section
  title="DKMS: Dynamic Kernel Module Support"
  subject="[ANNOUNCE] DKMS: Dynamic Kernel Module Support"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0302.3/1354.html"
  posts="4"
  startdate="28 Feb 2003 10:01:51 -0800"
  enddate="03 Mar 2003 13:41:20 -0800"
>
<topic>Kernel Build System</topic>

<p>Gary Lerhaupt from Dell announced:</p>

<quote who="Gary Lerhaupt">

<p>DKMS is a framework where device driver source can reside outside the
kernel source tree so that it is very easy to rebuild modules as you upgrade
kernels. This allows Linux vendors to provide driver drops without having
to wait for new kernel releases (as a stopgap before the code can make it
back into the kernel), while also taking out the guesswork for customers
attempting to recompile modules for new kernels.</p>

<p>For veteran Linux users it also provides some advantages since a separate
framework for driver drops will remove kernel releases as a blocking
mechanism for distributing code. Instead, driver development should speed
up as this separate module source tree will allow quicker testing cycles
meaning better tested code can later be pushed back into the kernel at a
more rapid pace. Its also nice for developers and maintainers as DKMS only
requires a source tarball in conjunction with a small configuration file in
order to function correctly.</p>

<p>The latest DKMS version is available at <a
href="http://www.lerhaupt.com/dkms/">http://www.lerhaupt.com/dkms/</a>.
It is licensed under the GPL. You can also find a sample DKMS enabled QLogic
RPM to show you how it all works (or, a mocked-up tarball if you don't like
RPMs). If you use the sample RPM, you'll have to install it with --nodeps
as it requires the DKMS RPM to be installed (which I haven't provided).</p>

<p>===Using DKMS===</p>

<p>DKMS is one bash executable that supports 7 sub-actions: add, build,
install, uninstall, remove, status and match.</p>

<p>add: Adds an entry into the DKMS tree for later builds.  It requires that
source be located in /usr/src/&lt;module&gt;-&lt;module-version&gt;/ as well
as the location of a properly formatted dkms.conf file (each dkms.conf is
module specific and is the configuration file that tells DKMS how to build
and where to install your module).</p>

<p>build: Builds your module but stops short of installing it.  The resultant
.o files are stored in the DMKS tree.</p>

<p>install: Installs the module in the LOCATION specified in dkms.conf.</p>

<p>uninstall: Uninstalls the module and replaces it with whatever original
module was found during install (returns your module to the "built" state).</p>

<p>remove: Uninstalls and expunges all references of your module from the
DKMS tree.</p>

<p>status: Displays the current state (added, built, installed) of modules
within the DMKS tree as well as whether any original modules have been saved
for uninstallation purposes.</p>

<p>match: Allows you to take the configuration of DKMS installed modules for
one kernel and apply this config to some other kernel.  This is helpful when
upgrading kernels where you would like to continue using your DKMS modules
instead of certain kernel modules.</p>

<p>Check out the man page for more details.</p>

</quote>

<p>A few days later he replied to himself:</p>

<quote who="Gary Lerhaupt">

<p>I wanted to post a follow-up as I have seen only a few downloads of DKMS
since my original posting and also given that the Linux Development Group
here at Dell is very interested in feedback from the community.  The problem
of chasing kernel drops is a very real issue for Linux solution providers.
With our constant work with new hardware and large deployments involving many
customers, at times we simply cannot afford to wait for functional drivers
in the kernel.  This is especially true for the discovery and resolution
of high severity issues.  At the same time, we cannot just hand updated
source tarballs to our customers and expect that to be an appropriate
customer experience.  Further, it is just not feasible for us to continue
to produce kernel specific module RPMs for every kernel that we support for
every module that we support.</p>

<p>What is needed instead is a framework that can hold module source and can
recompile that source directly on user's systems for whichever kernel they
are running.  As well, this entire process must be non-painful.  We believe
that DKMS is this solution and we'd like to know if you agree and how it
can be improved.</p>

<p>Lastly, as I realize some might take a *don't care* approach to such
a problem given their personal Linux comfort level, I'd like to reiterate
from my previous post how such a framework could possibly yield benefits to
the entire process of Linux development.  We at Dell are very committed to
merging code into the kernel, and if a separate framework to deploy (and test)
module source existed apart from the kernel, we envision both an improvement
in the speed and quality of driver development that can later be pushed back
into the kernel.</p>

<p>So, at your convenience we invite you to give DKMS a whirl (and to try
out the sample QLogic driver included for the full experience).  Thanks.</p>

</quote>

<p>Sam Ravnborg replied:</p>

<quote who="Sam Ravnborg">

<p>I have made a brief look at the shell script.  It assume .o for modules,
which is not true for 2.5.</p>

<p>When building a module it simply executes $MAKE - which is plain wrong.
As have been discussed in several threads you cannot reliably track changes
in CFLAGS etc. without utilising the kbuild infrastructure.</p>

<p>DKMS is also highly connected to the usage of /lib/modules/...  and naming
of config files. It looks to me as it is very distribution specic.</p>

</quote>

<p>And Gary replied, <quote who="Gary Lerhaupt">I will take up your suggestion
and remove the assumptions that modules end with .o.  I should note that we
don't see 2.6 making it into production environments within the next year so my
focus has been solely on 2.4 at this point.  Though, the kbuild infrastructure
will actually mesh nicely with DKMS as it will simplify the mess of makefiles
that it has to deal with.  As for $MAKE, I believe there is some confusion
here.  $MAKE comes from sourcing in the dkms.conf file which is required for
each module in DKMS.  One of the directives in dkms.conf must be a MAKE which
is the specific make command needed to build your module.  So $MAKE should
represent the right thing to do for the module in question.</quote> He added,
<quote who="Gary Lerhaupt">DKMS is very intertwined with /lib/modules as this
is where it installs modules.  I was not aware that this was distro specific.
As for the kernel config files, you are correct.  By default it does assume
Red Hat's distro specific scheme, but when building your module, you can
pass a --config option and specify the alternate path for your .config if
it does not follow this scheme.  I hope this clears this up.</quote></p>

</section>

<section
  title="ACPI Updated For 2.4 And 2.5"
  subject="ACPI patches updated (20030228)"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0302.3/1392.html"
  posts="1"
  startdate="28 Feb 2003 12:53:33 -0800"
>
<topic>Power Management: ACPI</topic>

<p>Andrew Grover announced:</p>

<quote who="Andrew Grover">

<p>The ACPI patches against 2.4 and 2.5 have been updated and are now available
from <a href="http://sf.net/projects/acpi">http://sf.net/projects/acpi</a>. The
non-Linux-specific releases should be available from <a
href="http://developer.intel.com/technology/iapc/acpi/downloads.htm">http://developer.intel.com/technology/iapc/acpi/downloads.htm</a>
hopefully by tonight but possibly as late as Monday evening.</p>

<p>This includes a LOT of fixes for longstanding bugs. If you have had issues
in the past with long delays or oopses on reads from the battery interface,
hangs on boot, or excessive ACPI interrupts causing system slowness, please
try this patch.</p>

</quote>

</section>

<section
  title="USB Updates"
  subject="[BK PATCH] USB changes for 2.5.63"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0302.3/1430.html"
  posts="1"
  startdate="28 Feb 2003 14:50:56 -0800"
>
<topic>USB</topic>
<topic>Version Control</topic>

<mention>Duncan Sands</mention>
<mention>David Brownell</mention>

<p>Greg KH announced:</p>

<quote who="Greg KH">

<p>Here are some more USB changes.  There are a lot of speedtouch driver
updates from Duncan Sands, and a bunch of usb-serial changes by me, as I go
though and try to audit all of them for locking issues.  There's also some
ohci and ehci controller driver updates, and a bunch of other minor changes.
David Brownell also created a new usb document for all of the related USB
documentation (pulling it out of the kernel-api document).</p>

<p>Oh, and I fixed the bug that caused the unload of the usbcore module to
hang, which a number of people have reported in the past.</p>

<p>Please pull from:  bk://linuxusb.bkbits.net/linus-2.5</p>

</quote>

</section>

<section
  title="perfctr 2.4.6 Code Profiler Released"
  subject="perfctr-2.4.6 released"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0303.0/0041.html"
  posts="3"
  startdate="01 Mar 2003 06:07:48 -0800"
  enddate="03 Mar 2003 15:33:45 -0800"
>
<topic>POSIX</topic>
<topic>Profiling</topic>

<mention>Albert Cahalan</mention>

<p>Mikael Pettersson announced perfctr-2.4.6 at <a
href="http://www.csd.uu.se/~mikpe/linux/perfctr/">http://www.csd.uu.se/~mikpe/linux/perfctr/</a>,
saying, <quote who="Mikael Pettersson">This is a minor maintenance release
of the stable perfctr-2.4 branch, to fix compilation problems in the
recent 2.4.21-pre5 and 2.5.63 kernels. It will NOT work in 2.4.21-pre1 to
-pre4.</quote> Albert Cahalan asked what exactly perfctr was, and Mikael
explained it was a code profiler. He said:</p>

<quote who="Mikael Pettersson">

<p>It virtualises the performance counters, so it's per-process just like
the integer and f.p. state. Actually there are three components: a low-level
x86-specific driver, a driver for per-process performance counters, and
a driver for global non-virtualised performance counters. The latter is
rather rudimentary.</p>

<p>The low-level driver caches control data and uses an accumulating-
differences approach for event counting, which keeps context switching
costs down in common cases. (Writing to the performance counter and control
registers is expensive, so the driver avoids that as far as possible.)</p>

<p>The package also has a user-space access library. The driver allows
a process to mmap() its counter state, and the library uses this to
implement a low-overhead syscall-free algorithm for sampling the counters
in user-space. The overhead for sampling a single counter is around 50-250
clock cycles, depending on CPU generation: approximately 45 cycles for P5
MMX, 115 cycles for P6, 50-60 cycles for K7, and 230 cycles for P4. Sampling
all counters a process is using is less expensive than sampling them one
by one.</p>

<p>Other people have higher-level libraries on top of this, for things like
posix threads, user-friendly abstractions, and portable interfaces.</p>

</quote>

</section>

<section
  title="Status Of Major And Minor Device Number Allocation"
  subject="[PATCH] remove DEVFS_FL_AUTO_DEVNUM"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0303.0/0082.html"
  posts="5"
  startdate="01 Mar 2003 10:07:24 -0800"
  enddate="02 Mar 2003 14:41:57 -0800"
>
<topic>FS: devfs</topic>

<mention>Neil Brown</mention>

<p>Christoph Hellwig posted a patch and explained:</p>

<quote who="Christoph Hellwig">

<p>Remove the DEVFS_FL_AUTO_DEVNUM flag that makes devfs_register() allocate
a dev_t for it's caller.</p>

<p>Rationale:  while dynamic major/minors are a good idea, devfs is the wrong
layer to do it because all code relying on it would break with out devfs.</p>

</quote>

<p>H. Peter Anvin said that dynamic major and minor device numbers was not
necessarily a good idea at all. But Neil Brown reminded him that Linus had
declared no new device numbers would be accepted, so dynamic numbers simply
had to be accomodated. H. Peter replied, <quote who="H. Peter Anvin">It's
also a totally nonrealistic premise, which is why new allocations are still
happening at the request of Alan and Marcelo.</quote></p>

</section>

<section
  title="mdadm 1.1.0: Soft RAID Manager"
  subject="ANNOUNCE: mdadm 1.1.0 - A tool for managing Soft RAID under Linux"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0303.0/0312.html"
  posts="4"
  startdate="02 Mar 2003 15:23:05 -0800"
  enddate="02 Mar 2003 16:23:24 -0800"
>
<topic>Disk Arrays: RAID</topic>

<p>Neil Brown announced:</p>

<quote who="Neil Brown">

<p>I am pleased to announce the availability of<br />
   mdadm version 1.1.0<br />
It is available at<br />
   <a href="http://www.cse.unsw.edu.au/~neilb/source/mdadm/">http://www.cse.unsw.edu.au/~neilb/source/mdadm/</a><br />
and<br />
   <a href="http://www.us.kernel.org/pub/linux/utils/raid/mdadm/">http://www.{countrycode}.kernel.org/pub/linux/utils/raid/mdadm/</a></p>

<p>as a source tar-ball and (at the first site) as an SRPM, and as an RPM for i386.</p>

<p>mdadm is a tool for creating, managing and monitoring
device arrays using the "md" driver in Linux, also
known as Software RAID arrays.</p>

<p>Release 1.1.0 contains a number of spell corrections, and bug fixes.<br />
It has improved support for MULTIPATH arrays.<br />
It has some new features including:<br />
  --daemonise           for use with --monitor<br />
  --config=partitions   to find devices by examining /proc/partitions<br />
  --update=super-minor  to change the recorded minor-number for an array</p>

<p>Much of the improvements are due to user feed-back.  Thanks are due to all who
gave suggestions and reported problems.</p>

<p>I expect the next major release to be 2.0.0 which will include support for
a new super-block format soon to be supported by 2.5 series kernels.</p>

<p>Development of mdadm is sponsored by CSE@UNSW:<br />
  The School of Computer Science and Engineering<br />
at<br />
  The University of New South Wales</p>

</quote>

</section>

<section
  title="Linux 2.2.24-rc5 Released"
  subject="Linux 2.2.24-rc5"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0303.0/0475.html"
  posts="1"
  startdate="03 Mar 2003 07:59:57 -0800"
>
<topic>Networking</topic>

<mention>Ion Badulescu</mention>
<mention>Neale Banks</mention>
<mention>James Morris</mention>
<mention>Paul Gortmaker</mention>
<mention>Paul Fulghum</mention>

<p>Alan Cox announced:</p>

<quote who="Alan Cox">

<p>Ok this should be it</p>

<p>Linux 2.2.24-rc5</p>

<pre>o       Fix n_hdlc globals pollution                    (Paul Fulghum)
o       Fix initialisation of sk->sleep                 (Holger Smolinksi)
o       Handle init_ethdev returning null in tulip      (Neale Banks)
o       Backport rtc wildcard fix to 2.2                (Paul Gortmaker)
o       Correct wireless config help                    (Neale Banks)
o       Fix smc9194 build                               (me)</pre>

<p>Linux 2.2.24-rc4</p>

<pre>o       Fix ethernet as modules problems                (me)
o       Fix 8139too and rtl8139 padding                 (me)</pre>

<p>Linux 2.2.24-rc3</p>

<pre>o       Backport the ethernet padding fixes             (me)
        | All done except 8139too, rtl8139]</pre>

<p>Linux 2.2.24-rc2</p>

<pre>o       Apply AMD fix correctly                         (Bruce Robson)
o       Fix possible memory scribble in starfire        (Ion Badulescu)</pre>

<p>Linux 2.2.24-rc1</p>

<pre>o       Fix a typo in the maintainers                   (James Morris)   
o       Dave Niemi has moved                            (Dave Niemi)
o       Fix incorrect blocking on nonblock pipe         (Pete Benie)
o       Fix misidentification of some AMD processors    (Bruce Robson)
o       Fix a very obscure skb_realloc_headroom bug     (James Morris)
o       Fix warning in lance driver                     (Thomas Cort)
o       Fix sign handling bug in pms driver             (Silvio Cesare)
o       Drop mmap on /proc/&lt;pid&gt;/mem as 2.4/2.5 did     (Michal Zalewski)
        (also fixes some bugs)</pre>

</quote>

</section>

</kc>

