<?xml version="1.0" ?>

<kc>

<title>Kernel Traffic</title>

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

<issue num="211" date="30 Mar 2003 00:00:00 -0800" />

<stats posts="2758" size="14502" contrib="593" multiples="316" lastweek="217">

<person posts="240" size="1219" who="Alan Cox" />
<person posts="115" size="593" who="Greg KH" />
<person posts="73" size="330" who="&quot;Martin J. Bligh&quot;" />
<person posts="53" size="224" who="Andrew Morton" />
<person posts="50" size="553" who="Osamu Tomita" />
<person posts="46" size="139" who="Christoph Hellwig" />
<person posts="42" size="143" who="James Simmons" />
<person posts="37" size="109" who="Dave Jones" />
<person posts="35" size="120" who="Larry McVoy" />
<person posts="35" size="110" who="Jeff Garzik" />
<person posts="34" size="306" who="&quot;Richard B. Johnson&quot;" />
<person posts="33" size="288" who="Roman Zippel" />
<person posts="33" size="213" who="Russell King" />
<person posts="32" size="294" who="Hugh Dickins" />
<person posts="31" size="201" who="William Lee Irwin III" />
<person posts="31" size="82" who="&quot;David S. Miller&quot;" />
<person posts="30" size="119" who="&quot;Randy.Dunlap&quot;" />
<person posts="30" size="90" who="(davej)" />
<person posts="29" size="117" who="Adrian Bunk" />
<person posts="27" size="93" who="&quot;H. Peter Anvin&quot;" />
<person posts="26" size="143" who="Dominik Brodowski" />
<person posts="26" size="78" who="Szakacsits Szabolcs" />
<person posts="19" size="82" who="Linus Torvalds" />
<person posts="19" size="55" who="Jens Axboe" />
<person posts="18" size="67" who="Joel Becker" />
<person posts="18" size="56" who="Robert Love" />
<person posts="17" size="202" who="Jan Dittmer" />
<person posts="16" size="75" who="Arjan van de Ven" />
<person posts="15" size="135" who="Christoph Hellwig" />
<person posts="15" size="121" who="Pavel Machek" />
<person posts="15" size="83" who="Alan Cox" />
<person posts="15" size="51" who="=?iso-8859-1?Q?J=F6rn?= Engel" />
<person posts="14" size="96" who="Rusty Russell" />
<person posts="14" size="51" who="(Andries.Brouwer)" />
<person posts="14" size="48" who="Stephan von Krawczynski" />
<person posts="13" size="122" who="Pavel Machek" />
<person posts="12" size="88" who="Duncan Sands" />
<person posts="12" size="61" who="Bill Davidsen" />
<person posts="12" size="53" who="Zwane Mwaikambo" />
<person posts="12" size="45" who="Andrea Arcangeli" />
<person posts="12" size="38" who="Chris Wright" />
<person posts="11" size="146" who="Alexander Hoogerhuis" />
<person posts="11" size="100" who="Adam Belay" />
<person posts="11" size="77" who="Paul Mackerras" />
<person posts="11" size="49" who="Ed Vance" />
<person posts="11" size="35" who="Ingo Molnar" />
<person posts="10" size="53" who="Jos Hulzink" />
<person posts="10" size="38" who="Manfred Spraul" />
<person posts="10" size="37" who="John Bradford" />
<person posts="10" size="33" who="Geert Uytterhoeven" />
<person posts="10" size="31" who="Dawson Engler" />
<person posts="10" size="26" who="Trond Myklebust" />
<person posts="10" size="26" who="Oleg Drokin" />
<person posts="9" size="195" who="Martin Schwidefsky" />
<person posts="9" size="193" who="Matthias Andree" />
<person posts="9" size="73" who=" (Miles Bader)" />
<person posts="9" size="54" who="Chris Friesen" />
<person posts="9" size="41" who="george anzinger" />
<person posts="9" size="30" who="Ben Collins" />
<person posts="9" size="29" who="Horst von Brand" />
<person posts="9" size="27" who="Benjamin Herrenschmidt" />
<person posts="8" size="112" who="Stephen Rothwell" />
<person posts="8" size="76" who="Brian Gerst" />
<person posts="8" size="64" who="Shmulik Hen" />
<person posts="8" size="61" who="Terry Barnaby" />
<person posts="8" size="28" who="Keith Owens" />
<person posts="8" size="28" who="&quot;Petr Vandrovec&quot;" />
<person posts="8" size="24" who="Stephen Tweedie" />
<person posts="8" size="22" who="&quot;Justin T. Gibbs&quot;" />
<person posts="7" size="103" who="Junfeng Yang" />
<person posts="7" size="79" who="CaT" />
<person posts="7" size="52" who="Antonino Daplas" />
<person posts="7" size="46" who="Mike Galbraith" />
<person posts="7" size="37" who="Andre Hedrick" />
<person posts="7" size="30" who="Jan-Benedict Glaw" />
<person posts="7" size="26" who="&quot;Steven P. Cole&quot;" />
<person posts="7" size="25" who="Petr Vandrovec" />
<person posts="7" size="23" who="&quot;Felipe Alfaro Solana&quot;" />
<person posts="7" size="18" who="Tomas Szepe" />
<person posts="6" size="106" who="Wichert Akkerman" />
<person posts="6" size="47" who="bert hubert" />
<person posts="6" size="37" who="Eric Wong" />
<person posts="6" size="34" who="&quot;Peter T. Breuer&quot;" />
<person posts="6" size="29" who="Stelian Pop" />
<person posts="6" size="28" who="Martin Schlemmer" />
<person posts="6" size="28" who="Lincoln Dale" />
<person posts="6" size="28" who="Matthew Harrell" />
<person posts="6" size="28" who="&quot;Stephen C. Tweedie&quot;" />
<person posts="6" size="27" who="Nick Piggin" />
<person posts="6" size="27" who="&quot;Adam J. Richter&quot;" />
<person posts="6" size="21" who="Michael Frank" />
<person posts="6" size="20" who="John Levon" />
<person posts="6" size="20" who="Steven Cole" />
<person posts="6" size="19" who="Nicolas Pitre" />
<person posts="6" size="19" who="Gerd Knorr" />
<person posts="6" size="18" who="Helge Hafting" />
<person posts="6" size="17" who="Zwane Mwaikambo" />
<person posts="6" size="17" who="Sam Ravnborg" />
<person posts="6" size="16" who="&quot;Martin Schwidefsky&quot;" />
<person posts="6" size="16" who="Arnd Bergmann" />
<person posts="6" size="15" who="Jamie Lokier" />
<person posts="6" size="15" who="Andi Kleen" />
<person posts="6" size="15" who="Matti Aarnio" />
<person posts="6" size="15" who="Louis Garcia" />
<person posts="6" size="14" who="Tim Schmielau" />
<person posts="5" size="93" who="jjs" />
<person posts="5" size="68" who="Michael Dreher" />
<person posts="5" size="66" who="David van Hoose" />
<person posts="5" size="45" who="&quot;Robert White&quot;" />
<person posts="5" size="37" who="Thomas Schlichter" />
<person posts="5" size="23" who="James Bourne" />
<person posts="5" size="22" who="David Lang" />
<person posts="5" size="20" who="Daniel Jacobowitz" />
<person posts="5" size="20" who="Fionn Behrens" />
<person posts="5" size="18" who="Philippe =?ISO-8859-15?Q?Gramoull=E9?=" />
<person posts="5" size="17" who="Martin Josefsson" />
<person posts="5" size="17" who="Soeren Sonnenburg" />
<person posts="5" size="17" who="&quot;Henning P. Schmiedehausen&quot;" />
<person posts="5" size="17" who="Walt H" />
<person posts="5" size="17" who=" (Norbert Wolff)" />
<person posts="5" size="16" who="James Bourne" />
<person posts="5" size="15" who="Scott Robert Ladd" />
<person posts="5" size="15" who="&quot;Eric Sandall&quot;" />
<person posts="5" size="15" who="David Brownell" />
<person posts="5" size="15" who="Florian Weimer" />
<person posts="5" size="14" who="Felipe Alfaro Solana" />
<person posts="5" size="14" who="Andi Kleen" />
<person posts="5" size="13" who="Martin Mares" />
<person posts="5" size="13" who="&quot;shesha bhushan&quot;" />
<person posts="5" size="11" who="Aaron Lehmann" />
<person posts="4" size="199" who="Matthew Grant" />
<person posts="4" size="53" who="Chris Sykes" />
<person posts="4" size="34" who="&quot;Robert P. J. Day&quot;" />
<person posts="4" size="34" who="Thomas Molina" />
<person posts="4" size="34" who="john stultz" />
<person posts="4" size="29" who="&quot;Sowmya Adiga&quot;" />
<person posts="4" size="22" who="James Wright" />
<person posts="4" size="21" who="&quot;Randy.Dunlap&quot;" />
<person posts="4" size="21" who="Anton Blanchard" />
<person posts="4" size="19" who="(ravikumar.chakaravarthy)" />
<person posts="4" size="19" who="chas williams" />
<person posts="4" size="18" who="Henrique Gobbi" />
<person posts="4" size="16" who="Jan Kasprzak" />
<person posts="4" size="16" who="Anton Altaparmakov" />
<person posts="4" size="16" who="&quot;Perez-Gonzalez, Inaky&quot;" />
<person posts="4" size="15" who="John M Collins" />
<person posts="4" size="15" who="&quot;J.A. Magallon&quot;" />
<person posts="4" size="15" who="Richard Curnow" />
<person posts="4" size="15" who="Bartlomiej Zolnierkiewicz" />
<person posts="4" size="14" who="Matt Mackall" />
<person posts="4" size="14" who="Andreas Dilger" />
<person posts="4" size="13" who="Patrick McHardy" />
<person posts="4" size="13" who="Max Krasnyansky" />
<person posts="4" size="13" who="Alexander Atanasov" />
<person posts="4" size="12" who="Ivan Kokshaysky" />
<person posts="4" size="12" who="Maciej Soltysiak" />
<person posts="4" size="12" who="Miles Bader" />
<person posts="4" size="12" who="Davide Libenzi" />
<person posts="4" size="12" who="(rwhron)" />
<person posts="4" size="12" who="&quot;Robert L. Harris&quot;" />
<person posts="4" size="12" who="Joshua Kwan" />
<person posts="4" size="11" who="David Woodhouse" />
<person posts="4" size="11" who="Andrzej Krzysztofowicz" />
<person posts="4" size="10" who="Patrick Mochel" />
<person posts="4" size="10" who="Matthew Wilcox" />
<person posts="4" size="10" who="dan carpenter" />
<person posts="4" size="9" who="Mauro Chiarugi" />
<person posts="3" size="132" who="Craig Dooley" />
<person posts="3" size="57" who="Henrique Gobbi" />
<person posts="3" size="55" who="Chris Cheney" />
<person posts="3" size="23" who="Chris Fowler" />
<person posts="3" size="19" who="&quot;leon j. breedt&quot;" />
<person posts="3" size="19" who="Stacy Woods" />
<person posts="3" size="16" who="&quot;Cress, Andrew R&quot;" />
<person posts="3" size="15" who="Toplica Tanaskovic" />
<person posts="3" size="14" who="&quot;Vitezslav Samel&quot;" />
<person posts="3" size="14" who="&quot;Nakajima, Jun&quot;" />
<person posts="3" size="13" who="Wolfram Schlich" />
<person posts="3" size="13" who="YOSHIFUJI Hideaki / =?iso-2022-jp?B?GyRCNUhGIzFRTEAbKEI=?=" />
<person posts="3" size="13" who="&quot;M.H.VanLeeuwen&quot;" />
<person posts="3" size="12" who="Con Kolivas" />
<person posts="3" size="12" who="Daniel Ritz" />
<person posts="3" size="11" who="Jurriaan" />
<person posts="3" size="11" who="Marco Roeland" />
<person posts="3" size="11" who="Brian Gerst" />
<person posts="3" size="11" who="Tim Josling" />
<person posts="3" size="11" who="Andries Brouwer" />
<person posts="3" size="11" who="Mauro Chiarugi" />
<person posts="3" size="11" who="&quot;Jeff V. Merkey&quot;" />
<person posts="3" size="11" who="Juan Quintela" />
<person posts="3" size="11" who="Deepak Saxena" />
<person posts="3" size="10" who="Christian Neumair" />
<person posts="3" size="10" who="Andy Pfiffer" />
<person posts="3" size="10" who="Damjan Bole" />
<person posts="3" size="10" who=" (Linus Torvalds)" />
<person posts="3" size="10" who="&quot;Filipau, Ihar&quot;" />
<person posts="3" size="10" who="Eli Carter" />
<person posts="3" size="10" who="Krzysztof Halasa" />
<person posts="3" size="10" who="Daniel Egger" />
<person posts="3" size="10" who="Mel Gorman" />
<person posts="3" size="10" who="&quot;Murray J. Root&quot;" />
<person posts="3" size="9" who="David Mansfield" />
<person posts="3" size="9" who="Torrey Hoffman" />
<person posts="3" size="9" who="Lars Marowsky-Bree" />
<person posts="3" size="9" who="&quot;Kevin P. Fleming&quot;" />
<person posts="3" size="9" who="Prasad" />
<person posts="3" size="9" who="Bernd Petrovitsch" />
<person posts="3" size="9" who="Denis Vlasenko" />
<person posts="3" size="9" who="Gerhard Mack" />
<person posts="3" size="9" who="Bernd Schubert" />
<person posts="3" size="8" who="Josh McKinney" />
<person posts="3" size="8" who="Spang Oliver" />
<person posts="3" size="8" who="Nicholas Wourms" />
<person posts="3" size="8" who="Pete Zaitcev" />
<person posts="3" size="8" who="&quot;Senthil Kumar&quot;" />
<person posts="3" size="8" who="Arne Koewing" />
<person posts="3" size="7" who="Chris Wedgwood" />
<person posts="3" size="7" who="Andrew Walrond" />
<person posts="3" size="7" who="Roger Luethi" />
<person posts="3" size="6" who="Alex Damian" />
<person posts="2" size="53" who="(shmulik.hen)" />
<person posts="2" size="52" who="Yaroslav Popovitch" />
<person posts="2" size="43" who="Torben Mathiasen" />
<person posts="2" size="39" who=" (Joe Rayhawk)" />
<person posts="2" size="34" who="&quot;Carl Gherardi&quot;" />
<person posts="2" size="17" who="Kevin Curtis" />
<person posts="2" size="16" who="Marcelo Tosatti" />
<person posts="2" size="15" who="John Kim" />
<person posts="2" size="14" who="Andrey Panin" />
<person posts="2" size="13" who="Michael Vergoz" />
<person posts="2" size="12" who=" (Margit Schubert-While)" />
<person posts="2" size="12" who="Jan Kara" />
<person posts="2" size="11" who="&quot;Grover, Andrew&quot;" />
<person posts="2" size="11" who="Brad Campbell" />
<person posts="2" size="11" who="Nicholas Wourms" />
<person posts="2" size="11" who="Jochen Hein" />
<person posts="2" size="11" who="Jean Tourrilhes" />
<person posts="2" size="10" who="&quot;Robert Williamson&quot;" />
<person posts="2" size="10" who="&quot;Cigol C&quot;" />
<person posts="2" size="9" who="Hank Leininger" />
<person posts="2" size="9" who="&quot;George Glover&quot;" />
<person posts="2" size="9" who="Petr Baudis" />
<person posts="2" size="9" who="&quot;Steve Lee&quot;" />
<person posts="2" size="8" who="Wolfram Schlich" />
<person posts="2" size="8" who="Vladimir Serov" />
<person posts="2" size="8" who="&quot;Dean McEwan&quot;" />
<person posts="2" size="8" who="Ulrich Drepper" />
<person posts="2" size="8" who="(latten)" />
<person posts="2" size="8" who="Warren Togami" />
<person posts="2" size="8" who="Neil Brown" />
<person posts="2" size="7" who="Eric Buddington" />
<person posts="2" size="7" who="Ezra Nugroho" />
<person posts="2" size="7" who="Bongani Hlope" />
<person posts="2" size="7" who="&quot;Udo A. Steinberg&quot;" />
<person posts="2" size="7" who=" (Florin Iucha)" />
<person posts="2" size="7" who="Badari Pulavarty" />
<person posts="2" size="7" who="Raja R Harinath" />
<person posts="2" size="7" who="Edgardo Hames" />
<person posts="2" size="6" who="Willy Tarreau" />
<person posts="2" size="6" who="&quot;Anthony R. Mattke&quot;" />
<person posts="2" size="6" who="Rene Rebe" />
<person posts="2" size="6" who="Craig Thomas" />
<person posts="2" size="6" who="iain d broadfoot" />
<person posts="2" size="6" who="Gregoire Favre" />
<person posts="2" size="6" who="Wayne Whitney" />
<person posts="2" size="6" who="Vojtech Pavlik" />
<person posts="2" size="6" who="maximilian attems" />
<person posts="2" size="6" who="Marc-Christian Petersen" />
<person posts="2" size="6" who="Geoffrey Lee" />
<person posts="2" size="6" who="Daniel Phillips" />
<person posts="2" size="6" who="Bob Miller" />
<person posts="2" size="6" who="Rob van Nieuwkerk" />
<person posts="2" size="6" who="Jonathan Lundell" />
<person posts="2" size="6" who="Christian Jaeger" />
<person posts="2" size="6" who="Stephane" />
<person posts="2" size="6" who="Ralf Hildebrandt" />
<person posts="2" size="6" who="Sven Schuster" />
<person posts="2" size="6" who="Matthias Schniedermeyer" />
<person posts="2" size="6" who="Roy Sigurd Karlsbakk" />
<person posts="2" size="5" who="Brad Hards" />
<person posts="2" size="5" who="Jay Vosburgh" />
<person posts="2" size="5" who="Duncan Sands" />
<person posts="2" size="5" who="Werner Almesberger" />
<person posts="2" size="5" who="(wind)" />
<person posts="2" size="5" who="Oliver Neukum" />
<person posts="2" size="5" who="&quot;BODA Karoly jr.&quot;" />
<person posts="2" size="5" who="&quot;Trever L. Adams&quot;" />
<person posts="2" size="5" who="Dominik Kubla" />
<person posts="2" size="5" who="John Jasen" />
<person posts="2" size="5" who="Sean Neakums" />
<person posts="2" size="5" who="Steven Pritchard" />
<person posts="2" size="5" who="DervishD" />
<person posts="2" size="5" who=" (Sebastian D.B. Krause)" />
<person posts="2" size="5" who="Henrik Persson" />
<person posts="2" size="5" who="Kai Germaschewski" />
<person posts="2" size="5" who="Jeremy Fitzhardinge" />
<person posts="2" size="5" who="Patrick Mau" />
<person posts="2" size="5" who="Dana Lacoste" />
<person posts="2" size="5" who="&quot;Stuart MacDonald&quot;" />
<person posts="2" size="5" who="&quot;Christoph Baumann&quot;" />
<person posts="2" size="5" who="Anders Gustafsson" />
<person posts="2" size="5" who="Richard Henderson" />
<person posts="2" size="5" who="Xavier Bestel" />
<person posts="2" size="5" who="Arador" />
<person posts="2" size="5" who="Ricardo Galli" />
<person posts="2" size="5" who="Ville Herva" />
<person posts="2" size="5" who="Erik Hensema" />
<person posts="2" size="4" who="Thomas Heinz" />
<person posts="2" size="4" who="&quot;Barry K. Nathan&quot;" />
<person posts="2" size="4" who="(steve)" />
<person posts="2" size="4" who="Ronald Bultje" />
<person posts="2" size="4" who="Oliver Neukum" />
<person posts="2" size="4" who="Jan Knutar" />
<person posts="2" size="4" who="Michael Knigge" />
<person posts="2" size="4" who="Max Valdez" />
<person posts="2" size="4" who="(meyers_j)" />
<person posts="1" size="62" who="&quot;george cewe&quot;" />
<person posts="1" size="50" who="Tugrul Galatali" />
<person posts="1" size="46" who="hugang" />
<person posts="1" size="43" who="Matt C" />
<person posts="1" size="37" who="&quot;Subramanian, M (MED)&quot;" />
<person posts="1" size="32" who="&quot;Juan F. Camino&quot;" />
<person posts="1" size="26" who="Florian Laws" />
<person posts="1" size="25" who="Alex Tomas" />
<person posts="1" size="25" who="&quot;Paolo Ciarrocchi&quot;" />
<person posts="1" size="19" who="Steve Terrell" />
<person posts="1" size="16" who="Martin Hicks" />
<person posts="1" size="13" who=" (Heinz J . Mauelshagen)" />
<person posts="1" size="12" who="Ed Tomlinson" />
<person posts="1" size="12" who="Jody Pearson" />
<person posts="1" size="12" who="(kernelin)" />
<person posts="1" size="10" who="Eugen Kaparulin" />
<person posts="1" size="10" who="Jan Kara" />
<person posts="1" size="9" who="Mark Fasheh" />
<person posts="1" size="9" who="(mix)" />
<person posts="1" size="9" who="&quot;Zhenghui Zhou&quot;" />
<person posts="1" size="8" who="Kelvin Edwards" />
<person posts="1" size="8" who="Sebastian Ohl" />
<person posts="1" size="8" who="Brian Dixon" />
<person posts="1" size="8" who="Adam Voigt" />
<person posts="1" size="8" who="Keith Mannthey" />
<person posts="1" size="6" who="Maneesh Soni" />
<person posts="1" size="6" who="(jordan.breeding)" />
<person posts="1" size="6" who="Nalin Gupta" />
<person posts="1" size="6" who="=?iso-8859-2?Q?Martin_MOKREJ=A9?=" />
<person posts="1" size="6" who="Martin Zwickel" />
<person posts="1" size="5" who="Stephan Maciej" />
<person posts="1" size="5" who="Mikael Starvik" />
<person posts="1" size="5" who="Corey Minyard" />
<person posts="1" size="5" who="Alon" />
<person posts="1" size="5" who="PATRIC MANBO" />
<person posts="1" size="5" who="raj" />
<person posts="1" size="5" who="&quot;Chris Newland&quot;" />
<person posts="1" size="5" who=" &lt;info@capacitachile.com&gt;" />
<person posts="1" size="5" who="=?ISO-8859-2?Q?Pawe=B3_Go=B3aszewski?=" />
<person posts="1" size="5" who="jw schultz" />
<person posts="1" size="5" who="Christopher Faylor" />
<person posts="1" size="5" who="Kay Diederichs" />
<person posts="1" size="5" who="Joerg Schilling" />
<person posts="1" size="4" who="Andrew Ferguson" />
<person posts="1" size="4" who="Mitch Adair" />
<person posts="1" size="4" who="Axel Siebenwirth" />
<person posts="1" size="4" who="Hanna Linder" />
<person posts="1" size="4" who="Jan Harkes" />
<person posts="1" size="4" who="Stephen Frost" />
<person posts="1" size="4" who="&quot;Fred Kamba&quot;" />
<person posts="1" size="4" who=" (Dr. Greg Wettstein)" />
<person posts="1" size="4" who="Michal Grzedzicki" />
<person posts="1" size="4" who="Allan Duncan" />
<person posts="1" size="4" who="Robert Murray" />
<person posts="1" size="4" who="(kasper_k_jensen)" />
<person posts="1" size="4" who="Jan Hudec" />
<person posts="1" size="4" who="&quot;Eng Se-Hsieng&quot;" />
<person posts="1" size="4" who="&quot;Lists (lst)&quot;" />
<person posts="1" size="4" who="&quot;Nalin gupta&quot;" />
<person posts="1" size="4" who="Justin Piszcz" />
<person posts="1" size="4" who="Dave Hansen" />
<person posts="1" size="4" who="Jauder Ho" />
<person posts="1" size="4" who="Martin Hermanowski" />
<person posts="1" size="4" who="Marc Giger" />
<person posts="1" size="4" who="Finn Arne Gangstad" />
<person posts="1" size="4" who="Andre Hedrick" />
<person posts="1" size="4" who="&quot;Sergey S. Kostyliov&quot;" />
<person posts="1" size="4" who="Kai Makisara" />
<person posts="1" size="3" who="(impresoras)" />
<person posts="1" size="3" who="&quot;Tolentino, Matthew E&quot;" />
<person posts="1" size="3" who="John M Flinchbaugh" />
<person posts="1" size="3" who="&quot;Selbak, Rolla N&quot;" />
<person posts="1" size="3" who="Jakub Jelinek" />
<person posts="1" size="3" who="&quot;=?iso-8859-1?Q?afise?=&quot;" />
<person posts="1" size="3" who="Alessandro Suardi" />
<person posts="1" size="3" who="Eric Weigle" />
<person posts="1" size="3" who="Jeremy Jackson" />
<person posts="1" size="3" who="Jason McMullan" />
<person posts="1" size="3" who="&quot;Pallipadi, Venkatesh&quot;" />
<person posts="1" size="3" who="Jonathan Lundell" />
<person posts="1" size="3" who="Jeremy Brown" />
<person posts="1" size="3" who="Jaroslav Kysela" />
<person posts="1" size="3" who="Olaf Dietsche" />
<person posts="1" size="3" who=" (Michael Mauch)" />
<person posts="1" size="3" who="Francis Galiegue" />
<person posts="1" size="3" who=" &lt;eventos@asexmanet.com&gt;" />
<person posts="1" size="3" who="Marc Zyngier" />
<person posts="1" size="3" who="Kurt Garloff" />
<person posts="1" size="3" who="Hank Leininger" />
<person posts="1" size="3" who="Greg Ungerer" />
<person posts="1" size="3" who="Theodore Ts'o" />
<person posts="1" size="3" who="Adam Radford" />
<person posts="1" size="3" who="Dan Eble" />
<person posts="1" size="3" who="Andreas Metzler" />
<person posts="1" size="3" who="Shawn" />
<person posts="1" size="3" who="Martin Loschwitz" />
<person posts="1" size="3" who="Samuel Flory" />
<person posts="1" size="3" who="(mlafon)" />
<person posts="1" size="3" who="Martin Hicks" />
<person posts="1" size="3" who="Srihari Vijayaraghavan" />
<person posts="1" size="3" who="Christian Axelsson" />
<person posts="1" size="3" who="Herbert Rosmanith" />
<person posts="1" size="3" who="Francois-Rene Rideau" />
<person posts="1" size="3" who="Dipankar Sarma" />
<person posts="1" size="3" who="William Chow" />
<person posts="1" size="3" who="Niels den Otter" />
<person posts="1" size="3" who="Paul Larson" />
<person posts="1" size="3" who="John Alvord" />
<person posts="1" size="3" who="Patricia Gaughen" />
<person posts="1" size="3" who="Chuck Winters" />
<person posts="1" size="3" who="Kronos" />
<person posts="1" size="3" who="Bas Vermeulen" />
<person posts="1" size="3" who="&quot;Roberto Clarke&quot;" />
<person posts="1" size="3" who="Corey Minyard" />
<person posts="1" size="3" who=" &lt;vlad@geekizoid.com&gt;" />
<person posts="1" size="3" who="(nick)" />
<person posts="1" size="3" who="Maarten Ghijsen" />
<person posts="1" size="3" who="Bruno Cornec" />
<person posts="1" size="3" who="Ryan Anderson" />
<person posts="1" size="3" who="Tigran Aivazian" />
<person posts="1" size="3" who="Ingo Oeser" />
<person posts="1" size="3" who="&quot;Philippe Meloche (LMC)&quot;" />
<person posts="1" size="3" who="Matthew Dharm" />
<person posts="1" size="3" who="Alexander Kellett" />
<person posts="1" size="3" who="Pedro Soria Rodriguez" />
<person posts="1" size="3" who="Brandon Low" />
<person posts="1" size="3" who="&quot;B. Douglas Hilton&quot;" />
<person posts="1" size="3" who="&quot;Subodh S&quot;" />
<person posts="1" size="3" who="Brian Tinsley" />
<person posts="1" size="3" who="Alex Goddard" />
<person posts="1" size="3" who="&quot;Florian Schirmer&quot;" />
<person posts="1" size="3" who="&quot;Matt D. Robinson&quot;" />
<person posts="1" size="3" who="Ryan Finnie" />
<person posts="1" size="3" who="Josh Fryman" />
<person posts="1" size="3" who="David Ford" />
<person posts="1" size="3" who="David Schwartz" />
<person posts="1" size="3" who="Daniel McNeil" />
<person posts="1" size="2" who="Martin Waitz" />
<person posts="1" size="2" who="Adam Kelly" />
<person posts="1" size="2" who="GOTO Masanori" />
<person posts="1" size="2" who="Oliver Feiler" />
<person posts="1" size="2" who="News Admin" />
<person posts="1" size="2" who="(aradorlinux)" />
<person posts="1" size="2" who="&quot;dose&quot;" />
<person posts="1" size="2" who=" (David Wagner)" />
<person posts="1" size="2" who="(imre)" />
<person posts="1" size="2" who="&quot;Mr. James W. Laferriere&quot;" />
<person posts="1" size="2" who="=?iso-8859-1?q?Steve=20Kieu?=" />
<person posts="1" size="2" who="&quot;James H. Cloos Jr.&quot;" />
<person posts="1" size="2" who="Chris Evans" />
<person posts="1" size="2" who="Michael Madore" />
<person posts="1" size="2" who="Frans Pop" />
<person posts="1" size="2" who="John Cherry" />
<person posts="1" size="2" who="Thomas Duffy" />
<person posts="1" size="2" who="David Monniaux" />
<person posts="1" size="2" who="Michael Abshoff" />
<person posts="1" size="2" who=" (Rob Radez)" />
<person posts="1" size="2" who="Daniel Pittman" />
<person posts="1" size="2" who="Jes Sorensen" />
<person posts="1" size="2" who="&quot;Stephen J. Gowdy&quot;" />
<person posts="1" size="2" who="Joshua Stewart" />
<person posts="1" size="2" who="Rick Warner" />
<person posts="1" size="2" who="&quot;Doug Ramier&quot;" />
<person posts="1" size="2" who="(shsp0058)" />
<person posts="1" size="2" who="Arnaldo Carvalho de Melo" />
<person posts="1" size="2" who="Tom" />
<person posts="1" size="2" who="Tom Vier" />
<person posts="1" size="2" who="Jesse Pollard" />
<person posts="1" size="2" who="Andy Fleming" />
<person posts="1" size="2" who="(jlnance)" />
<person posts="1" size="2" who="Mike Anderson" />
<person posts="1" size="2" who="Wayne Scott" />
<person posts="1" size="2" who="&quot;Sean Gillespie&quot;" />
<person posts="1" size="2" who="Erik Hensema" />
<person posts="1" size="2" who=" (Dagfinn Ilmari =?iso-8859-1?q?Manns=E5ker?=)" />
<person posts="1" size="2" who="Adam Luter" />
<person posts="1" size="2" who="Yedidyah Bar-David" />
<person posts="1" size="2" who="(nomadduck)" />
<person posts="1" size="2" who="Samuel Thibault" />
<person posts="1" size="2" who="Dave Kleikamp" />
<person posts="1" size="2" who="&quot;LA Walsh&quot;" />
<person posts="1" size="2" who="Pavel Roskin" />
<person posts="1" size="2" who="=?iso-8859-1?q?thomas=20joseph?=" />
<person posts="1" size="2" who="&quot;Paul Rolland&quot;" />
<person posts="1" size="2" who="Jon Grimm" />
<person posts="1" size="2" who="Christian Guggenberger" />
<person posts="1" size="2" who="&quot;T. Weyergraf&quot;" />
<person posts="1" size="2" who="Florin Malita" />
<person posts="1" size="2" who="Ben Pfaff" />
<person posts="1" size="2" who=" (Andreas Fey)" />
<person posts="1" size="2" who="Jon Portnoy" />
<person posts="1" size="2" who="MaxiM Basunov" />
<person posts="1" size="2" who="Neale Banks" />
<person posts="1" size="2" who="Adrian Knoth" />
<person posts="1" size="2" who="Andreas Steinmetz" />
<person posts="1" size="2" who="Nigel Cunningham" />
<person posts="1" size="2" who="Luis Miguel Garcia" />
<person posts="1" size="2" who="=?ISO-8859-1?Q?Ren=E9?= Scharfe" />
<person posts="1" size="2" who="Arnd Bergmann" />
<person posts="1" size="2" who="(brian)" />
<person posts="1" size="2" who="Manu Anand" />
<person posts="1" size="2" who="&quot;Allen J. Newton&quot;" />
<person posts="1" size="2" who="Kallol Biswas" />
<person posts="1" size="2" who="dave young" />
<person posts="1" size="2" who="(bunk)" />
<person posts="1" size="2" who="Stian Jordet" />
<person posts="1" size="2" who="Meelis Roos" />
<person posts="1" size="2" who="Roland Dreier" />
<person posts="1" size="2" who="Stephen Hemminger" />
<person posts="1" size="2" who="&quot;Jordi Ros&quot;" />
<person posts="1" size="2" who="walt" />
<person posts="1" size="2" who="Mark Hahn" />
<person posts="1" size="2" who="Joe Thornber" />
<person posts="1" size="2" who="J Sloan" />
<person posts="1" size="2" who="Mike Houston" />
<person posts="1" size="2" who="Ricardo" />
<person posts="1" size="2" who="Gabriele Alberti" />
<person posts="1" size="2" who="&quot;M. Edward Borasky&quot;" />
<person posts="1" size="2" who="Thierry Vignaud" />
<person posts="1" size="2" who="Moritz Muehlenhoff" />
<person posts="1" size="2" who="Paolo Ornati" />
<person posts="1" size="2" who="Paul Mackerras" />
<person posts="1" size="2" who="&quot;John David Anglin&quot;" />
<person posts="1" size="2" who="DevilKin" />
<person posts="1" size="2" who="Dumitru Ciobarcianu" />
<person posts="1" size="2" who="Denis Perchine" />
<person posts="1" size="2" who="Seth Chandler" />
<person posts="1" size="2" who="mdew" />
<person posts="1" size="2" who="Zach Brown" />
<person posts="1" size="2" who="Nick Craig-Wood" />
<person posts="1" size="2" who="&quot;Breno&quot;" />
<person posts="1" size="2" who="kris burford" />
<person posts="1" size="2" who="Akhilesh" />
<person posts="1" size="2" who="Petr Cisar" />
<person posts="1" size="2" who="Johannes Erdfelt" />
<person posts="1" size="2" who=" (Danny ter Haar)" />
<person posts="1" size="2" who="&quot;jds&quot;" />
<person posts="1" size="2" who="Sven Koch" />
<person posts="1" size="2" who="Jack" />
<person posts="1" size="2" who="Mark J Roberts" />
<person posts="1" size="2" who="Kirk Reiser" />
<person posts="1" size="2" who="Shansi Ren" />
<person posts="1" size="2" who="Alan Cox" />
<person posts="1" size="2" who="(mikpe)" />
<person posts="1" size="2" who="&quot;panchi&quot;" />
<person posts="1" size="2" who="Jonathan Filiatrault" />
<person posts="1" size="2" who="Tomi Hakala" />
<person posts="1" size="2" who="(nalin)" />
<person posts="1" size="2" who="Jason Lunz" />
<person posts="1" size="2" who="Antonio Vargas" />
<person posts="1" size="2" who="root" />
<person posts="1" size="2" who="Robinson Maureira Castillo" />
<person posts="1" size="2" who="&quot;Jon Burgess&quot;" />
<person posts="1" size="2" who="Ramkumar Chinchani" />
<person posts="1" size="2" who="Doug McNaught" />
<person posts="1" size="2" who="Pascal Schmidt" />
<person posts="1" size="2" who="&quot;p b&quot;" />
<person posts="1" size="2" who="shaheed" />
<person posts="1" size="2" who="Shane Shrybman" />
<person posts="1" size="2" who="Olaf Titz" />
<person posts="1" size="2" who="Torsten Foertsch" />
<person posts="1" size="2" who="&quot;Friend&quot;" />
<person posts="1" size="2" who="Charles Baylis" />
<person posts="1" size="2" who="&quot;Andrus&quot;" />
<person posts="1" size="2" who="&quot;Dow, Benjamin&quot;" />
<person posts="1" size="2" who="Joachim Franek" />
<person posts="1" size="1" who="Mike Dresser" />
<person posts="1" size="1" who="Rolf Eike Beer" />
<person posts="1" size="1" who="(sed)" />
<person posts="1" size="1" who="(nklxsynthobserver)" />
<person posts="1" size="1" who="&quot;donpaplo&quot;" />
<person posts="1" size="1" who=" (Andreas Jellinghaus)" />
<person posts="1" size="1" who="&quot;Stanislav B.&quot;" />
<person posts="1" size="1" who="&quot;Richard B. Johnson&quot;" />
<person posts="1" size="1" who="Maxim Giryaev" />
<person posts="1" size="1" who="(maxvalde)" />

</stats>

<section
  title="BK-&gt;CVS Real-Time Mirror"
  subject="[ANNOUNCE] BK-&gt;CVS (real time mirror)"
  posts="110"
  startdate="11 Mar 2003 19:43:30 -0800"
  enddate="21 Mar 2003 16:51:51 -0800"
>
<topic>Assembly</topic>
<topic>Real-Time</topic>
<topic>Samba</topic>
<topic>Version Control</topic>

<mention>Pavel Machek</mention>

<p>Larry McVoy announced:</p>

<quote who="Larry McVoy">

<p>We've been working on a gateway between BitKeeper and CVS to provide
the revision history in a form which makes the !BK people happy (or
happier).</p>

<p>We have the first pass of this completed and have a linux 2.5 tree on
kernel.bkbits.net and you can check out the tree as follows (please don't
do this unless you are a programmer and will be using this.  Penguin
Computing provided the hardware and the bandwidth for that machine and
if you all melt down the network they could get annoyed.  By all means
go for it if you actually write code, though, that's why it is there.)</p>

<pre>    mkdir ws
    cd ws
    cvs -d:pserver:anonymous@kernel.bkbits.net:/home/cvs co linux-2.5</pre>

<p>Each of the releases are tagged, they are of the form v2_5_64 etc.</p>

<p>Linus had said in the past that someone other than us should do this but
as it turns out, to do a reasonable job you need BK source.  So we did it.
What do we mean by a reasonable job?  BitKeeper has an automatic branch
feature which captures all parallel development.  It's cool but a bit
pedantic and it makes exporting to a different system almost impossible
if you try and match what BK does exactly.  So we didn't.  What we
(actually Wayne Scott) did was to write a graph traversal alg which
finds the longest path through the revision history which includes
all tags.  For the 2.5 tree, that is currently 8298 distinct points.
Each of those points has been captured in CVS as a commit.  If we did
our job correctly, each of these commits has the same timestamp across
all files.  So you should be able to get any changeset out of the CVS
tree with the appropriate CVS command based on dates.</p>

<p>We also created a ChangeSet file in the CVS tree.  It has no contents, it
serves as a place to capture the BK changeset comments.  Each file which
is part of a changeset has an extra comment which is of the form</p>

<pre>        (Logical change 1.%d)</pre>

<p>where the "1.%d" matches the changeset rev.  So you can look for all files
that have (Logical change 1.300) in their comments to reconstruct the
changeset.  NOTE!  That information is actually redundant, the timestamps
are supposed to do the same thing, let us know if that is not working, we'll
redo it.  I expect we'll find bugs, please be patient, it takes 4 hours of
CPU time on a 2.1Ghz Athlon to do the conversion, that's a big part of
why this has taken so long.  That's after a week's worth of optimizations.</p>

<p>Each ChangeSet delta has a BK rev associated with it in the comments.
We'll be giving you a small shell script which you can use to send Linus
patches that include the rev and we'll modify BK so that it can take
those patches with no patch rejects if you used that script.</p>

<p>We have a first pass of a real time gateway between BK and this CVS tree
done.  Right now it is done by hand (by me) but as soon as it is debugged
you will see this tree being updated about 1-3 minutes after Linus pushes
to bkbits.</p>

<p>Once you guys look this over and decide you like it, we'll do the same
thing for the 2.4 tree.</p>

<p>We're also talking to an unnamed (in case it doesn't work out) Linux
company who may host bkbits.net for us.  If they do that, we'll turn
the GNU patch exporter feature in BKD.  That means that you'll be able
to wget any changeset as a GNU patch, complete with checkin comments.
I'm working with Alan on the format, I think we're close though I have
to run the latest version past him.</p>

<p>If all of this sounds nice, it is.  It was a lot of work for us to do
this and you might be wondering why we bothered.  Well, for a couple of
reasons.  First of all, it was only recently that I realized that because
BK is not free software some people won't run BK to get data out of BK.
It may be dense on my part, but I simply did not anticipate that people
would be that extreme, it never occurred to me.  We did a ton of work to
make sure anyone could get their data out of BK but you do have to run
BK to get the data.  I never thought of people not being willing to run
BK to get at the data.  Second, we have maintained SCCS compatible file
formats so that there would be another way to get the data out of BK.
This has held us back in terms of functionality and performance.  I had
thought there was some value in the SCCS format but recent discussions
on this list have convinced me that without the changeset information
the file format doesn't have much value.</p>

<p>Our goal is to provide the data in a way that you can get at it without
being dependent on us or BK in any way.  As soon as we have this
debugged, I'd like to move the CVS repositories to kernel.org (if I can
get HPA to agree) and then you'll have the revision history and can live
without the fear of the "don't piss Larry off license".  Quite frankly,
we don't like the current situation any better than many of you, so if
this addresses your concerns that will take some pressure off of us.</p>

<p>Another goal is to have the freedom to evolve our file formats to be
better, better performance and more features.  SCCS is holding us back.
So you should look hard at what we are providing and figure out if it
is enough.  If you come back with "well, it's not BitKeeper so it's
not enough" we'll just ignore that.  CVS isn't BitKeeper.  On the
other hand, we believe we have gone as far as is possible to provide
all of the information, checkin comments, data, timestamps, user names,
everything.  The graph traversal alg captures information at an extremely
fine granularity, absolutely as fine is possible.  We have 8298 distinct
points over the 2.5.0 .. 2.5.64 set of changes, so it is 130 times finer
than the official releases.  If you think something is missing, tell us,
we'll try and fix it.</p>

<p>The payoff for you is that you have the data in a format that is not
locked into some tool which could be taken away.  The payoff for us is
that we can evolve our tool as we see fit.  We have that right today,
we can do whatever we want, but it would be anywhere from annoying
to unethical to do so if that meant that you couldn't get at the data
except through BitKeeper.  So the "deal" here is that you get the data
in CVS (and/or patches + comments) and we get to hack the heck out of
the file format.  Our changes are going to move far faster than CSSC or
anyone else could keep up without a lot of effort.  On the other hand,
our changes are going to make cold cache performance be much closer to
hot cache performance, use a lot less disk space, a lot less memory,
and a lot less CPU.</p>

</quote>

<p>Brandon Low extolled:</p>

<quote who="Brandon Low">

<p>before Linus started using BK, close to 50% of the revision data that
is now saved was completely lost in the process of him merging patches by
hand into his repository.  I mean be realistic, do you think that Linus
kept perfect track of EVERY single ' ' ';' ')' that he changed when merging
a patch with minor rejects with his repo?  Do you think that every single
time that he made a 1 line change or merged a 1 line change that was sent to
this list it was documented and recorded?  I doubt it.  So now we are able
to get a publicly available CVS repository with close to two times the data
that was ever available before, and infinitely more than was ever available
to anyone outside of Linus' own head.</p>

<p>I personally think that Larry has done an amazing job supporting this
project and it's goals, and I will give him a big "Thanks for all your support
and hard work" at this time.  I think that those of you complaining about
this as bitmover clearing the road to steal our data should take a long hard
look at what you are really saying and consider what BK has given us that
we never had before because nothing before was ever usable by Linus.</p>

</quote>

<p>Pavel Machek noted that the number of ChangeSets in the BitKeeper repository
was at that time 17000, about twice what was made available in the CVS version.
Wayne Scott explained:</p>

<quote who="Wayne Scott">

<p>The ChangeSet file has many csets and we only capture around 1/2 of them in
CVS ChangeSet file.  The extra ChangeSets are grouped together with the merge
cset where they were added to the path we are recording.  That is correct,
but it is not the whole story.</p>

<p>What happens is that most csets modifiy a non overlapping set of files.
So while we didn't get every delta to the ChangeSet file, we did capture
&gt;90% of the actual changes to the source files in the tree.</p>

</quote>

<p>Elsewhere, Ben Collins took exception to the fact that BitMover wanted to
change the file format. He said:</p>

<quote who="Ben Collins">

<p>You are giving us approximately 90% of our data in exchange for the one
thing that made using bitkeeper not a total sellout; the fact that the revision
history of the repo was still accessible without proprietary software.</p>

<p>I honestly appreciate the work that you and BitMover do for the kernel,
but not giving us access to 100% of _our_ data is unacceptable to me.
Quite honestly, I think your move is to restrict the possible alternatives
to the BK client (the CSSC based ones like I and others had done), which
were able to extract 100% of the data, even if they couldn't make use of it
in the same way as bitkeeper. Atleast it was there.</p>

<p>You've made quite a marketing move. It's obvious to me, maybe not to
others. By providing this CVS gateway, you make it almost pointless to work
on an alternative client. Also by providing it, you make it easier to get
away with locking the revision history into a proprietary format.</p>

</quote>

<p>Later he clarified, <quote who="Ben Collins">I am not against the CVS-&gt;BK
gateway. I'm all for it. But it's kind of sour given that he now wants to
change the disk format of the repo to make it harder to get the data from it.
If all he announced was "you now have a CVS-&gt;BK repo", I wouldn't be
complaining, I'd be patting him on the back.</quote> Andreas Dilger replied,
<quote who="Andreas Dilger">He didn't say "now I'm going to make the repo
harder to get data from it".  What he said was "now I'm free to change
the format from SCCS to something that is more efficient for BK to use".
Who knows, maybe the new format will be _easier_ to reverse engineer/parse
using 3rd party tools?  Also, it's not like he can change things overnight,
because there are lots of customers/users who have repos in the old SCCS
format, and he doesn't want to completely throw away his current code just to
piss off some whiny l-k users.  At worst, if it bothers you so much, you can
take up the now seemingly forgotten Linux trait of "taking things into your
own hands and fixing it to your own needs" and write bk_evil_format_2_CVS
conversion tool instead of bitching on l-k about it.</quote> Martin J. Bligh
also replied to Ben:</p>

<quote who="Martin J. Bligh">

<p>As long as we continue to get all the data in an open format, I'm not sure
this really matters, personally. If there's some data loss, let's focus on
that issue ... but it seems there isn't at the moment.  </p>

<p>I'd rather we *didn't* go trying to clone BK and make it file-format
compatible underneath ... that seems more incendiary than useful.  Cloning
other products is always a loosing game, the best you can do is catch
them. Personally, I'd prefer we spent the effort making a usable simple SCM
that 95% of us can use that does merges and stuff, and not bother trying to
follow someone else in file format.</p>

<p>Of course, I'm in no position to dictate to others what they should
implement, do what you like ... just my personal opinion. But there's always
the possiblity we can make something that fits kernel development *better*,
rather than playing catchup to BK all the time ;-)</p>

</quote>

<p>Larry replied:</p>

<quote who="Larry McVoy">

<p>My personal opinion is that BK maps only so so well onto the kernel
development effort.  It's not horrible, it's closer than any other SCM, but it
could be better.  The kernel guys tend to be "more loose" than commercial guys,
i.e., stuff is tried, it sits in Alan's tree for a while or DaveJ's tree and
then is rejected if it is found to be bad.  You really need a sort of "lossy"
SCM system, one which is willing to throw data away.  BK is absolutely not
about losing information, we view everything as valuable, even bad ideas.
That matches the commercial world better than the Linux world.</p>

<p>I _think_ that Arch is closer.  You will definitely give up some stuff
if you move to Arch but you will also gain some stuff.  Arch is willing
to pick and choose, we aren't, we're sort of an all or nothing answer.
Pavel is all hot and bothered about PRCS but PRCS is sort of BK without the
distribution, gui tools, and scripting.  It's a step backwards as far as
I can tell (don't get me wrong, we've acknowledged the coolness of PRCS
on our website for years and I tried to team up with Josh, I'm a fan).
You should really look at Arch, it may be a better fit.  And these days,
if you could find a better fit, none of us at BitMover would shed a tear if
you moved off BK.  This has *not* been a pleasant experience for us.</p>

</quote>

<p>Andrea Arcangeli also said to Ben:</p>

<quote who="Andrea Arcangeli">

<p>You shouldn't care less of the disk format. You *can't* run bk in the first
place to reach those files, it's by pure luck that somebody is been fine to
give away his right to write free software (oh and proprietary software too
but we don't care :) in the SCM arena and to provide this info to you via
rsync or whatever proxy or open protocol that tytso mentioned is doable.</p>

<p>Before you can remotely care about the disk format you've to reverse
engeneer the network protocol first, having more proprietary stuff there won't
make differences for us. And of course it makes perfect sense for Larry to
hide the stuff better, but even if he encrypts it, the secret key has to be
in the bk binary, I mean, it's all in open source assembly anyways, if you
figured out the network protcol, you shouldn't have an order of magnitude
more of troubles to figure out the new file format too. NOTE: I don't want
to discuss the legal details of reading the open source assembly, this was
only an example ;).</p>

<p>really, what we care is the data, and what I discussed in the last weeks
with Larry about the kernel CVS at first sigh seems enough for kernel
developers, what matters is the _mainline_ evolution.  All other trees
matters much less (and NOTE: all important non mainline trees don't use
bitkeeper anyways). If getting the changesets with dates will be too hard I
assume Larry could help on it. Some script should do it pretty well thanks
to the logical tag in the log. I know it's not the most useful format for
export but this is reliable, documented and open and it makes it trivial
to checkout and search the file logs. which makes it very usable immediatly
w/o the need of new software which is good for us kernel developers in the
short term. This is a good short/mid term solution.</p>

<p>IMHO cloning bitkeeper would be an option if Larry would be supporting it,
but that is obviously not the case.</p>

<p>There is no point to complain about the change of format of files in the
Larry has all the rights to change the file format even after you reverse
engeneered it the first second third fourth time, so all your effort will
break in seconds.  You can spend the rest of your life to keep up with Larry
and he'll always be ahead of you. We have to do this with the SMB protocol
because there's no open ""exporter"", but here Larry provided the data, and
the data belongs to the community in the first place so there's no need to
slowdown innovation here trying to catch up with closed proprietary protocols.
And note: if you don't like that linux is developed with bk you should
speak with Linus not with Larry.  That is Linus's choice, Larry couldn't
make that change.</p>

<p>If you complain about the file format change, it means you realized right
now you did a mistake in depending on bk in the first place.</p>

<p>I think we reached a point of balance here that will solve all the
collisions. The CVS is a "stability" point. The lack of data-availability
with CVS or similar open protocol would force us to reverse engeneer bk
to access the data, and the availability of CVS immediatly make us wasting
time reverse engeneering bk.  Cloning bitkeeper is a waste of time if the
CVS just exports the data correctly.</p>

<p>Please focus on this: the only thing we miss is the visibility of the
jfs tree and similar other bits that aren't even guaranteed to be merged in
mainline. But that doesn't worry me at all, in one year from now if the jfs
tree didn't merge correctly it won't matter what was in such dead tree.</p>

<p>If you want to contribute, stop these threads, and start importing CVS
into a more powerful SCM and let us know an URL where we can access the
data from there. I will only answer to a working URL, either that or live
with CVS. The SCM can be evolved over tiem. If this new underground domain
will be better than bitkeeper than jfs and Linus as well could join us in
the future.  In the meantime CVS will do fine and it guarantees the openess
of the linux info. As you probably know I don't have much time in helping
with SCM developement by I can t try give my $.02 (or at the very least I
want to be still allowed to give my $.02!  ;).</p>

<p>I won't answer further emails about this issue to avoid hurting the l-k
traffic too much (the last bk threads even made me overlook the BK-&gt;CVS
announcement after a one day and half of email backlog go figure ;).</p>

<p>And of course many thanks to Larry for the BK-&gt;CVS effort! While I
think it was due, it certainly takes some relevant effort to do it.</p>

</quote>

<p>Jens Axboe was also bothered by the move to modify the file format. In
response to Ben's initial complaint, he agreed completely, and said he might
have to stop using BitKeeper, if the situation continued as it was going.
Andreas pointed out that this was a pretty gloomy attitude, considering
BitMover had just provided an almost complete CVS gateway. He said, <quote
who="Andreas Dilger">Some people will just never be happy no matter what
you give them.</quote> And Jens replied:</p>

<quote who="Jens Axboe">

<p>I've been very happy with BK, been using it shortly after Linus started
doing so. Mostly out of curiosity at first, later because it was actually
quite useful. I even see myself as a fairly pragmatic individual, but even
so I do find it increasingly difficult to defend my BK usage.</p>

<p>So please stop thinking you can judge that easily by pushing me into your
nice little 'some people will never be happy bla bla' category.</p>

</quote>

<p>Andreas apologized for lumping Jens in with the other anti-BK folks; and said
he wished the BitKeepere flame wars would stop.</p>

<p>Close by, H. Peter Anvin said:</p>

<quote who="H. Peter Anvin">

<p>From what I can gather, the question is very simple:</p>

<p>"Can we get our data out of BK into some kind of open format?"</p>

<p>It's an important question.  If the answer is "yes, but only the stuff 
that can be mapped onto CVS" then that's a significant data loss, and
if BitMover changes the data format without documentation, then there 
is no longer a way to get all the data out.</p>

<p>Presumably the CVS exporter could get augmented with some kind of
metadata export... perhaps an XML schema that describes how the
various points are to be linked or whatnot... it won't turn CVS into
BK overnight (so Larry can still sleep at night), but it would give
BitMover the freedom to change their data format.</p>

</quote>

<p>Dana Lacoste replied, <quote who="Dana Lacoste">if CVS loses all that data,
is that BK's fault?  BK's so powerful because it has more information than
anyone else, but it's not their fault (and it's not proprietary data) that
no-one else can deal with the data when it's exported, now is it????</quote>
H. Peter replied, <quote who="H. Peter Anvin">You're missing the point
completely.  Of course it's not BK's fault that CVS can't represent the data.
However, one of the (valid!) selling points of BK was "we won't hold your data
hostage."  That requires that you can export both the data and the metadata
into some kind of open format.  Since CVS clearly can't be that open format
(CVS being insufficiently powerful), the additional metadata needs to be
available in some kind of auxilliary form.  It's then, of course, not BK's
fault that CVS can't possibly make use of that auxilliary metadata.</quote></p>

<p>John Bradford pointed out, <quote who="John Bradford">I thought that BK has
been able to export everything to a text file since the first version.</quote>
And Larry said:</p>

<quote who="Larry McVoy">

<pre>bk export -tpatch -r1.900 &gt; patch.1.900
bk changes -v -r1.900 &gt; comments.1.900</pre>

<p>Been there forever.  So has ways to get all the metadata from the command
line without having to reverse engineer the file format.  See</p>

<p>    <a href="http://www.bitkeeper.com/manpages/bk-prs-1.html">http://www.bitkeeper.com/manpages/bk-prs-1.html</a></p>

<p>it's all there.  Always has been.</p>

<p>Wayne wanted me to point that it is easy to write the BK to CVS exporter
completely from the command line, we prototyped it that way, the only
reason we rewrote part of it in C was for performance.  The point being
that you guys could have done this yourself without help from us because
all the metadata is right there.  Ditto for anyone else worried about
getting their data out of BK now or in the future.  The whole point of
prs is to be able to have a will-always-work way to get at the data or
the metadata, it makes the file format a non-issue.</p>

</quote>

<p>H. Peter was very happy to hear this, and asked if the output from that
could be made available automatically, along with the CVS tree. And Theodore
Y. Ts'o said:</p>

<quote who="Theodore Y. Ts'o">

<p>More importantly, even if someone isn't allowed to use the BK command
line tool because once upon time, a long time ago, they submitted a patch
to arch or subversion, they can still find someone is allowed to set up a
bk daemon under the terms of the FUL, connect to the BK daemon using a http
client, and extract the full diff of any changeset that way.  This doesn't
have to be the bkd on bkbits.net; anyone who is authorized to use BK under
the terms of the FUL can set up a bk daemon to be listening on a port of any
machine for which they have shell access (it doesn't even require root privs).
And every last changeset can always be made available using this path.</p>

<p>So to the people are complaining that they won't be able to get out their
data if a future version of BK uses a more powerful representation than SCCS
files ---- would you like some more whine with your cheese?</p>

</quote>

</section>

<section
  title="Linux 2.5.64-mm8 Released"
  subject="2.5.64-mm8"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0303.2/0026.html"
  posts="20"
  startdate="16 Mar 2003 02:42:39 -0800"
  enddate="20 Mar 2003 00:44:39 -0800"
>

<mention>Mike Galbraith</mention>

<p>Andrew Morton announced:</p>

<quote who="Andrew Morton">

<p><a
href="ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.5/2.5.64/2.5.64-mm8/">ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.5/2.5.64/2.5.64-mm8/</a></p>

<p>

<ul>

<li>

<p>Several fixes to the anticipatory scheduler.  It is the default IO
scheduler again.</p>

<p>The main thing which was fixed here was an interesting deadlock involving
keventd, the I/O scheduler, vfork and request_module().</p>

</li>

<li>I should have mentioned that 2.5.64-mm7 included a CPU scheduler tweak
from Mike Galbraith which apparently fixes up the various starvation problems
which people have been experiencing.  That is also in 2.5.64-mm8.</li>

</ul>

</p>

</quote>

</section>

<section
  title="Fix For Ancient Scheduler Bug"
  subject="[patch] sched-2.5.64-bk10-C4"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0303.2/0029.html"
  posts="5"
  startdate="16 Mar 2003 03:24:58 -0800"
  enddate="20 Mar 2003 21:30:19 -0800"
>
<topic>Big O Notation</topic>
<topic>Scheduler</topic>

<mention>Andrew Morton</mention>
<mention>Mike Galbraith</mention>

<p>Ingo Molnar said:</p>

<quote who="Ingo Molnar">

<p>the attached patch fixes a fundamental (and long-standing) bug in the
sleep-average estimator which is the root cause of the "contest process_load"
problems reported by Mike Galbraith and Andrew Morton, and which problem is
addressed by Mike's patch.   </p>

<p>the bug is the following: the sleep_time code in activate_task()
over-estimates the true sleep time by 0.5 jiffies on average (0.5 msecs on
recent 2.5 kernels). Furthermore, for highly context-switch intensive and
CPU-intensive workloads it means a constant 1 jiffy over-estimation. This
turns the balance of giving and removing ticks and nils the effect of the
CPU busy-tick, catapulting the task(s) to highly interactive status - while
in reality they are constantly burning CPU time.</p>

<p>the fix is to round down sleep_time, not to round it up. This slightly
under-estimates the sleep time, but this is not a real problem, any task with
a sleep time in the 1 jiffy range will see timekeeping granularity artifacts
from various parts of the kernel anyway. We could use rdtsc to estimate the
sleep time, but i think that's unnecessary overhead.</p>

<p>the fixups in Mike's scheduler patch (which is in -mm8) basically
work around this bug. The patch below definitely fixes the contest-load
starvation bug, but it remains to be seen what other effects it has on
interactivity. In any case, this bug in the estimator is real and if there's
any other interactivity problem around then we need to deal with it ontop
of this patch.</p>

<p>this bug has been in the O(1) scheduler from day 1 on basically, so i'm
quite hopeful that a number of interactivity complaints are fixed by this
patch.</p>

</quote>

</section>

<section
  title="Local User Security Exploit Against 2.2 And 2.4 Kernels"
  subject="Ptrace hole / Linux 2.2.25"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0303.2/0226.html"
  posts="106"
  startdate="17 Mar 2003 08:04:35 -0800"
  enddate="27 Mar 2003 06:47:28 -0800"
>
<topic>Disks: IDE</topic>
<topic>FS: ext3</topic>
<topic>User-Mode Linux</topic>

<mention>Arjan van de Ven</mention>
<mention>Ben LaHaise</mention>
<mention>Jeff Dike</mention>

<p>Alan Cox reported:</p>

<quote who="Alan Cox">

<p>The Linux 2.2 and Linux 2.4 kernels have a flaw in ptrace. This hole
allows local users to obtain full privileges. Remote exploitation of this
hole is not possible. Linux 2.5 is not believed to be vulnerable.</p>

<p>Linux 2.2.25 has been released to correct Linux 2.2. It contains no other
changes. The bug fixes that would have been in 2.2.5pre1 will now appear in
2.2.26pre1. The patch will apply directly to most older 2.2 releases.</p>

<p>A patch for Linux 2.4.20/Linux 2.4.21pre is attached. The patch also
subtly changes the PR_SET_DUMPABLE prctl. We believe this is neccessary and
that it will not affect any software. The functionality change is specific
to unusual debugging situations.</p>

<p>We would like to thank Andrzej Szombierski who found the problem, and
wrote an initial patch. Seth Arnold cleaned up the 2.2 change. Arjan van de
Ven and Ben LaHaise identified additional problems with the original fix.</p>

</quote>

<p>A number of folks reported breakage with Alan's patch. Mathieu Lafon
reported, <quote who="Mathieu Lafon">The patch breaks /proc/&lt;pid&gt;/cmdline
and /proc/&lt;pid&gt;/environ for 'non dumpable' processes, even for root.
We need to access theses proc files for processes monitoring.  Included is
a patch to restore this functionnality for root.</quote></p>

<p>Ben Pfaff also noticed a problem, and said to Alan, <quote who="Ben
Pfaff">I am concerned about this change because it will break sandboxing
software that I have written, which uses prctl() to turn dumpability back
on so that it can open a file, setuid(), and then execve() through the
open file via /proc/self/fd/#.  Without calling prctl(), the ownership of
/proc/self/fd/* becomes root, so the process cannot exec it after it drops
privileges.  It uses prctl() in other places to get the same effect in /proc,
but that's one of the most critical.</quote> Alan replied:</p>

<quote who="Alan Cox">

<p>The dumpability is per mm, which means that you have to consider all the
cases of a thread being created in parallel to dumpability being enabled.</p>

<p>So consider a three threaded process. Thread one triggers kernel thread
creation, thread two turns dumpability back on, thread three ptraces the
new kernel thread.</p>

<p>Proving that is safe is non trivial so the current patch chooses not
to attempt it. For 2.4.21 proper someone can sit down and do the needed
verification if they wish.</p>

</quote>

<p>Matthew Grant also said, of Alan's initial post:</p>

<quote who="Matthew Grant">

<p>This patch really breaks UML using the skas mode of thread tracing skas3
patch on quite a significant amount of machines out there. The skas mode is
a lot more secure than the traditional UML tt mode. I guess this is related
to the below...</p>

<p>I am running a UML site that a lot of hospitals ad clinics in Bangldesh
depend on for there email.  It allows them to work around the corruption
and agrandidement of the ISPs over there.  The skas3 mode patch is needed
for the site to run securely.  Tracing thread mode does not cut it.</p>

<p>There are also a large number of other telehoused ISP virtual hosting
machines that use this stuff, and it is actually proving to be quite
reliable.</p>

<p>I have attached the skas3 patch that Jeff Dike is currently using, and
the patch that you have produced.  Could you please look into the clash
between them, and get it fixed.</p>

<p>Thank you - there are lots out there who will appreciate this.</p>

</quote>

<p>Shortly thereafter, Alan said, <quote who="Alan Cox">I take
patches.</quote></p>

<p>Elsewhere, Arjan van de Ven brought Alan's patch up to kernel 2.4.21pre5, and
posted it. Tomas Szepe asked:</p>

<quote who="Tomas Szepe">

<p>So what happens now?</p>

<p>Is this critical enough for 2.4.21 to go out?  Or can it wait like
some other fairly serious stuff such as the ext3 fixes?  What about
the current state of IDE?</p>

<p>Would it make sense to repackage 2.4.20 into something like 2.4.20-p1
or 2.4.20.1 with only the critical stuff applied?</p>

</quote>

<p>Alan replied, <quote who="Alan Cox">If you build your own kernels apply
the patch, if you use vendor kernels then you can expect vendor kernel
updates to appear or have already appeared. </quote> But Tomas said Alan
had avoided his questions.</p>

<p>Jeff Garzik also said to Tomas' initial query:</p>

<quote who="Jeff Garzik">

<p>There shouldn't be a huge need to rush 2.4.21 as-is, really.  If you want
an immediate update, get the fix from your vendor.</p>

<p>Plus, it's a local root hole, and there are still tons of those left out
there to squash.</p>

</quote>

</section>

<section
  title="Deprecating .gz Format On kernel.org"
  subject="Deprecating .gz format on kernel.org"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0303.2/0840.html"
  posts="71"
  startdate="19 Mar 2003 12:19:42 -0800"
  enddate="25 Mar 2003 12:26:53 -0800"
>
<topic>Compression</topic>
<topic>Modems</topic>

<mention>Kurt Garloff</mention>
<mention>Arnaldo Carvalho de Melo</mention>

<p>H. Peter Anvin said:</p>

<quote who="H. Peter Anvin">

<p>At some point it probably would make sense to start deprecating .gz
format files from kernel.org.</p>

<p>I am envisioning this as a three-phase changeover:</p>

<p>a) Get all mirrors to carry .bz2 format.  This would affect the
following sites:</p>

<p>DUTH:format=gz<br />
GARBO:format=gz<br />
HCMC:format=gz<br />
IGLU:format=gz<br />
LINUXAID:format=gz<br />
LLARIAN-NET:format=gz<br />
MINET-FR:format=gz<br />
NC-ORC:format=gz<br />
PCSS:format=gz<br />
PROGRAMVAREVERKSTEDET:format=gz<br />
PUB-FTP-UNIVERSITY-OF-OLDENBURG:format=gz<br />
RN-RNO:format=gz<br />
TASK:format=gz<br />
TELEPAC:format=gz<br />
TENGU-EASYNET-FR:format=gz<br />
UNC-METALAB:format=gz<br />
WEBLAB:format=gz</p>

<p>b) Once that is done, change the robots to no longer require .gz files;
.bz2 files uploaded would be signed but no .gz file would be generated.</p>

<p>-&gt; If we get a complete loss of data here, all .gz files would be lost.</p>

<p>c) At some point, deprecate .gz uploads entirely and remove all the old
.gz files.  After that point .gz files uploaded would be treated just
like .Z, .zip or any other "unmanaged" compression format.</p>

<p>Now, the questions that come up are:</p>

<p>i) Does this sound reasonable to everyone?  In particular, is there any
loss in losing the "original" compressed files?</p>

<p>ii) Assuming a yes on the previous question, what time frame would it
make sense for this changeover to happen over?</p>

</quote>

<p>Martin J. Bligh was thrilled with all of this, and hoped the change would
happen as soon as possible. But Tigran Aivazian pointed out to H. Peter:</p>

<quote who="Tigran Aivazian">

<p>there is at least one reason for the "original" .gz files. Here are
the logical steps:</p>

<p>a) any Linux distribution contains their own "linux" package with the
source base being "vanilla" Linux .tar.gz file</p>

<p>b) switching such to .tar.bz2 will make building the package longer
because of longer extract times</p>

<p>c) re-running tar to generate a .tar.gz from .tar.bz2 and store the
.tar.gz instead will make customers suspicious --- i.e. they will have to
ask "is this _really_ a plain Linux tree or do I need to run diff(1) to
verify, just in case?"</p>

<p>See the reasoning? However, I agree that this reason is very weak. But you
were interested in any reasons, including weak ones</p>

</quote>

<p>Jamie Lokier said:</p>

<quote who="Jamie Lokier">

<p>Personally I fetch the .bz2 tar files for a few base kernel versions,
but I fetch the .gz patch files.</p>

<p>This is so that I can "zgrep" through the patch files looking for
which version changed some feature or API.</p>

<p>bzgrep exists, but it is way too slow.</p>

<p>So if there were only .bz2 patch files, I would fetch them and convert
them back into .gz files on my local mirror.</p>

<p>Which is ok of course, but then the signatures don't match any more.</p>

<p>Well, that's my really weak reason for liking .gz patches.</p>

</quote>

<p>Eric Sandall suggested getting the signature from the tar file
instead of the compressed file, so the compression method wouldn't matter
anymore. Jamie pointed out that it would take a lot of time to uncompress
the file, just in order to check the signature. And Eric replied, <quote
who="Eric Sandall">True...for large files it'd be nice to know if you have
the correct tarball _before_ spending all that CPU time decompressing it.
It's a trade off, mostly, CPU time for more generic useage.</quote></p>

<p>Elsewhere, Arjan van de Ven remarked, <quote who="Arjan van de Ven">I
can't speak for the others, but Red Hat Linux uses the .bz2 files in
kernel rpms.</quote> Arnaldo Carvalho de Melo added that Connectiva
also did this. Kurt Garloff added SuSE to that list. Bruno Cornec added
MandrakeSoft. Eric also said, <quote who="Eric Sandall">And Source Mage
(<a href="http://www.sourcemage.org">http://www.sourcemage.org</a>).
:)</quote> Dagfinn Ilmari Mannsaker said Debian did as well. Jon Portnoy
included Gentoo.</p>

<p>There was more discussion of the main point, and at one point H. Peter
said:</p>

<quote who="H. Peter Anvin">

<p>OK, there seems to be enough resistance to this to put it off for a year
or two.  Since that means I don't have to do any work, that plan has inherent
appeal to me.</p>

<p>In other words, the current setup will remain for now.  HOWEVER, I would
like to recommend that mirror sites start carrying .bz2 files if they want
to carry only one format.</p>

</quote>

<p>Martin asked, <quote who="Martin J. Bligh">Can we at least switch the
default upload format to bz2? I would think that's a reasonably simple change
to the robot? For those of us uploading stuff over a slow modem link, the
extra efficiency would be much appreciated.</quote> But H. Peter replied,
<quote who="H. Peter Anvin">No, I don't want to muck with working scripts.
I suggest setting up a script to upload to the /staging area and convert
automatically.  I have put a script called bz2togz in /usr/local/bin to
help out.</quote></p>

</section>

<section
  title="ksymoops 2.4.9 Released"
  subject="Announce: ksymoops 2.4.9 is available"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0303.2/1007.html"
  posts="1"
  startdate="20 Mar 2003 02:30:34 -0800"
>

<mention>James W. Laferriere</mention>
<mention>Maciej W. Rozycki</mention>

<p>Keith Owens announced:</p>

<quote who="Keith Owens">

<p><a
href="ftp://ftp.us.kernel.org/pub/linux/utils/kernel/ksymoops/v2.4">ftp://ftp.&lt;country&gt;.kernel.org/pub/linux/utils/kernel/ksymoops/v2.4</a></p>

<pre>ksymoops-2.4.9.tar.gz           Source tarball, includes RPM spec file
ksymoops-2.4.9-1.src.rpm        As above, in SRPM format
ksymoops-2.4.9-1.i386.rpm       Compiled with 2.96 20000731, glibc 2.2.5
patch-ksymoops-2.4.9.gz         Patch from ksymoops 2.4.8 to 2.4.9.</pre>

<p>Changelog extract</p>

<p>

<ul>

<li>For code lines that dump before EIP and have variable length
          instructions, decode in two chunks with suitable headings.</li>

<li>Fix broken mips64 address mapping.  Maciej W. Rozycki.</li>

<li>Pass more mips registers.  Maciej W. Rozycki.</li>

<li>Add INSTALL note about broken distributions.  Reported by
          James W. Laferriere.</li>

</ul>

</p>

<p>The change to decode the Code: line in two chunks allows architectures that
have variable length instructions to safely dump the code before eip.  The code
from eip onwards is always reliable, the code before eip may not be reliable,
this is reflected in the headings before each chunk of decode output.</p>

<p>Updating ksymoops alone has no effect on the decode.  The arch specific
kernel dump routine must :-</p>

<p>(a) Add the string " VLI" to the line containing the eip/psr/pc/ip/psw
    to tell ksymoops that this dump has variable length instructions.
    For example EIP:    0060:[&lt;c014fedf&gt;] VLI    Not tainted</p>

<p>(b) Dump bytes before and after eip, on one code line.  ksymoops
    handles up to 64 bytes of Code: data.</p>

<p>(c) Enclose the eip byte in &lt;&gt; or ().</p>

<p>If you do not want to decode before eip with variable length
instructions, do not change your arch tree.  ksymoops will
continue to decode as before.</p>

<p>Architectures that already dump code before the eip do not need to be
changed.  AFAIK they all have fixed length instructions.</p>

<p>Some people have reported problems building ksymoops, with unresolved
references in libbfd (htab_create, htab_find_slot_with_hash).  Try <a
href="http://www.cs.helsinki.fi/linux/linux-kernel/2002-13/0196.html">http://www.cs.helsinki.fi/linux/linux-kernel/2002-13/0196.html</a>
first, if that does not work, contact the binutils maintainers.  This is not
a ksymoops problem, ksymoops only uses libbfd.  Any unresolved references
from libbfd are a binutils problem.</p>

</quote>

</section>

<section
  title="I2C Cleanups"
  subject="[BK PATCH] i2c driver changes for 2.5.65"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0303.2/1197.html"
  posts="19"
  startdate="20 Mar 2003 14:30:47 -0800"
  enddate="20 Mar 2003 15:52:03 -0800"
>
<topic>I2C</topic>
<topic>Version Control</topic>

<p>Greg KH posted a bunch of BitKeeper changesets, explaining:</p>

<quote who="Greg KH">

<p>Here are some more i2c driver cleanups.  These do the following items I
mentioned in my last set of patches:</p>

<p>

<ul>

<li>clean up #ifdef mess in i2c controllers</li>
<li>fix the printk() calls to use proper levels</li>
<li>add i2c controller driver core support</li>

</ul>

</p>

<p>There is also a i2c spelling patch in here, and I've added the i2c-isa
driver, which almost isn't even a driver at all, based on the size of
it.</p>

<p>Even with adding a new driver, the sum of these patches is still a
smaller number of lines than we started with, which is always nice.</p>

<p>Please pull from:  bk://kernel.bkbits.net/gregkh/linux/i2c-2.5</p>

<p>Things left to do after this:</p>

<p>

<ul>

<li>clean up i2c driver core support to work better.</li>
<li>add i2c device core support.</li>
<li>port remaining drivers from i2c cvs to kernel tree.</li>

</ul>

</p>

</quote>

</section>

<section
  title="lk-changelog.pl 0.83 Released"
  subject="lk-changelog.pl 0.83"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0303.2/1342.html"
  posts="1"
  startdate="21 Mar 2003 00:32:50 -0800"
>
<topic>Version Control</topic>

<p>Matthias Andree announced:</p>

<quote who="Matthias Andree">

<p>lk-changelog.pl aka. shortlog version 0.83 has been released.</p>

<p>This script is used by Linus and Marcelo to rearrange and reformat BK
ChangeSet logs into a more human-readable format, and the official repository
is bk://gkernel.bkbits.net/BK-kernel-tools/</p>

<p>The changes are listed at the end of the script below.</p>

<p>You can always download this script and GPG signatures from <a
href="http://mandree.home.pages.de/linux/kernel/">http://mandree.home.pages.de/linux/kernel/</a></p>

<p>My thanks go to Vitezslav Samel who has spent a lot of time on digging
out the real names for addresses sending in BK ChangeSets.</p>

</quote>

</section>

<section
  title="Minutes From The March 21 LSE Conference Call"
  subject="Minutes from March 21 LSE Call"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0303.2/1433.html"
  posts="1"
  startdate="21 Mar 2003 10:17:27 -0800"
>

<mention>Jens Axboe</mention>
<mention>Michael Cohen</mention>
<mention>Cliff White</mention>

<p>Hanna Linder posted:</p>

<quote who="Hanna Linder">

<p>LSE Tech Call Minutes March 21, 2003</p>

<p>Minutes Compiled by Hanna Linder. Please send corrections or additions to
lse-tech@lists.sourceforge.net</p>

<p>I. Matthew Fanto: The Cello Disk Scheduling Framework</p>

<p>If you have seen on the lkml the schedulers being worked on, like:
 cfq, deadline, and anticipatory io schedulers. Cello is another one.
It is a two level disk scheduler.</p>

<p>The two levels are a request is made and is put into a class specific
queue. Currently there are three different applications classes:</p>

<blockquote>

<p>         real time,<br />
         interactive best effort,<br />
         throughput intensive.<br /></p>

</blockquote>

<p>Different algorithms and insertion methods work better for each type
so it maintains different queues for each class type.</p>

<p>After assigning to queue it assigns weights. there is a 4th queue which
is class unaware and it chooses which tasks to take based on weights
and queue.</p>

<p>There are two ways to assign weights:

<pre>         proportionate time allocation.
                doesnt take into account amount of data being transfered.
         proportionate byte allocation.
                takes into account the amount of data going to transfer.</pre>

there are advantages to each method.</p>

<p>Most of the code is done. Bill Irwin saw the code last night.  No one
else has yet. Hanna encouraged him to send it out anyway.</p>

<p>Matt said he has a paper he will put on line.  Jens Axboe read the
paper a while ago and wanted to see it actually work.</p>

<p>Cliff offered to help Matt run it under the STP so they can help test
it. Sometimes STP isnt happy so make sure to cc cliff white to get help
getting it working.</p>

<p>Gerrit reiterated the importance of sending out the code.</p>

<p>Originally got the project from mjc (Michael Cohen) and found lots of
performance increases based on his implementation in the user space.
He asked Matt to work on it in the kernel.</p>

<p>Matt is going to send out a patch today to lse-tech.</p>

<p>II. Cliff White - Scheduling benchmarks</p>

<p>Has been redoing the AIM stuff. Should have an early alpha release next
week. Should work with both aim7 and aim9. He is switching some of the
static stuff to dynamic to make it easier to work with. He hopes to have
something runnable next week.</p>

<p>What it does is take a list of microbenchmarks, decides on a num of tasks
for each user, forks a certain number of children. each child runs a number
of tasks in a random order.</p>

<p>Currently looking at a problem where if 20-30 children forking seeing 3-4
seconds delta between children starting and stopping even though they are
all doing the same thing. The lifetime of the parent is about 50 seconds.
There is a lot of contention between the children so it may or may not be
a problem.  At the very least this looks like a good way to stress the
scheduler.</p>

</quote>

</section>

<section
  title="IDE Todo List"
  subject="IDE todo list"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0303.2/1759.html"
  posts="18"
  startdate="22 Mar 2003 09:01:32 -0800"
  enddate="23 Mar 2003 13:07:26 -0800"
>
<topic>Disks: IDE</topic>
<topic>Disks: SCSI</topic>
<topic>Forward Port</topic>
<topic>Hot-Plugging</topic>
<topic>PCI</topic>
<topic>Power Management: ACPI</topic>
<topic>Serial ATA</topic>

<mention>Mark Lord</mention>

<p>Alan Cox posted his IDE todo list:</p>

<quote who="Alan Cox">

<p>(Minus some stuff which is NDA'd because it involves unreleased chips
etc)</p>

<p>

<ul>

<li>Promise 20376</li>
<li>Audit Promise drivers</li>
<li>BIOS timing stuff</li>
<li>Simplex mode reassignment intelligence</li>
<li>IDE-SCSI crashes on 2.5</li>
<li>IDE-SCSI/reset race on 2.4/2.5</li>
<li>Forward port remaining drivers to 2.5</li>
<li>Add ATAPI virtual DMA</li>
<li>Add DMA active irq poll trick</li>
<li>Clock switching for Highpoint 372N</li>
<li>Support for SATA bridge on HPT</li>
<li>Intel ICH5 errata audit</li>
<li>Intel Centrino idents and errata audit          [Merged for 2.5]</li>
<li>Explain rather than just fix the CMD680 mmio collision problem</li>
<li>Finish hotplug handling</li>
<li>Revert identify hacks now ide-default is present</li>
<li>Allow multiple driver binding for ide-cd/ide-scsi etc</li>
<li>Locking for unload driver</li>
<li>Locking for modular load onto a busy interface</li>
<li>ADMA full support</li>
<li>Mark Lord/Andre ideas on LBA28/LBA48</li>
<li>Finish verifying 256 sector I/O or larger on LBA48
        [How to handle change dynamically on hotplug ?]</li>
<li>Clean up ide_unregister paths</li>
<li>Finish ide pcmcia code hot unplug interface registers</li>
<li>Finish ide pcmcia unregister path retry logic</li>
<li>IRQ detect broken for some setups</li>
<li>Check full PCI clocking info on HPT37x</li>
<li>Rewrite HPT37x controller type logic</li>
<li>Debug TRM290</li>
<li>Fix up the hwif based sectors per transfer limit</li>
<li>How to handle generic class IDE devices by class only</li>
<li>Opti support for the 558 ?</li>
<li>Can we resolve NDA's with SiS ?</li>
<li>Audit ALi driver use of config register bits on bridge</li>
<li>Document the calling properties for each driver function</li>
<li>Work out how to fix up all the TCQ crashes</li>
<li>Does taskfile I/O now work after the bug fixes ?
                [do we care 8))]</li>
<li>Multiple taskfile load support for controllers that have it
                [big performance win]</li>
<li>IDE specification issue - mishandling error abort on ATA6</li>
<li>20276 with i960 SX6000 mishandling</li>
<li>Investigate breakage in ide-floppy on 2.4</li>
<li>Merge new ACPI + relax into the -ac tree</li>
<li>Get Arjan's info on IDE violations in simulator</li>

</ul>

</p>

</quote>

<p>Jens Axboe took exception to the "Finish verifying 256 sector I/O or
larger on LBA48 [How to handle change dynamically on hotplug ?]" item, saying:</p>

<quote who="Jens Axboe">

<p>That is basically impossible. How are you going to handle the case where
you have a queue full of 256 request writes, and the plugged in disk chokes
on them? And insolvable unless you start setting aside requests simply for
this purpose. Also breaks the pseudo atomic segments that a single request
represents. This is just way beyond ugly...</p>

<p>This is a generic problem of course, and the typical answer is to go by
the rules of the lowest common denominator if hot plug can cause you queue
limits to be violated (may be other problems than simply max sector count).</p>

</quote>

<p>Alan said, <quote who="Alan Cox">I don't think its impossible at all.
Remember if you hotplug a drive you *dont* want the pending I/O to hit the
new drive!</quote> And Jens replied, <quote who="Jens Axboe">In that case
it could be done, the key point is that no resizing needs to be done. The
rest is purely driver implementation :)</quote></p>

</section>

<section
  title="LUFS Userland FS 0.9.5 Released"
  subject="[ANNOUNCE] LUFS (Linux Userland File System) 0.9.5 released"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0303.3/0135.html"
  posts="1"
  startdate="24 Mar 2003 01:46:06 -0800"
>

<p>Florin Malita announced:</p>

<quote who="Florin Malita">

<p>LUFS 0.9.5 has been released.</p>

<p>LUFS (<a href="http://lufs.sourceforge.net">http://lufs.sourceforge.net</a>)
is a hybrid userspace file system framework. It comes with a bunch of useful
file system modules: sshfs, ftpfs, gnutellafs, gvfs, locasefs, gvfs, cardfs,
cefs, etc.</p>

<p>2.4 &amp; 2.5 kernel patches available at <a
href="http://sourceforge.net/project/showfiles.php?group_id=57332">http://sourceforge.net/project/showfiles.php?group_id=57332</a></p>

</quote>

</section>

<section
  title="Repository For Version Control Systems"
  subject="ftp://ftp.kernel.org/pub/scm/"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0303.3/0209.html"
  posts="1"
  startdate="24 Mar 2003 11:35:59 -0800"
>
<topic>Version Control</topic>

<p>H. Peter Anvin announced:</p>

<quote who="H. Peter Anvin">

<p>I have set up a tree on kernel.org for SCM repositories.  Currently it
contains a mirror of the bk->cvs repository tree at:</p>

<p><a
href="ftp://ftp.kernel.org/pub/scm/linux/kernel/bkcvs/">ftp://ftp.kernel.org/pub/scm/linux/kernel/bkcvs/</a></p>

<p>The main intent for this is to make it possible to rsync the full
repository; we currently don't have CVS pserver access or anything like that
(maybe later.)</p>

<p>This tree is mirrored hourly from kernel.bkbits.net.</p>

<p>I'm hoping someone with a BK license and a kernel.org account could add
the bk exports file to this tree, as well.</p>

</quote>

</section>

<section
  title="Linux 2.5.66 Released"
  subject="Linux 2.5.66"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0303.3/0275.html"
  posts="36"
  startdate="24 Mar 2003 15:26:47 -0800"
  enddate="27 Mar 2003 08:05:23 -0800"
>

<p>Linus Torvalds announced <a
href="http://www.kernel.org/pub/linux/kernel/v2.5/ChangeLog-2.5.66">2.5.66</a>,
saying, <quote who="Linus Torvalds">A lot of changes all over. Most notably
probably the fbcon updates, it's really all over the map - mostly a lot of
very small fixes.</quote></p>

</section>

<section
  title="Open POSIX Test Suite 0.9.0"
  subject="[ANNOUNCE] Open POSIX Test Suite 0.9.0"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0303.3/0282.html"
  posts="1"
  startdate="24 Mar 2003 15:39:45 -0800"
>
<topic>POSIX</topic>

<mention>Jim Houston</mention>

<p>Rolla N. Selbak announced:</p>

<quote who="Rolla N. Selbak">

<p>Release 0.9.0 of the Open POSIX Test Suite is now available at <a
href="http://posixtest.sourceforge.net">http://posixtest.sourceforge.net</a>.
This third release contains POSIX conformance tests for the POSIX
functions:</p>

<p>Threads (90% - not including tagged or rwlock-related functions)<br />
Signals (90% complete)<br />
Message queues (100% complete)<br />
Semaphores (100% complete)<br />
Timers (100% complete - tags TMR and CS)</p>

<p>It also contains bug fixes from 0.2.0.</p>

<p>The release notes that appear on download describe how to compile and run
these tests.</p>

<p>The README page and the Open POSIX Test Suite website (above) give more
information on the project goals and progress as well as information on how
to contribute or contact us if you are interested.</p>

<p>Many thanks to Jim Houston, Jerome Marchand and other members of the
POSIX testing community for their bug fixes, patches, and suggestions on
how to improve the 0.2.0 suite.</p>

<p>The Open POSIX Test Suite is an open source test suite with the goal
of creating conformance test suites, as well as potentially functional and
stress test suites, to the functions described in the IEEE Std 1003.1-2001
System Interfaces specification.  Initial work is focusing on timers, threads,
semaphores, signals, and message queues.</p>

<p>Feel free to contact posixtest-discuss@lists.sourceforge.net if you would
like further information.</p>

</quote>

</section>

<section
  title="SysFS Migration"
  subject="add eeprom i2c driver"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0303.3/0460.html"
  posts="7"
  startdate="25 Mar 2003 06:42:14 -0800"
  enddate="26 Mar 2003 13:29:23 -0800"
>
<topic>FS: sysfs</topic>
<topic>I2C</topic>
<topic>Version Control</topic>

<p>Jan Dittmer posted a patch and said, <quote who="Jan Dittmer">This
adds support for reading eeproms.  Tested against latest bk changes with
i2c-isa.</quote> But Greg KH replied:</p>

<quote who="Greg KH">

<p>I'd like to hold off in submitting the i2c chip drivers just yet, due to
the changes for sysfs that are going to be needed for these drivers.</p>

<p>As an example of the changes necessary, here's a patch against the i2c
cvs version of the eeprom.c driver that converts it over to use sysfs,
instead of the /proc and sysctl interface.  It's still a bit rough, but
you should get the idea of where I'm wanting to go with this.  As you
can see, it takes about 100 lines of code off of this driver, which is
nice.</p>

<p>I'm copying the sensors list too, as they wanted to see how this was
going to be done.</p>

</quote>

<p>Jan replied, <quote who="Jan Dittmer">Looks good, I'll try to come up
with a converted version of via686a later. Should tidy up a lot.</quote>
At around that time, Greg also said:</p>

<quote who="Greg KH">

<p>Ok, in finding out a bit more of what the EEPROM driver is trying to
do, it looks like it qualifies for the "binary file in sysfs" exception.
It's just exporting a binary blob of data that exists in hardware through
the kernel to userspace, for userspace to do with it what it wants to.</p>

<p>I'll work on converting the driver to that interface later tonight,
unless someone beats me to it :)</p>

</quote>

</section>

<section
  title="JFS 1.1.2 Released"
  subject="[ANNOUNCE] JFS 1.1.2"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0303.3/0586.html"
  posts="1"
  startdate="25 Mar 2003 13:24:21 -0800"
>
<topic>FS: JFS</topic>

<p>Dave Kleikamp announced:</p>

<quote who="Dave Kleikamp">

<p>Release 1.1.2 of JFS was made available today.</p>

<p>Drop 65 on March 25, 2003 includes fixes to the file system and
utilities.</p>

<p>Utilities changes</p>

<p>

<ul>

<li>fix undefined reference to errno (G. D. Haraldsson)</li>
<li>allow jfs_mkfs to run on regular file</li>
<li>fix for-loop going past last element of vopen array</li>
<li>sanity checking on variable this_ag</li>
<li>s_label displayed incorrectly when 16 chars long</li>

</ul>

</p>

<p>File System changes</p>

<p>

<ul>

<li>Clean up code flushing outstanding transactions to the journal</li>
<li>Replace ugly debug macros with simpler ones</li>
<li>Add get_index_page to eliminate unneeded I/O</li>
<li>Fix hang while flushing outstanding transactions under heavy load</li>
<li>Avoid deadlock under very heavy load</li>
<li>Don't zero s_op during failed mount cleanup</li>

</ul>

</p>

<p>Note: The 2.4.21 and 2.5 kernel.org development kernels are kept up to
date with the latest JFS code.  The file system updates available on
the web site are only needed for maintaining earlier 2.4 kernels.</p>

<p>For more details about JFS, please see our website:
<a href="http://oss.software.ibm.com/jfs">http://oss.software.ibm.com/jfs</a></p>

</quote>

</section>

<section
  title="Regular Patches Becoming Second-Class Citizens"
  subject="[BK PULL] PCMCIA changes"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0303.3/0839.html"
  posts="12"
  startdate="26 Mar 2003 11:34:27 -0800"
  enddate="26 Mar 2003 15:12:49 -0800"
>
<topic>Version Control</topic>

<mention>Russell King</mention>

<p>Up until now, Linus Torvalds has maintained that developers who used
BitKeeper would not receive better treatment than developers who did not;
he would be just as likely to apply a patch that came from BitKeeper as
from traditional tools.  The following little thread points to a change in
that situation:</p>

<p>Russell King asked Linus to pull some PCMCIA patches from Russell's local
BitKeeper repository. Linus replied, <quote who="Linus Torvalds">Pulled.
Russell, since you use BK _and_ you're working on PCMCIA, can you work as the
middle man for the patches that Dominik has been sending out? They all look
sane, and the "driver services" socket add/remove abstraction in particular
looks like something that is needed. I just didn't have time to check them
out more deeply and test them.</quote> And Dominik Brodowski replied, <quote
who="Dominik Brodowski">Fine with me - the four patches are on their way
to Russell.</quote></p>

</section>

<section
  title="Linux 2.4.21-pre6 Released"
  subject="Linux 2.4.21-pre6"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0303.3/0932.html"
  posts="24"
  startdate="26 Mar 2003 16:08:42 -0800"
  enddate="27 Mar 2003 11:18:59 -0800"
>
<topic>Disks: IDE</topic>
<topic>Version Control</topic>

<p>Marcelo Tosatti announced <a
href="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0303.3/0932.html">2.4.21-pre6</a>,
saying, <quote who="Marcelo Tosatti">We are approaching -rc stage. I plan
to release -pre7 shortly which should fixup the remaining IDE problems
(thanks Alan!) and -rc1 later on.</quote> Christoph Hellwig gave a growl,
and said, <quote who="Christoph Hellwig">once again this is not tagged in BK.
Could you _please_ ask Linus for his nice update release, tag and publish
script?</quote> And Linus Torvalds replied:</p>

<quote who="Linus Torvalds">

<p>Hey, I'm a retard. I don't actually do the tagging with a script, since I
usually want to create the tree privately first, and run a final compile
cycle on it. So I tag it by hand, and then I have a script that outputs
a list of commands that I just cut-and-paste directly. It's ugly, but it
works (and it means that running the script doesn't _do_ anything: I have
to actually take one last look at what I'm going to do before I start it
all up).</p>

<p>The "release script" is this piece of crap:</p>

<pre>        #!/bin/sh
        echo "bk export -w ../linux-$2"
        echo "bk export -h -tpatch -rv$1.. &gt; ../patch-$2"
        echo "export PATH=\$PATH:/home/torvalds/BK/tools"
        echo "changelog v$1 v$2 &gt; ../ChangeLog-$2"
        echo "shortlog --width=72 &lt; ../ChangeLog-$2 &gt; ../ChangeLog"
        echo "cd .."
        echo "tar cf linux-$2.tar linux-$2"
        echo "gzip -9 patch-$2"
        echo "gzip -9 linux-$2.tar"
        echo "touch LATEST-IS-$2"</pre>

<p>and that's it. I'd just do "../release-script 2.5.66 2.5.67" from my
kernel directory when I want to generate a 2.5.67 release.</p>

<p>Ok, I'm embarrassed to even admit to doing this. Don't rub it in. It's
useful to me because sometimes I don't do a full release - I just want to
pre-generate a change-log of the diff, for example, to judge whether I
forgot about something.</p>

</quote>

</section>

<section
  title="NFS-utils 1.0.3 Released"
  subject="ANNOUNCE : nfs-utils 1.0.3"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0303.3/1272.html"
  posts="1"
  startdate="27 Mar 2003 16:33:30 -0800"
>
<topic>FS: NFS</topic>

<p>Neil Brown said:</p>

<quote who="Neil Brown">

<p>This is announcement for the release of
   nfs-utils 1.0.3</p>

<p>It is available from sourceforge:<br />
<a href="http://nfs.sourceforge.net">http://nfs.sourceforge.net</a><br />
or kernel.org<br />
<a href="http://www.{countrycode}.kernel.org/pub/linux/utils/nfs/">http://www.{countrycode}.kernel.org/pub/linux/utils/nfs/</a></p>

<p>This release is primarily for people using or planning to use nfsd on
2.5 series kernels.</p>

<p>Other user's may upgrade if they like.  There are a few small fixes which
might be of interest.  See the Change Log.</p>

<p>The system call interface for exporting filesystems via NFS is defined
using types like "__kernel_dev_t" which should only be used internally to
the kernel.  Using these in a user-space interface was a poor decission.</p>

<p>There are patches available for 2.5 which change __kernel_dev_t, at least
for i386, to be 32 bit instead of 16 bit.  This is an incompatable change
and nfs-utils does not work correctly on kernels with these patches.</p>

<p>This version of nfs-utils uses an alternate interface which is available
in 2.5 to export file systems.  This interface is not sensitive to changes
in kernel internal type definitions, and so will work independantly of
these patches.</p>

<p>If the new interface is not available (as it is not in 2.4), this version
of nfs-utils will fall back to the old style interface.  Thus this version
should work on all platforms and all kernel releases.</p>

<p>It may be that when these patches are finally included into the mainline,
we will able to keep the old systemcall interface working.  However as this
is not certain, using 1.0.3 (or later) is probably the best choice.</p>

</quote>

</section>

</kc>

