<?xml version="1.0" ?>

<kc>

<title>Kernel Traffic</title>

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

<issue num="187" date="06 Oct 2002 23:00:00 -0800" />

<stats posts="2924" size="15472" contrib="648" multiples="367" lastweek="198">

<person posts="99" size="255" who="&quot;David S. Miller&quot;" />
<person posts="80" size="403" who="Greg KH" />
<person posts="76" size="339" who="Andrew Morton" />
<person posts="75" size="223" who="Alan Cox" />
<person posts="69" size="520" who="Ingo Molnar" />
<person posts="51" size="256" who="Jeff Garzik" />
<person posts="44" size="142" who="Rik van Riel" />
<person posts="38" size="155" who="Jens Axboe" />
<person posts="38" size="110" who="Daniel Phillips" />
<person posts="30" size="704" who="Jaroslav Kysela" />
<person posts="30" size="125" who="(jbradford)" />
<person posts="30" size="103" who="William Lee Irwin III" />
<person posts="29" size="113" who="Vojtech Pavlik" />
<person posts="28" size="141" who="Rusty Russell" />
<person posts="28" size="94" who="Christoph Hellwig" />
<person posts="27" size="535" who="Martin Schwidefsky" />
<person posts="26" size="99" who="Roman Zippel" />
<person posts="26" size="71" who="Thunder from the hill" />
<person posts="25" size="94" who="Linus Torvalds" />
<person posts="24" size="103" who="Denis Vlasenko" />
<person posts="24" size="83" who="Russell King" />
<person posts="24" size="80" who="Dave Jones" />
<person posts="21" size="65" who="Robert Love" />
<person posts="20" size="114" who="Manfred Spraul" />
<person posts="20" size="67" who="Adrian Bunk" />
<person posts="20" size="57" who="Andi Kleen" />
<person posts="19" size="80" who="Con Kolivas" />
<person posts="19" size="73" who="Bill Huey (Hui)" />
<person posts="19" size="63" who="Zwane Mwaikambo" />
<person posts="18" size="568" who="george anzinger" />
<person posts="18" size="228" who="YOSHIFUJI Hideaki / =?iso-2022-jp?B?GyRCNUhGIzFRTEAbKEI=?=" />
<person posts="18" size="61" who="Ryan Cumming" />
<person posts="17" size="90" who="Dipankar Sarma" />
<person posts="17" size="76" who="Theodore Ts'o" />
<person posts="16" size="41" who="Jeff Dike" />
<person posts="15" size="86" who="Thomas Molina" />
<person posts="15" size="69" who="&quot;Justin T. Gibbs&quot;" />
<person posts="14" size="96" who="Marc-Christian Petersen" />
<person posts="14" size="51" who="Matthew Wilcox" />
<person posts="14" size="50" who="Greg Ungerer" />
<person posts="14" size="50" who="Bill Davidsen" />
<person posts="14" size="49" who="Arnaldo Carvalho de Melo" />
<person posts="13" size="186" who="Dominik Brodowski" />
<person posts="13" size="57" who="Zach Brown" />
<person posts="13" size="43" who="David Mosberger" />
<person posts="13" size="38" who="John Levon" />
<person posts="13" size="37" who="Pavel Machek" />
<person posts="13" size="30" who="(kuznet)" />
<person posts="12" size="121" who="Oliver Xymoron" />
<person posts="12" size="101" who="Hugh Dickins" />
<person posts="12" size="54" who="Pavel Machek" />
<person posts="12" size="47" who="&quot;Martin J. Bligh&quot;" />
<person posts="12" size="39" who="&quot;J.A. Magallon&quot;" />
<person posts="12" size="38" who="Patrick Mochel" />
<person posts="12" size="34" who="John Levon" />
<person posts="11" size="115" who="john stultz" />
<person posts="11" size="73" who="Christoph Hellwig" />
<person posts="11" size="63" who="Aristeu Sergio Rozanski Filho" />
<person posts="11" size="61" who="David Gibson" />
<person posts="11" size="51" who="Tomas Szepe" />
<person posts="11" size="39" who="Skip Ford" />
<person posts="11" size="32" who="Matthew Jacob" />
<person posts="10" size="49" who="Art Haas" />
<person posts="10" size="41" who="Mike Anderson" />
<person posts="10" size="35" who="Steven Cole" />
<person posts="10" size="33" who="&quot;Benjamin Herrenschmidt&quot;" />
<person posts="10" size="32" who="David Brownell" />
<person posts="10" size="30" who="Arjan van de Ven" />
<person posts="10" size="28" who="Mikael Pettersson" />
<person posts="9" size="96" who="Larry Kessler" />
<person posts="9" size="78" who="Michael Clark" />
<person posts="9" size="38" who="Roberto Nibali" />
<person posts="9" size="23" who="Alexander Viro" />
<person posts="8" size="101" who="Alan Cox" />
<person posts="8" size="95" who="Dave Olien" />
<person posts="8" size="69" who="Bjorn Helgaas" />
<person posts="8" size="54" who="Matthew Dobson" />
<person posts="8" size="35" who="Mark Mielke" />
<person posts="8" size="33" who="Marcelo Tosatti" />
<person posts="8" size="30" who="Stephen Tweedie" />
<person posts="8" size="29" who="Oleg Drokin" />
<person posts="8" size="29" who="Andreas Dilger" />
<person posts="8" size="28" who="&quot;Randy.Dunlap&quot;" />
<person posts="8" size="21" who="Pete Zaitcev" />
<person posts="7" size="113" who="Jochen Friedrich" />
<person posts="7" size="51" who="Marek Michalkiewicz" />
<person posts="7" size="49" who="Ed Tomlinson" />
<person posts="7" size="49" who="Kevin Corry" />
<person posts="7" size="40" who="Rasmus Andersen" />
<person posts="7" size="33" who="Kent Yoder" />
<person posts="7" size="30" who="James Bottomley" />
<person posts="7" size="30" who="DevilKin" />
<person posts="7" size="28" who="(Matt_Domsch)" />
<person posts="7" size="26" who="Daniel Jacobowitz" />
<person posts="7" size="26" who="Chris Wright" />
<person posts="7" size="24" who="Andre Hedrick" />
<person posts="7" size="24" who="Larry McVoy" />
<person posts="7" size="24" who="Felix Seeger" />
<person posts="7" size="23" who="Sam Ravnborg" />
<person posts="7" size="22" who="Stephen Marz" />
<person posts="7" size="21" who="Daniel Egger" />
<person posts="7" size="21" who="Shawn Starr" />
<person posts="7" size="21" who="Francois Romieu" />
<person posts="7" size="21" who="Padraig Brady" />
<person posts="7" size="19" who="Horst von Brand" />
<person posts="7" size="16" who="Chris Wedgwood" />
<person posts="6" size="110" who="(peterc)" />
<person posts="6" size="63" who="Karim Yaghmour" />
<person posts="6" size="47" who="Pekka Savola" />
<person posts="6" size="44" who="Andrea Arcangeli" />
<person posts="6" size="41" who="Stephen Rothwell" />
<person posts="6" size="40" who="Olaf Dietsche" />
<person posts="6" size="38" who="Trond Myklebust" />
<person posts="6" size="31" who="Ulrich Drepper" />
<person posts="6" size="26" who="Peter Chubb" />
<person posts="6" size="25" who="Kai Germaschewski" />
<person posts="6" size="23" who="Stian Jordet" />
<person posts="6" size="19" who="&quot;David McIlwraith&quot;" />
<person posts="6" size="19" who="Steve G" />
<person posts="6" size="18" who="&quot;Grover, Andrew&quot;" />
<person posts="6" size="18" who="Luc Van Oostenryck" />
<person posts="6" size="16" who="Geert Uytterhoeven" />
<person posts="6" size="14" who="Andrew Walrond" />
<person posts="5" size="51" who="Dave McCracken" />
<person posts="5" size="49" who="Adam Goldstein" />
<person posts="5" size="29" who="Lightweight Patch Manager" />
<person posts="5" size="28" who="Andi Kleen" />
<person posts="5" size="26" who="Philippe Troin" />
<person posts="5" size="25" who="Tim Schmielau" />
<person posts="5" size="21" who=" (Eric W. Biederman)" />
<person posts="5" size="21" who="Zlatko Calusic" />
<person posts="5" size="21" who="Jean Tourrilhes" />
<person posts="5" size="21" who="Gregoire Favre" />
<person posts="5" size="20" who="Brad Hards" />
<person posts="5" size="18" who="Krzysztof Halasa" />
<person posts="5" size="17" who=" (Bob_Tracy)" />
<person posts="5" size="17" who="Tim Waugh" />
<person posts="5" size="15" who="dean gaudet" />
<person posts="5" size="14" who="Shaya Potter" />
<person posts="5" size="13" who="David Schwartz" />
<person posts="5" size="13" who="Benjamin LaHaise" />
<person posts="5" size="11" who="Anton Blanchard" />
<person posts="4" size="106" who="Arador" />
<person posts="4" size="54" who="Roy Sigurd Karlsbakk" />
<person posts="4" size="46" who="Karel Gardas" />
<person posts="4" size="45" who="Bongani" />
<person posts="4" size="39" who="Dave Hansen" />
<person posts="4" size="37" who="Lorenzo Allegrucci" />
<person posts="4" size="35" who="(brian)" />
<person posts="4" size="33" who="Wim Van Sebroeck" />
<person posts="4" size="27" who="Patrick Mau" />
<person posts="4" size="26" who="Simon Kirby" />
<person posts="4" size="26" who="Krishnakumar B" />
<person posts="4" size="20" who="&quot;Paolo Ciarrocchi&quot;" />
<person posts="4" size="19" who="&quot;Petr Vandrovec&quot;" />
<person posts="4" size="19" who="Patrick Mansfield" />
<person posts="4" size="18" who="=?iso-8859-1?q?will=20fitzgerald?=" />
<person posts="4" size="18" who="Michael Sinz" />
<person posts="4" size="18" who="(Valdis.Kletnieks)" />
<person posts="4" size="16" who="Martin Diehl" />
<person posts="4" size="16" who="Tobias Ringstrom" />
<person posts="4" size="15" who="Keith Owens" />
<person posts="4" size="15" who="Petr Vandrovec" />
<person posts="4" size="14" who="Peter Waechtler" />
<person posts="4" size="14" who="Andreas Boman" />
<person posts="4" size="14" who="Jeff Chua" />
<person posts="4" size="14" who="(tytso)" />
<person posts="4" size="13" who="&quot;Felipe Alfaro Solana&quot;" />
<person posts="4" size="13" who="walt" />
<person posts="4" size="13" who="Luben Tuikov" />
<person posts="4" size="13" who="Andries Brouwer" />
<person posts="4" size="13" who="Alexander Hoogerhuis" />
<person posts="4" size="13" who="James Stevenson" />
<person posts="4" size="13" who="DervishD" />
<person posts="4" size="12" who="Garrett Kajmowicz" />
<person posts="4" size="12" who="Tom Rini" />
<person posts="4" size="11" who="&quot;Maciej W. Rozycki&quot;" />
<person posts="4" size="11" who="James Morris" />
<person posts="4" size="11" who="Venkatesh Rao" />
<person posts="4" size="11" who="Carlos E Gorges" />
<person posts="4" size="11" who="&quot;immortal1015&quot;" />
<person posts="4" size="10" who="Paul Mackerras" />
<person posts="4" size="10" who="&quot;Michel Eyckmans (MCE)&quot;" />
<person posts="4" size="9" who="Oleg Nesterov" />
<person posts="4" size="9" who="(Andries.Brouwer)" />
<person posts="3" size="113" who="Christer Weinigel" />
<person posts="3" size="79" who="Nick Sanders" />
<person posts="3" size="55" who="Matthias Andree" />
<person posts="3" size="54" who="Lars Marowsky-Bree" />
<person posts="3" size="45" who="Norbert Nemec" />
<person posts="3" size="43" who="Urban Widmark" />
<person posts="3" size="27" who="Rudy Zijlstra" />
<person posts="3" size="26" who="Meelis Roos" />
<person posts="3" size="26" who="(chrisl)" />
<person posts="3" size="25" who="Bob McElrath" />
<person posts="3" size="25" who="Alan Mayer" />
<person posts="3" size="23" who="Ville Herva" />
<person posts="3" size="20" who="Alessandro Amici" />
<person posts="3" size="19" who="Malte Cornils" />
<person posts="3" size="19" who="Yumiko Sugita" />
<person posts="3" size="19" who="Olaf Dietsche" />
<person posts="3" size="15" who="Gerald Britton" />
<person posts="3" size="15" who="Chuck Lever" />
<person posts="3" size="14" who="Axel" />
<person posts="3" size="14" who="Jurriaan" />
<person posts="3" size="14" who="Jordan Breeding" />
<person posts="3" size="13" who="Jakob Oestergaard" />
<person posts="3" size="13" who="Hu Gang" />
<person posts="3" size="13" who="&quot;Murray J. Root&quot;" />
<person posts="3" size="12" who="Doug Ledford" />
<person posts="3" size="12" who="Antti Tuominen" />
<person posts="3" size="12" who="Cedric Roux" />
<person posts="3" size="12" who="Kai Germaschewski" />
<person posts="3" size="11" who="Richard Drummond" />
<person posts="3" size="11" who="Tim Hockin" />
<person posts="3" size="11" who="Steve Mickeler" />
<person posts="3" size="11" who="Ben Greear" />
<person posts="3" size="11" who="Alessandro Suardi" />
<person posts="3" size="11" who="Gerhard Mack" />
<person posts="3" size="11" who="&quot;Nathan&quot;" />
<person posts="3" size="11" who="(bonganilinux)" />
<person posts="3" size="11" who="(nf)" />
<person posts="3" size="10" who="Andy Isaacson" />
<person posts="3" size="10" who="DragonK" />
<person posts="3" size="10" who="Chris Friesen" />
<person posts="3" size="10" who="&quot;Heater, Daniel (IndSys, GEFanuc, VMIC)&quot;" />
<person posts="3" size="10" who="jamal" />
<person posts="3" size="9" who="Ben Collins" />
<person posts="3" size="9" who="Dan Kegel" />
<person posts="3" size="9" who="&quot;Gabor Z. Papp&quot;" />
<person posts="3" size="9" who="(Hell.Surfers)" />
<person posts="3" size="9" who="Rob Landley" />
<person posts="3" size="9" who="Falk Hueffner" />
<person posts="3" size="9" who="Arnd Bergmann" />
<person posts="3" size="9" who="James D Strandboge" />
<person posts="3" size="9" who="Samuel Flory" />
<person posts="3" size="8" who="David Woodhouse" />
<person posts="3" size="8" who="Arjan van de Ven" />
<person posts="3" size="8" who="Nivedita Singhvi" />
<person posts="3" size="8" who="Steve Underwood" />
<person posts="3" size="8" who="bert hubert" />
<person posts="3" size="8" who="Richard Gooch" />
<person posts="3" size="7" who="Frederik Nosi" />
<person posts="3" size="7" who="(acme)" />
<person posts="3" size="6" who="Ian Molton" />
<person posts="2" size="84" who="Hans Reiser" />
<person posts="2" size="60" who="Patricia Gaughen" />
<person posts="2" size="48" who="Peter =?iso-8859-1?Q?W=E4chtler?=" />
<person posts="2" size="33" who="David Howells" />
<person posts="2" size="30" who="Sebastian Benoit" />
<person posts="2" size="28" who="(cwhmlist)" />
<person posts="2" size="27" who="&quot;Mala Anand&quot;" />
<person posts="2" size="25" who="Eric Altendorf" />
<person posts="2" size="24" who="Federico Sevilla III" />
<person posts="2" size="19" who="Anton Altaparmakov" />
<person posts="2" size="19" who="Michael Knigge" />
<person posts="2" size="14" who="Charles Menser" />
<person posts="2" size="14" who="Paul Mackerras" />
<person posts="2" size="13" who="&quot;Guillaume Boissiere&quot;" />
<person posts="2" size="12" who="Lawrence Walton" />
<person posts="2" size="11" who="Stephan Maciej" />
<person posts="2" size="10" who="Jochen Hein" />
<person posts="2" size="10" who="Andreas Loong" />
<person posts="2" size="9" who="Rolf Fokkens" />
<person posts="2" size="9" who="=?ISO-8859-2?Q?Petr_Tit=ECra?=" />
<person posts="2" size="9" who="Elladan" />
<person posts="2" size="9" who="Stephen Smalley" />
<person posts="2" size="9" who="Tommi Kyntola" />
<person posts="2" size="9" who="&quot;Stephen D. Williams&quot;" />
<person posts="2" size="9" who="Hubertus Franke" />
<person posts="2" size="9" who="Jan Kasprzak" />
<person posts="2" size="8" who="Holger Lubitz" />
<person posts="2" size="8" who="(carolh)" />
<person posts="2" size="8" who="Toon van der Pas" />
<person posts="2" size="8" who="Ivan Gyurdiev" />
<person posts="2" size="8" who="Burton Samograd" />
<person posts="2" size="8" who="Nikita Danilov" />
<person posts="2" size="8" who="&quot;Stephen C. Tweedie&quot;" />
<person posts="2" size="7" who="Vicky Shrestha" />
<person posts="2" size="7" who="Ralf Gerbig" />
<person posts="2" size="7" who="Marc Giger" />
<person posts="2" size="7" who="Janek Neubert" />
<person posts="2" size="7" who=" (Linus Torvalds)" />
<person posts="2" size="7" who="Tim Hockin" />
<person posts="2" size="7" who="Rogier Wolff" />
<person posts="2" size="7" who="Paul P Komkoff Jr" />
<person posts="2" size="7" who="&quot;Pedro M. Rodrigues&quot;" />
<person posts="2" size="7" who="OGAWA Hirofumi" />
<person posts="2" size="7" who="Andreas Pfaller" />
<person posts="2" size="7" who="Jon Grimm" />
<person posts="2" size="7" who="Daniel Pittman" />
<person posts="2" size="7" who="Ken Moffat" />
<person posts="2" size="7" who="Ernst Herzberg" />
<person posts="2" size="7" who="Peter L Jones" />
<person posts="2" size="7" who="&quot;Perez-Gonzalez, Inaky&quot;" />
<person posts="2" size="6" who="&quot;Udo A. Steinberg&quot;" />
<person posts="2" size="6" who="Mario Mikocevic" />
<person posts="2" size="6" who="Andrew Theurer" />
<person posts="2" size="6" who=" (Don Cohen)" />
<person posts="2" size="6" who="&quot;H. Peter Anvin&quot;" />
<person posts="2" size="6" who="Jakub Jelinek" />
<person posts="2" size="6" who="&quot;Richard B. Johnson&quot;" />
<person posts="2" size="6" who="&quot;Corporal Pisang&quot;" />
<person posts="2" size="6" who="=?ISO-8859-1?Q?Dennis_Bj=F6rklund?=" />
<person posts="2" size="6" who="Ken Savage" />
<person posts="2" size="6" who="Marco Schwarz" />
<person posts="2" size="6" who="Mark Veltzer" />
<person posts="2" size="6" who="Jim Houston" />
<person posts="2" size="6" who="&quot;Felipe W Damasio&quot;" />
<person posts="2" size="6" who="Adam Voigt" />
<person posts="2" size="6" who="Bernd Eckenfels" />
<person posts="2" size="6" who="Marco Colombo" />
<person posts="2" size="6" who="Richard Zidlicky" />
<person posts="2" size="6" who="(jhakala)" />
<person posts="2" size="6" who="Dieter =?iso-8859-15?q?N=FCtzel?=" />
<person posts="2" size="6" who="Roger Larsson" />
<person posts="2" size="6" who="&quot;Mr. James W. Laferriere&quot;" />
<person posts="2" size="6" who="Marc-Christian Petersen" />
<person posts="2" size="6" who="Corporal Pisang" />
<person posts="2" size="6" who="Torben Mathiasen" />
<person posts="2" size="5" who="Peter Svensson" />
<person posts="2" size="5" who="David Howells" />
<person posts="2" size="5" who="Ivan Kokshaysky" />
<person posts="2" size="5" who="Andrzej Krzysztofowicz" />
<person posts="2" size="5" who="Matti Aarnio" />
<person posts="2" size="5" who="Helge Hafting" />
<person posts="2" size="5" who="Wilfried Weissmann" />
<person posts="2" size="5" who="Hu Gang" />
<person posts="2" size="5" who="Eyal Lebedinsky" />
<person posts="2" size="5" who="&quot;Cress, Andrew R&quot;" />
<person posts="2" size="5" who="Philipp Matthias Hahn" />
<person posts="2" size="5" who="James Bottomley" />
<person posts="2" size="5" who="Cliff White" />
<person posts="2" size="5" who="&quot;Kristofer T. Karas&quot;" />
<person posts="2" size="5" who="&quot;Alan Willis&quot;" />
<person posts="2" size="5" who="Roland McGrath" />
<person posts="2" size="5" who="Oliver Neukum" />
<person posts="2" size="5" who="Luca Barbieri" />
<person posts="2" size="5" who="&quot;Gerold J. Wucherpfennig&quot;" />
<person posts="2" size="5" who="Bryan O'Sullivan" />
<person posts="2" size="5" who="Arvind Gopalan" />
<person posts="2" size="5" who="&quot;Mohamed Ghouse , Gurgaon&quot;" />
<person posts="2" size="5" who="Randy Dunlap" />
<person posts="2" size="5" who="David Gibson" />
<person posts="2" size="5" who="Joe Thornber" />
<person posts="2" size="5" who="Duncan Sands" />
<person posts="2" size="5" who="Keith Owens" />
<person posts="2" size="5" who="Lingli Zhang" />
<person posts="2" size="5" who="Yuri van Oers" />
<person posts="2" size="5" who="Shanti Katta" />
<person posts="2" size="5" who="David Lloyd" />
<person posts="2" size="5" who="Willy Tarreau" />
<person posts="2" size="5" who="Mircea Ciocan" />
<person posts="2" size="5" who="Jean Delvare" />
<person posts="2" size="5" who="=?iso-8859-1?q?Joerg=20Pommnitz?=" />
<person posts="2" size="4" who="&quot;Albert D. Cahalan&quot;" />
<person posts="2" size="4" who="Joe Kellner" />
<person posts="2" size="4" who="Arnd Bergmann" />
<person posts="2" size="4" who="Paul Larson" />
<person posts="2" size="4" who="Milton Miller" />
<person posts="2" size="4" who="&quot;Miquel van Smoorenburg&quot;" />
<person posts="2" size="4" who="Lee Leahu" />
<person posts="2" size="4" who="(alfred)" />
<person posts="2" size="4" who="Ricky Beam" />
<person posts="2" size="4" who="GrandMasterLee" />
<person posts="2" size="4" who="David Mosberger-Tang" />
<person posts="2" size="4" who="Rodney Gordon II" />
<person posts="1" size="68" who="Rolf Eike Beer" />
<person posts="1" size="41" who="Tabris" />
<person posts="1" size="35" who="Matt Domsch" />
<person posts="1" size="33" who="Brett" />
<person posts="1" size="33" who="&quot;Brian J. ConwayNOSPAM&quot;" />
<person posts="1" size="32" who="Luke-Jr" />
<person posts="1" size="23" who="&quot;Tarkan Erimer&quot;" />
<person posts="1" size="21" who=" (root)" />
<person posts="1" size="21" who="Ravikiran G Thirumalai" />
<person posts="1" size="21" who=" (Jeronimo Pellegrini)" />
<person posts="1" size="19" who="&quot;Luca Salgarelli&quot;" />
<person posts="1" size="18" who="Bryan Hundven" />
<person posts="1" size="17" who="Franco Saliola" />
<person posts="1" size="17" who="Mark Hindley" />
<person posts="1" size="14" who="Bernard Paris" />
<person posts="1" size="14" who="Kjartan Maraas" />
<person posts="1" size="13" who="Tzafrir Cohen" />
<person posts="1" size="12" who="&quot;Aniruddha Shankar&quot;" />
<person posts="1" size="11" who="Thierry Mallard" />
<person posts="1" size="11" who="Erik Ljungstroem" />
<person posts="1" size="10" who="&quot;D.J. Barrow&quot;" />
<person posts="1" size="10" who="Florian Thiel" />
<person posts="1" size="10" who="(phillim2)" />
<person posts="1" size="10" who="&quot;James C. Owens&quot;" />
<person posts="1" size="9" who="Mathieu Chouquet-Stringer" />
<person posts="1" size="9" who="Robinson Maureira Castillo" />
<person posts="1" size="9" who="Soeren Sonnenburg" />
<person posts="1" size="8" who="Johan Kullstam" />
<person posts="1" size="8" who="Phil Brutsche" />
<person posts="1" size="7" who="&quot;M.H.VanLeeuwen&quot;" />
<person posts="1" size="7" who="Mika Liljeberg" />
<person posts="1" size="7" who="&quot;David J. M. Karlsen&quot;" />
<person posts="1" size="7" who="Darko" />
<person posts="1" size="7" who="Andrew Vasquez" />
<person posts="1" size="6" who="Roy" />
<person posts="1" size="6" who="(christoph)" />
<person posts="1" size="6" who="Vincent Hanquez" />
<person posts="1" size="6" who="Robin Hall" />
<person posts="1" size="6" who="(frodol)" />
<person posts="1" size="6" who="jw schultz" />
<person posts="1" size="6" who="Hugo Mills" />
<person posts="1" size="6" who="&quot;Dr. David Alan Gilbert&quot;" />
<person posts="1" size="6" who="&quot;Daniel E. F. Stekloff&quot;" />
<person posts="1" size="6" who="Jan Marek" />
<person posts="1" size="5" who="Andrew Ryan" />
<person posts="1" size="5" who="Bruce Lowekamp" />
<person posts="1" size="5" who="Stefan Schwandter" />
<person posts="1" size="5" who="Michael De Nil" />
<person posts="1" size="5" who="Peter Rival" />
<person posts="1" size="5" who="Michael Richardson" />
<person posts="1" size="5" who="Jens Thoms Toerring" />
<person posts="1" size="5" who="Corey Minyard" />
<person posts="1" size="5" who="(crozierm)" />
<person posts="1" size="5" who="tim" />
<person posts="1" size="5" who="Eric Blade" />
<person posts="1" size="4" who="(kernel)" />
<person posts="1" size="4" who="unongo unongo" />
<person posts="1" size="4" who="Kevin Easton" />
<person posts="1" size="4" who="(Mark_H_Johnson)" />
<person posts="1" size="4" who="Steve Lion" />
<person posts="1" size="4" who="&quot;Kevin O'Connor&quot;" />
<person posts="1" size="4" who="(alan)" />
<person posts="1" size="4" who="Awais Ahmad" />
<person posts="1" size="4" who="Wakko Warner" />
<person posts="1" size="4" who="Andrey Savochkin" />
<person posts="1" size="4" who="&quot;Hanumanthu. H&quot;" />
<person posts="1" size="4" who="Alex Williamson" />
<person posts="1" size="4" who="&quot;Martin J. Bligh&quot;" />
<person posts="1" size="4" who="&quot;Buddy Lumpkin&quot;" />
<person posts="1" size="4" who="&quot;Michael T. Babcock&quot;" />
<person posts="1" size="4" who="&quot;David L. DeGeorge&quot;" />
<person posts="1" size="4" who="Maxwell Spangler" />
<person posts="1" size="4" who="&quot;MR REUBEN SAVIMBI&quot;" />
<person posts="1" size="4" who="David Lang" />
<person posts="1" size="4" who="&quot;Mr. Alex Dickson.&quot;" />
<person posts="1" size="4" who="Eric Blade" />
<person posts="1" size="4" who="&quot;Bjoern A. Zeeb&quot;" />
<person posts="1" size="4" who="Arnaud Gomes-do-Vale" />
<person posts="1" size="4" who="=?iso-8859-1?Q?Bj=F6rn_Stenberg?=" />
<person posts="1" size="4" who="&quot;Eitan Ben-Nun&quot;" />
<person posts="1" size="4" who="Matthew Dharm" />
<person posts="1" size="4" who="&quot;Steve Best&quot;" />
<person posts="1" size="4" who="Xiao Feng Shi" />
<person posts="1" size="4" who="Mark Bellon" />
<person posts="1" size="3" who="Thomas Zimmerman" />
<person posts="1" size="3" who="Seth Arnold" />
<person posts="1" size="3" who="Fabio Massimo Di Nitto" />
<person posts="1" size="3" who="wbh" />
<person posts="1" size="3" who="David Kleikamp" />
<person posts="1" size="3" who="Clemens Schwaighofer" />
<person posts="1" size="3" who="Steffen Persvold" />
<person posts="1" size="3" who="Saurabh Desai" />
<person posts="1" size="3" who="Erik Mouw" />
<person posts="1" size="3" who="Kevin Curtis" />
<person posts="1" size="3" who="&quot;Ganesh  S&quot;" />
<person posts="1" size="3" who="Badari Pulavarty" />
<person posts="1" size="3" who=" (Simon Fowler)" />
<person posts="1" size="3" who="Christopher Verges" />
<person posts="1" size="3" who="Martin Waitz" />
<person posts="1" size="3" who="&quot;Jeff V. Merkey&quot;" />
<person posts="1" size="3" who="Hiroshi Takekawa" />
<person posts="1" size="3" who="Gianni Tedesco" />
<person posts="1" size="3" who="Maneesh Soni" />
<person posts="1" size="3" who="Erik Schoenfelder" />
<person posts="1" size="3" who="Elek Robert" />
<person posts="1" size="3" who="Bruce Harada" />
<person posts="1" size="3" who="Ruth Ivimey-Cook" />
<person posts="1" size="3" who="Troy Wilson" />
<person posts="1" size="3" who="Johannes Erdfelt" />
<person posts="1" size="3" who="Ed Vance" />
<person posts="1" size="3" who="Joachim Breuer" />
<person posts="1" size="3" who="DevilKin-LKML" />
<person posts="1" size="3" who="&quot;Randal, Phil&quot;" />
<person posts="1" size="3" who="Thomas Tonino" />
<person posts="1" size="3" who="&quot;Andrew Vasquez&quot;" />
<person posts="1" size="3" who="Joaquim Fellmann" />
<person posts="1" size="3" who="Roberto Peon" />
<person posts="1" size="3" who="&quot;Siddha, Suresh B&quot;" />
<person posts="1" size="3" who="David Rees" />
<person posts="1" size="3" who="Alan Stern" />
<person posts="1" size="3" who="Leif Sawyer" />
<person posts="1" size="3" who="&quot;Henning P. Schmiedehausen&quot;" />
<person posts="1" size="3" who="Alex" />
<person posts="1" size="3" who="David Ford" />
<person posts="1" size="3" who="Alex Riesen" />
<person posts="1" size="3" who="&quot;James H. Cloos Jr.&quot;" />
<person posts="1" size="3" who="Matt Porter" />
<person posts="1" size="3" who="Eli Carter" />
<person posts="1" size="3" who="Nathan Scott" />
<person posts="1" size="3" who="Malcolm Mallardi" />
<person posts="1" size="3" who="Andreas Schwab" />
<person posts="1" size="3" who="Mads Martin Joergensen" />
<person posts="1" size="3" who="Paul Cassella" />
<person posts="1" size="3" who="(crimsun)" />
<person posts="1" size="3" who="=?iso-8859-1?Q?Nicol=E1s_Lichtmaier?=" />
<person posts="1" size="3" who="Colin Stubbs" />
<person posts="1" size="3" who="&quot;Michael D. Crawford&quot;" />
<person posts="1" size="3" who="Harald Welte" />
<person posts="1" size="3" who="Peter Samuelson" />
<person posts="1" size="3" who="FD Cami" />
<person posts="1" size="3" who="Olivier Galibert" />
<person posts="1" size="3" who="Mike Galbraith" />
<person posts="1" size="3" who="(nick)" />
<person posts="1" size="3" who="&quot;Martin Brulisauer&quot;" />
<person posts="1" size="3" who="Steve Lord" />
<person posts="1" size="3" who="Phil Auld" />
<person posts="1" size="3" who="Burton Windle" />
<person posts="1" size="3" who="&quot;Axel H. Siebenwirth&quot;" />
<person posts="1" size="3" who="(newsgate)" />
<person posts="1" size="3" who="Ignacy Gawedzki" />
<person posts="1" size="3" who="Olaf =?iso-8859-2?Q?Fr=B1czyk?=" />
<person posts="1" size="3" who="&quot;Josef Zeevi&quot;" />
<person posts="1" size="3" who="&quot;Maneesh Soni&quot;" />
<person posts="1" size="3" who="&quot;Joao S Veiga&quot;" />
<person posts="1" size="3" who="Sarah Benson" />
<person posts="1" size="3" who="Chad Netzer" />
<person posts="1" size="3" who="Jeff Garzik" />
<person posts="1" size="3" who="Henning Schmiedehausen" />
<person posts="1" size="2" who="JF" />
<person posts="1" size="2" who="Adam Radford" />
<person posts="1" size="2" who="Frank Audun =?iso-8859-1?Q?Kvamtr=F8?=" />
<person posts="1" size="2" who="Dave Hansen" />
<person posts="1" size="2" who="Dieter =?iso-8859-1?q?N=FCtzel?=" />
<person posts="1" size="2" who="Steven Whitehouse" />
<person posts="1" size="2" who="Bob Raymond" />
<person posts="1" size="2" who="Jacob Gorm Hansen" />
<person posts="1" size="2" who="&quot;James Stevenson&quot;" />
<person posts="1" size="2" who="&quot;omit_ECE&quot;" />
<person posts="1" size="2" who="Bruce Harada" />
<person posts="1" size="2" who="Philippe Finkel" />
<person posts="1" size="2" who="Jan Niehusmann" />
<person posts="1" size="2" who="=?iso-8859-2?Q?Pawe=B3?= Krawczyk" />
<person posts="1" size="2" who="Tim Tassonis" />
<person posts="1" size="2" who="&quot;Vivek Srivastava&quot;" />
<person posts="1" size="2" who="Dan Aloni" />
<person posts="1" size="2" who="&quot;David B. Stevens&quot;" />
<person posts="1" size="2" who="Jose Luis Domingo Lopez" />
<person posts="1" size="2" who="&quot;Paul E. Erkkila&quot;" />
<person posts="1" size="2" who="Yannis Mitsos" />
<person posts="1" size="2" who="Mark Hounschell" />
<person posts="1" size="2" who="(brian)" />
<person posts="1" size="2" who="Greg KH" />
<person posts="1" size="2" who="Norbert Preining" />
<person posts="1" size="2" who="&quot;davide.rossetti&quot;" />
<person posts="1" size="2" who="Andrew Clausen" />
<person posts="1" size="2" who="&quot;Nivedita Singhvi&quot;" />
<person posts="1" size="2" who="&quot;Feldman, Scott&quot;" />
<person posts="1" size="2" who="&quot;Maksim (Max) Krasnyanskiy&quot;" />
<person posts="1" size="2" who="&quot;ALESSANDRO.SUARDI&quot;" />
<person posts="1" size="2" who="Peter" />
<person posts="1" size="2" who="ken hu" />
<person posts="1" size="2" who="Nerijus Baliunas" />
<person posts="1" size="2" who="Sven Koch" />
<person posts="1" size="2" who="Xavier Bru" />
<person posts="1" size="2" who="Nicolas Bouliane" />
<person posts="1" size="2" who="Geoffrey Lee" />
<person posts="1" size="2" who="Robert Schwebel" />
<person posts="1" size="2" who="Garrett Kajmowicz" />
<person posts="1" size="2" who="Dipankar Sarma" />
<person posts="1" size="2" who="Banai Zoltan" />
<person posts="1" size="2" who="Cort Dougan" />
<person posts="1" size="2" who="Matthias Urlichs" />
<person posts="1" size="2" who="Anders Gustafsson" />
<person posts="1" size="2" who="undertow" />
<person posts="1" size="2" who="&quot;Christer Nilsson&quot;" />
<person posts="1" size="2" who="Corporal Pisang" />
<person posts="1" size="2" who="Miroslav Rudisin" />
<person posts="1" size="2" who="(adam)" />
<person posts="1" size="2" who="Petr Slansky" />
<person posts="1" size="2" who="&quot;Vamsi Krishna S.&quot;" />
<person posts="1" size="2" who="&quot;Ankit Bansal&quot;" />
<person posts="1" size="2" who="Bruno Germano Bauer" />
<person posts="1" size="2" who="(glozano)" />
<person posts="1" size="2" who="(jlnance)" />
<person posts="1" size="2" who="&quot;Neulinger, Nathan&quot;" />
<person posts="1" size="2" who="Stig Brautaset" />
<person posts="1" size="2" who="&quot;Scott Murray&quot;" />
<person posts="1" size="2" who="Martin Mares" />
<person posts="1" size="2" who="Brandon Low" />
<person posts="1" size="2" who="Ducrot Bruno" />
<person posts="1" size="2" who="Gert Vervoort" />
<person posts="1" size="2" who="Nicolas Pitre" />
<person posts="1" size="2" who="Aleksey I Zavilohin" />
<person posts="1" size="2" who="Jon Portnoy" />
<person posts="1" size="2" who="David Gourdelier" />
<person posts="1" size="2" who="Phil Oester" />
<person posts="1" size="2" who="Krzysztof Benedyczak" />
<person posts="1" size="2" who="&quot;Seth Chandler&quot;" />
<person posts="1" size="2" who="&quot;Mark Peloquin&quot;" />
<person posts="1" size="2" who="Jasper Spaans" />
<person posts="1" size="2" who="Eric Buddington" />
<person posts="1" size="2" who="Cory 'G' Watson" />
<person posts="1" size="2" who="&quot;Emmeran \&quot;Emmy\&quot; Seehuber&quot;" />
<person posts="1" size="2" who="&quot;John Hall&quot;" />
<person posts="1" size="2" who="Bill Davidsen" />
<person posts="1" size="2" who="Mark Lord" />
<person posts="1" size="2" who=" (=?iso-8859-1?q?M=E5ns_Rullg=E5rd?=)" />
<person posts="1" size="2" who="&quot;Shawn Starr&quot;" />
<person posts="1" size="2" who="Eric Olson" />
<person posts="1" size="2" who="Manuel Clos" />
<person posts="1" size="2" who="Thunder from the hill" />
<person posts="1" size="2" who="Michel =?ISO-8859-1?Q?D=E4nzer?=" />
<person posts="1" size="2" who="Witek Krecicki" />
<person posts="1" size="2" who="&quot;Bill Rugolsky Jr.&quot;" />
<person posts="1" size="2" who="(s.stoklossa)" />
<person posts="1" size="2" who="(Richard.Zidlicky)" />
<person posts="1" size="2" who="&quot;Wing Tsui&quot;" />
<person posts="1" size="2" who="GOMBAS Gabor" />
<person posts="1" size="2" who="Aniruddha Shankar" />
<person posts="1" size="2" who="&quot;Bruno A. Crespo&quot;" />
<person posts="1" size="2" who="Thomas Hood" />
<person posts="1" size="2" who="root" />
<person posts="1" size="2" who="Eric Miao" />
<person posts="1" size="2" who="Allan Duncan" />
<person posts="1" size="2" who="&quot;James Jarosz&quot;" />
<person posts="1" size="2" who="Peter Bergner" />
<person posts="1" size="2" who="Stas Sergeev" />
<person posts="1" size="2" who="&quot;Theewara Vorakosit&quot;" />
<person posts="1" size="2" who="immortal1015" />
<person posts="1" size="2" who="=?iso-8859-1?q?Kurt=20Johnson?=" />
<person posts="1" size="2" who="Christian Lyra" />
<person posts="1" size="2" who="Mostyk" />
<person posts="1" size="2" who="Aaron Lehmann" />
<person posts="1" size="2" who="&quot;Bloch, Jack&quot;" />
<person posts="1" size="2" who="Tony den Haan" />
<person posts="1" size="2" who="Stephan von Krawczynski" />
<person posts="1" size="2" who="bobo" />
<person posts="1" size="2" who="Mike Dresser" />
<person posts="1" size="2" who="Marcus Grando" />
<person posts="1" size="2" who="Steve Cole" />
<person posts="1" size="2" who="&quot;Vinolin&quot;" />
<person posts="1" size="2" who="&quot;Rick A. Hohensee&quot;" />
<person posts="1" size="2" who="&quot;Richard Cooper&quot;" />
<person posts="1" size="1" who="Louis Garcia" />
<person posts="1" size="1" who="Chris Cheney" />
<person posts="1" size="1" who="Avinash Gowda" />
<person posts="1" size="1" who="(rodrigo)" />
<person posts="1" size="1" who="James Leone" />
<person posts="1" size="1" who="grace baldonasa" />
<person posts="1" size="1" who="(nomail)" />

</stats>

<section
  title="New Module Code Preventing Module Unloading"
  subject="[PATCH] In-kernel module loader 1/7"
  archive=""
  posts="38"
  startdate="17 Sep 2002 18:05:18 -0800"
  enddate="03 Oct 2002 16:10:28 -0800"
>
<topic>Hot-Plugging</topic>
<notopic>Real-Time</notopic>

<p>Rusty Russell announced that he had rewritten his in-kernel module loader
code to be much less invasive than earlier versions. He said it still needed
work, but was basically functional, and would not interfere with preemption
or CPU hotplugging. However, Roman Zippel felt that Rusty's solution added a
lot of complexity in order to solve a relatively simple problem. He suggested
moving a large part of the code into user-space, and added:</p>

<quote who="Roman Zippel">

<p>I can only refer to my own patch again, which has most of the basic things
needed to sanely get out of this mess:</p>

<p>

<ol>

<li>Allow module exit to fail. This gives modules far more control over
module management and the generic module code can be simplified.</li>

<li>The new module layout simplifies module loading, much more than
relocating isn't necessary, but keeps backward compability as long as
necessary. This means new modules can be loaded with old modutils and
modules using the old interface can be kept working for a while.</li>

</ol>

</p>

</quote>

<p>Rusty argued that his own implementation was simple and beautiful, and
make the kernel smaller than before. He said a user-space solution would be
much more complex. Roman replied, <quote who="Roman Zippel">Compared to the
complexity of the current insmod I can I agree. On the other hand with my
module layout, I could load a module with ld and a few lines of shell script
(only the system calls are a bit tricky).</quote> Rusty said, <quote who="Rusty
Russell">Do that on sparc64, x86_64 or ppc64 and I'll be really impressed.
And of course, good luck fitting libbfd into busybox!</quote></p>

<p>Part of Rusty's solution was to simplify things by making modules impossible
to unload, while Roman felt that all modules should be unloadable, and
should include API to report on whether they were free to be unloaded at a
given time. But Greg KH replied, <quote who="Greg KH">And with a LSM module,
how can it answer that?  There's no way, unless we count every time someone
calls into our module.  And if you do that, no one will even want to use
your module, given the number of hooks, and the paths those hooks are on
(the speed hit would be horrible.)  I'm with Rusty, just don't let people
unload modules, unless you are running a development kernel, and "obviously"
know what you are doing.</quote> But Alan Cox replied, <quote who="Alan Cox">So
the LSM module always says no. Don't make other modules suffer.</quote></p>

<p>Roman and Rusty went back and forth on the whole issue for awhile, but Rusty
had to go get married, and that was that.</p>

</section>

<section
  title="New State Tracing System For The Kernel, Similar To LTT"
  subject="Release of LKST 1.3"
  archive=""
  posts="5"
  startdate="18 Sep 2002 04:20:55 -0800"
  enddate="27 Sep 2002 07:48:19 -0800"
>
<topic>Ottawa Linux Symposium</topic>
<topic>SMP</topic>

<mention>Richard Moore</mention>
<mention>Robert Schwebel</mention>

<p>Yumiko Sugita announced:</p>

<quote who="Yumiko Sugita">

<p>I'd like to announce publication of Linux Kernel State Tracer (LKST) 1.3,
which is a tracer for Linux kernel.</p>

<p>LKST's main purpose is debugging, fault analysis and performance analysis
of enterprise systems.
For the purpose, LKST has these features,</p>

<p>

<ol>

<li>

<p>It is possible to change dynamically which events are recorded.</p>

<p>Users can obtain information about the events which they concern
only interesting events.</p>

<p>And it reduces the overhead of components which is not related
with a fault.</p>

</li>

<li>

<p>It is possible to change each function invoked by each events.  A default
function invoked by events is just recording occuring of the events.</p>

<p>But, if it is necessary, this function can be changed to another
function.</p>

<p>And LKST supports installing the function by using a kernel module LKST also
supports a maskset, which controls what kind of events should be recorded,
can be changed dynamically. For example, LKST usually traces a few events
for good performance, and when the kernel be in a particular status, LKST
can change a maskset to get more detail information.</p>

</li>

<li>It is possible to create new buffers and change to one of them.
By changing to other buffer, Users can leave the information which they
want.</li>

</ol>

</p>

<p>LKST binaries, source code and documents are available in the following
site,</p>

<p>        <a href="https://sourceforge.net/projects/lkst/">https://sourceforge.net/projects/lkst/</a><br />
        <a href="http://sourceforge.jp/projects/lkst/">http://sourceforge.jp/projects/lkst/</a><br />
        <a href="http://oss.hitachi.co.jp/sdl/english/lkst.html">http://oss.hitachi.co.jp/sdl/english/lkst.html</a> (now updating)</p>

<p>   We prepared a mailing list written below in order to let users know
update of LKST.</p>

<p> lkst-users@lists.sourceforge.net<br />
 lkst-users@lists.sourceforge.jp</p>

<p> To subscribe, please refer following URL,</p>

<p> <a href="http://lists.sourceforge.net/lists/listinfo/lkst-users">http://lists.sourceforge.net/lists/listinfo/lkst-users</a><br />
 <a href="http://lists.sourceforge.jp/mailman/listinfo/lkst-users">http://lists.sourceforge.jp/mailman/listinfo/lkst-users</a></p>

<p>And if you have any comments, please send to the above list, or to another
mailing list written below.</p>

<p> lkst-develop@lists.sourceforge.net<br />
 lkst-develop@lists.sourceforge.jp</p>

</quote>

<p>Robert Schwebel asked what the difference was between this project and the <a
href="">Linux Trace Toolkit</a>. Yumiko replied:</p>

<quote who="Yumiko Sugita">

<p>Let me first explain the background of our development work.</p>

<p>We began development of the Linux Kernel State Tracer (LKST)
in response to a domestic need to improve Reliability, Availability,
and Serviceability (RAS) with respect to enterprise systems.
The following requirements were applied to LKST:</p>

<p>

<ul>

<li>Capable of handling a variety of information about system errors.</li>
<li>Little trace overhead (or To control trace overhead)</li>
<li>Short development time</li>

</ul>

</p>

<p>As we had to achieve a short development time, we elected to
develop LKST using our own methodology (based on know-how of
tracer development that we carried out for other OS's) different
from other known tools such as LTT.<br />
# This is not to say that we developed all functions on our own.<br />
#LKST at present connects with Kernel Hooks (GKHI) and LKCD.</p>

<p>Consequently, LKST, which is oriented to enterprise systems,
has the following features different from those of LTT.<br />
# These LKST features are also being enhanced at this time.</p>

<p>

<ol>

<li>Little overhead and good scalability when tracing on a large-scale
SMP system

<ul>

<li>To make lock mechanism overhead as little as possible, we
     designed that the buffers are not shared among CPUs.</li>

</ul>

</li>

<li>Easy to extend/expand the function (User-based extendibility)

<ul>

<li>Without recompiling kernel, user can change/add/modify the kind
    of events and information to be recorded at anytime.
     For example, LKST usually traces very few events for the purpose
   of good performance.  Once the kernel get into the particular status
   that user specified, LKST will trace and record more detail information.</li>

</ul>

</li>

<li>Preservation of trace information

<ul>

<li>Recovery of trace information collected at the time of a system crash
    in connection with LKCD.</li>

<li>Saving of specific event information during tracing.
     For example, switching to another buffer after the occurrence of
    a specific event enables the information on that event to be left
    in the previous buffer.</li>

</ul>

</li>

<li>Collection of even more kernel event information

<ul>

<li>Information on more than 50 kernel events can be collected for
    kernel debugging.</li>

</ul>

</li>

</ol>

</p>

<p> The demand for RAS functions in Linux should grow in the years to come.
It is our hope that LKST becomes one means of implementing such functions.</p>

</quote>

<p>Karim Yaghmour had some comments. To the locking issues of item 1, he
said, <quote who="Karim Yaghmour">Clearly this is not a problem for LTT
since we don't use any form of locking whatsoever anymore. IBM's work on
the lockless scheme has solved this problem and their current work on the
per-CPU buffering solves the rest of the issue.</quote> To the usability issues
of item 2, he said that the same features were available with LTT. To item 3, he
said:</p>

<quote who="Karim Yaghmour">

<p>Connection with LKCD is really not a problem, but this points to the main
purpose of the tool, which in the case of LKCD is kernel debugging. LTT isn't
aimed as a kernel debugger, so although LKCD is on our to-do list, it's
certainly not our priority.</p>

<p>As for handling multiple output streams (which LKCD can be one of them), we
already have very detailed plans on how LTT is going to integrate this (as I've
mentioned a number of times before on this list). However, before we go down
this road we need to make sure that the core tracing functionality is
lightweight and fits the general requirements set for kernel code. Once this
core lighweight functionality is there, we can build a rich and solid feature
set around it.</p>

</quote>

<p>To item 4, Karim agreed that this did differentiate the two project. He said:</p>

<quote who="Karim Yaghmour">

<p>this is where LTT and LKST cannot be compared. If LKST is
a kernel debugging tool, as it has always been advertised, then any comparison
of LKST should be made with the other tracing tools which are used for
kernel debugging, such as the ones mentioned by Ingo and Andi earlier on
this list.</p>

<p>LTT was built from the ground up to help users understand the dynamic
behavior of the system. As such, it cannot be compared to any kernel
debugging tool since it isn't one.</p>

</quote>

<p>Finally, Karim remarked, <quote who="Karim Yaghmour">There
was a RAS BoF at the OLS this year where tracing was intensively
discussed.  All the attendees agreed to unify their efforts around
LTT. At this meeting, Richard Moore of IBM presented a tracing to-do list (<a
href="http://opersys.com/LTT/ltt-to-do-list.txt">http://opersys.com/LTT/ltt-to-do-list.txt</a>)
which we are using a basic check list for our ongoing work. Instead of
implementing yet another tracing system, I think that the LKST team would
benefit much from contributing to LTT, which has already a proven track record
and has been adopted by the community as much as the industry.</quote></p>

<p>Several days later, Yumiko replied, <quote who="Yumiko Sugita">After
future, we'll join community actively. We'll use LTT and want to concern LTT,
so we'll join the discussion of you and other LTT developers about Linux RAS.
We hope to co-operate you and other developers about Linux RAS.</quote></p>

</section>

<section
  title="Native POSIX Thread Library 0.1 Achieves 100,000 Concurrent Threads"
  subject="[ANNOUNCE] Native POSIX Thread Library 0.1"
  archive=""
  posts="127"
  startdate="19 Sep 2002 16:41:37 -0800"
  enddate="30 Sep 2002 06:54:45 -0800"
>
<topic>POSIX</topic>

<p>Ulrich Drepper announced:</p>

<quote who="Ulrich Drepper">

<p>We are pleased to announce the first publically available source
release of a new POSIX thread library for Linux.  As part of the
continuous effort to improve Linux's capabilities as a client, server,
and computing platform Red Hat sponsored the development of this
completely new implementation of a POSIX thread library, called Native
POSIX Thread Library, NPTL.</p>

<p>Unless major flaws in the design are found this code is intended to
become the standard POSIX thread library on Linux system and it will
be included in the GNU C library distribution.</p>

<p>The work visible here is the result of close collaboration of kernel
and runtime developers.  The collaboration proceeded by developing the
kernel changes while writing the appropriate parts of the thread
library.  Whenever something couldn't be implemented optimally some
interface was changed to eliminate the issue.  The result is this
thread library which is, unlike previous attempts, a very thin layer
on top of the kernel.  This helps to achieve a maximum of performance
for a minimal price.</p>

<p>A white paper (still in its draft stage, though) describing the design
is available at</p>

<p>  <a href="http://people.redhat.com/drepper/nptl-design.pdf">http://people.redhat.com/drepper/nptl-design.pdf</a></p>

<p>It provides a larger number of details on the design and insight into
the design process.  At this point we want to repeat only a few
important points:</p>

<p>

<ul>

<li>

<p>the new library is based on an 1-on-1 model.  Earlier design
  documents stated that an M-on-N implementation was necessary to
  support a scalable thread library.  This was especially true for
  the IA-32 and x86-64 platforms since the ABI with respect to threads
  forces the use of segment registers and the only way to use those
  registers was with the Local Descriptor Table (LDT) data structure
  of the processor.</p>

<p>  The kernel limitations the earlier designs were based on have been
  eliminated as part of this project, opening the road to a 1-on-1
  implementation which has many advantages such as</p>

<p>

<ul>

<li>less complex implementation;</li>
<li>avoidance of two-level scheduling, enabling the kernel to make all
    scheduling decisions;</li>
<li>direct interaction between kernel and user-level code (e.g., when
    delivering signals);</li>
<li>and more and more.</li>

</ul>

</p>

<p>  It is not generally accepted that a 1-on-1 model is superior but our
  tests showed the viability of this approach and by comparing it with
  the overhead added by existing M-on-N implementations we became
  convinced that 1-on-1 is the right approach.</p>

<p>  Initial confirmations were test runs with huge numbers of threads.
  Even on IA-32 with its limited address space and memory handling
  running 100,000 concurrent threads was no problem at all, creating
  and destroying the threads did not take more than two seconds.  This
  all was made possible by the kernel work performed as part of this
  project.</p>

<p>  The only limiting factors on the number of threads today are
  resource availability (RAM and processor resources) and architecture
  limitations.  Since every thread needs at least a stack and data
  structures describing the thread the number is capped.  On 64-bit
  machines the architecture does not add any limitations anymore (at
  least for the moment) and with enough resources the number of
  threads can be grown arbitrarily.</p>

<p>  This does not mean that using hundreds of thousands of threads is a
  desirable design for the majority of applications.  At least not
  unless the number of processors matches the number of threads.  But
  it is important to note that the design on the library does not have
  a fixed limit.</p>

<p>  The kernel work to optimize for a high thread count is still
  ongoing.  Some places in which the kernel iterates over process and
  threads remain and other places need to be cleaned up.  But it has
  already been shown that given sufficient resources and a reasonable
  architecture an order of magnitude more threads can be created than
  in our tests on IA-32.</p>

</li>

<li>

<p>The futex system call is used extensively in all synchronization
  primitives and other places which need some kind of
  synchronization.  The futex mechanism is generic enough to support
  the standard POSIX synchronization mechanisms with very little
  effort.</p>

<p>  The fact that this is possible is also essential for the selection
  of the 1-on-1 model since only with the kernel seeing all the
  waiters and knowing that they are blocked for synchronization
  purposes will allow the scheduler to make decisions as good as a
  thread library would be able to in an M-on-N model implementation.</p>

<p>  Futexes also allow the implementation of inter-process
  synchronization primitives, a sorely missed feature in the old
  LinuxThreads implementation (Hi jbj!).</p>

</li>

<li>

<p>Substantial effort went into making the thread creation and
  destruction as fast as possible.  Extensions to the clone(2) system
  call were introduced to eliminate the need for a helper thread in
  either creation or destruction.  The exit process in the kernel was
  optimized (previously not a high priority).  The library itself
  optimizes the memory allocation so that in many cases the creation
  of a new thread can be achieved with one single system call.</p>

<p>  On an old IA-32 dual 450MHz PII Xeon system 100,000 threads can be
  created and destroyed in 2.3 secs (with up to 50 threads running at
  any one time).</p>

</li>

<li>Programs indirectly linked against the thread library had problems
  with the old implementation because of the way symbols are looked
  up. This should not be a problem anymore.</li>

</ul>

</p>

<p>The thread library is designed to be binary compatible with the old
LinuxThreads implementation.  This compatibility obviously has some
limitations.  In places where the LinuxThreads implementation diverged
from the POSIX standard incompatibilities exist.  Users of the old
library have been warned from day one that this day will come and code
which added work-arounds for the POSIX non-compliance better be
prepared to remove that code.  The visible changes of the library
include:</p>

<p>

<ul>

<li>

<p>The signal handling changes from per-thread signal handling to the
  POSIX process signal handling.  This change will require changes in
  programs which exploit the non-conformance of the old implementation.</p>

<p>  One consequence of this is that SIGSTOP works on the process.  Job
control
  in the shell and stopping the whole process in a debugger work now.</p>

</li>

<li>getpid() now returns the same value in all threads</li>

<li>the exec functions are implemented correctly: the exec'ed process gets
  the PID of the process.  The parent of the multi-threaded application
  is only notified when the exec'ed process terminates.</li>

<li>thread handlers registered with pthread_atfork are not anymore run
  if vfork is used.  This isn't required by the standard (which does
  not define vfork) and all which is allowed in the child is calling
  exit() or an exec function.  A user of vfork better knows what s/he
  does.</li>

<li>libpthread should now be much more resistant to linking problems: even
  if the application doesn't list libpthread as a direct dependency
  functions which are extended by libpthread should work correctly.</li>

<li>no manager thread</li>

<li>inter-process mutex, read-write lock, conditional variable, and barrier
  implementations are available</li>

<li>the pthread_kill_other_threads_np function is not available.  It was
  needed to work around the broken signal handling.  If somebody shows
  some existing code which makes legitimate use of this function we
  might add it back.</li>

<li>requires a kernel with the threading capabilities of Linux 2.5.36.</li>

</ul>

</p>

<p>The sources for the new library are for the time being available at</p>

<p>  <a href="ftp://people.redhat.com/drepper/nptl/">ftp://people.redhat.com/drepper/nptl/</a></p>

<p>The current sources contain support only for IA-32 but this will
change very quickly.  The thread library is built as part of glibc so
the complete set of glibc sources is available as well.  The current
snapshot for glibc 2.3 (or glibc 2.3 when released) is necessary.  You
can find it at</p>

<p><a href="ftp://sources.redhat.com/pub/glibc/snapshots">ftp://sources.redhat.com/pub/glibc/snapshots</a></p>

<p>Final releases will be available on ftp.gnu.org and its mirrors.</p>

<p>Building glibc with the new thread library is demanding on the
compilation environment.</p>

<p>

<ul>

<li>

<p>The 2.5.36 kernel or above must be installed and used.  To compile
  glibc it is necessary to create the symbolic link</p>

<p>     /lib/modules/$(uname -r)/build</p>

<p>  to point to the build directory.</p>

</li>

<li>

<p>The general compiler requirement for glibc is at least gcc 3.2.  For
  the new thread code it is even necessary to have working support for
  the __thread keyword.</p>

<p>  Similarly, binutils with functioning TLS support are needed.</p>

<p>  The (Null) beta release of the upcoming Red Hat Linux product is
  known to have the necessary tools available after updating from the
  latest binaries on the FTP site.  This is no ploy to force everybody
  to use Red Hat Linux, it's just the only environment known to date
  which works.  If alternatives are known they can be announced on the
  mailing list.</p>

</li>

<li>

<p>To configure glibc it is necessary to run in the build directory
  (which always should be separate from the source directory):</p>

<p>   /path/to/glibc/configure --prefix=/usr --enable-add-ons=linuxthreads2 \
      --enable-kernel=current --with-tls</p>

<p>  The --enable-kernel parameter requires that the 2.5.36+ kernel is
  running.  It is not strictly necessary but helps to avoid mistakes.
  It might also be a good idea to add --disable-profile, just to speed
  up the compilation.</p>

<p>  When configured as above the library must not be installed since it
  would overwrite the system's library.  If you want to install the
  resulting library choose a different --prefix parameter value.
  Otherwise the new code can be used without installation.  Running
  existing binaries is possible with</p>

<p>   elf/ld.so --library-path .:linuxthreads2:dlfcn:math &lt;binary&gt; &lt;args&gt;...</p>

<p>  Alternatively the binary could be build to find the dynamic linker
  and DSO by itself.  This is a much easier way to debug the code
  since gdb can start the binary.  Compiling is a bit more complicated
  in this case:</p>

<p>   gcc -nostdlib -nostartfiles -o &lt;OUTPUT&gt; csu/crt1.o csu/crti.o \
     $(gcc --print-file-name=crtbegin.o) &lt;INPUTS&gt; \
     -Wl,-rpath,$PWD,-dynamic-linker,$PWD/ld-linux.so.2 \
     linuxthreads2/libpthread.so.0 ./libc.so.6 ./libc_nonshared.a \
     elf/ld-linux.so.2 $(gcc --print-file-name=crtend.o) csu/crtn.o</p>

<p>  This command assumes that it is run in the build directory.  Correct
  the paths if necessary.  The compilation will use the system's
  headers which is a good test but might lead to strange effects if
  there are compatibility bugs left.</p>

</li>

</ul>

</p>

<p>Once all these prerequisites are met compiling glibc should be easy.
But there are some tests which will flunk.  For good reasons we aren't
officially releasing the code yet.  The bugs are either in the TLS
code which is not enabled in the standard glibc build, or obviously in
the thread library itself.  To run the tests for the thread library
run</p>

<p>  make subdirs=linuxthreads2 check</p>

<p>One word on the name 'linuxthreads2' of the directory.  This is only a
convenience thing so that the glibc configure scripts don't complain
about missing thread support.  It will we changed to reflect the real
name of the library ASAP.</p>

<p>What can you expect?</p>

<p>This is a very early version of the code so the obvious answer is:
some problems.  The test suite for the new thread code should pass but
beside that and some performance measurement tool we haven't run much
code.  Ideally we would get people to write many more of these small
test programs which are included in the sources.  Compiling big
programs would mean not being able to locate problems easy.  But I
certainly won't object to people running and debugging bigger
applications.  Please report successes and failures to the mailing
list.</p>

<p>People who are interested in contributing must be aware that for any
non-trivial change we need an assignment of the code to the FSF.  The
process is unfortunately necessary in today's world.</p>

<p>People who are contaminated by having worked on proprietary thread
library implementation should not participate in discussions on the
mailing list unless they willfully disclose the information.  Every
bit of information is publically available from the mailing list
archive.</p>

<p>Which brings us to the final point: the mailing list for *all*
discussions related to this thread library implementation is</p>

<p>  phil-list@redhat.com</p>

<p>Go to</p>

<p><a
href="https://listman.redhat.com/mailman/listinfo/phil-list">https://listman.redhat.com/mailman/listinfo/phil-list</a></p>

<p>to subscribe, unsubscribe, or review the archive.</p>

</quote>

<p>There was some confusion over whether the new code really did manage to
achieve 100,000 concurrent threads. People couldn't believe their eyes. Even
Linus Torvalds said at one point:</p>

<quote who="Linus Torvalds">

<p>You didn't read the post carefully.</p>

<p>They started and waited for 100,000 threads.</p>

<p>They did not have them all running at the same time. I think the
original post said something like "up to 50 at a time".</p>

<p>Basically, the benchmark was how _fast_ thread creation is, not now many
you can run at the same time. 100k threads at once is crazy, but you can
do it now on 64-bit architectures if you really want to.</p>

</quote>

<p>But no, as Ingo Molnar corrected, the code really did manage to get
100,000 threads running all at once. He explained:</p>

<quote who="Ingo Molnar">

<p>on the dual-P4 testbox i have started and stopped 100,000
*parallel* threads in less than 2 seconds. Ie. starting up 100,000 threads
without any throttling, waiting for all of them to start up, then killing
them all. It needs roughly 1 GB of RAM to do this test on the default x86
kernel, it need roughly 500 MB of RAM to do this test with the IRQ-stacks
patch applied.</p>

<p>with 2.5.31 this test would have taken roughly 15 minutes, on the same
box, provided the NMI watchdog is turned off.</p>

<p>with 100,000 threads started up and idling silently the system is
completely usable - all the critical for_each_task loops have been fixed.</p>

</quote>

</section>

<section
  title="Linux 2.5.38 Released; Bug Prevents Compilation"
  subject="Linux 2.5.38"
  archive=""
  posts="32"
  startdate="21 Sep 2002 20:34:18 -0800"
  enddate="25 Sep 2002 16:43:26 -0800"
>
<topic>FS: JFS</topic>
<topic>PCI</topic>
<topic>Power Management: ACPI</topic>

<p>Linus Torvalds announced <a
href="http://www.kernel.org/pub/linux/kernel/v2.5/ChangeLog-2.5.38">2.5.38</a>
and said:</p>

<quote who="Linus Torvalds">

<p>Trying to be a bit more timely about releases, especially since some
people couldn't use 2.5.37 due to the X lockup that should hopefully be fixed
(no idea _why_ that old bug only started to matter recently, the bug itself
was several months old).</p>

<p>ia64 updates, a vm86 mode bug that bit XFree86 startup (and must have
bitten dosemu too, but maybe people aren't using DOS much any more), PCI
driver attach fixes, JFS, ACPI, net drivers etc.</p>

</quote>

<p>Various folks posted small problems with this version, and one small-but-big
problem that broke compilation on all platforms. Various fixes surfaced after a
day or two.</p>

</section>

<section
  title="Adeos Nanokernel Updated"
  subject="[PATCH] Adeos nanokernel for 2.5.38 1/2: no-arch code"
  archive=""
  posts="10"
  startdate="22 Sep 2002 18:58:57 -0800"
  enddate="25 Sep 2002 00:17:00 -0800"
>
<topic>Microkernels: Adeos</topic>
<topic>Real-Time: RTAI</topic>
<topic>Real-Time: RTLinux</topic>
<topic>SMP</topic>
<topic>Virtual Memory</topic>

<p>Karim Yaghmour posted a patch to add the Adeos
nanokernel to the Linux source tree. He referred to an <a
href="http://marc.theaimsgroup.com/?l=linux-kernel&amp;m=102309348817485&amp;w=2">earlier
post</a> for explanation. Pavel Machek asked, <quote who="Pavel Machek">Maybe
adding Docs/adeos.txt is good idea... (sorry can't access web right now) --
so this is aimed at being free rtlinux replacement?</quote> Karim promised
to get Docs/adeos.txt going, and added:</p>

<quote who="Karim Yaghmour">

<p>I'm not sure "replacement" is the appropriate description for this.
The scheme used by rtlinux and rtai is a master-slave scheme where Linux is a
slave to the rt executive. Adeos makes the entire scheme obsolete by making
all the OSes running on the same hardware clients of the same nanokernel,
regardless of whether the client OSes provide hard RT or not. None of these
OSes need to have a "other OS" task, as rtlinux and rtai clearly do. Rather,
when an OS is done using the machine, it tells Adeos that it's done and Adeos
returns control to whichever other OS is next in the interrupt pipeline.</p>

<p>To be honest, nothing in Adeos is "new". Adeos is implemented on classic
early '90s nanokernel research. I've listed a number of nanokernel papers
in the paper I wrote on Adeos. A complete list of nanokernel papers would
probably have hundreds of entries.  Some of these nanokernels even had OS
schedulers (exokernel for instance). All Adeos implements is a scheme for
sharing the interrupts among the various OSes using an interrupt pipeline.</p>

</quote>

<p>Jacob Gorm Hansen asked, <quote who="Jacob Gorm Hansen">are you planning
to add spaces &amp; portals, like in Space or Pebble?</quote> And Karim
explained:</p>

<quote who="Karim Yaghmour">

<p>I'm not sure whether what we plan to offer actually fits Space's definition
of spaces, but domains already exist and portals should be trivial to
implement over what we already have. For details on what plan to offer in
terms of spaces, take a look at the paper I wrote describing how to implement
Linux SMP clusters:</p>

<p><a
href="http://opersys.com/ftp/pub/Adeos/practical-smp-clusters.ps">http://opersys.com/ftp/pub/Adeos/practical-smp-clusters.ps</a></p>

<p>Basically, Adeos would hand over RAM regions according to each OS
instance's requests. In such a case, each kernel would have its own virtual
memory and communication would be possible using "bridges", shared physical
RAM regions. Many OSes can coexist in the same virtual address space, but
the mechanisms for managing the virtual address space are not up to Adeos.</p>

</quote>

<p>Close by, Pavel continued his inquiry, asking, <quote who="Pavel
Machek">Are you actually able to use Adeos for something reasonable? You
can't run two copies of linux, because they would fight over memory; right?
Do you have something that can run alongside linux?</quote> As far as
running two concurrent invocations of Linux, Karim agreed that currently
this was impossible. But he added, <quote who="Karim Yaghmour">I've already
detailed how to do this in a paper I wrote last july on how to obtain Linux
SMP clusters with as few modifications to the kernel as possible.</quote> He
gave <a href="http://opersys.com/ftp/pub/Adeos/practical-smp-clusters.ps">the
same link</a> as above. To the question of whether there was anything that
could run alongside Linux, he went on:</p>

<quote who="Karim Yaghmour">

<p>Certainly. According to some reports it's already used in some commercial
systems and, as today's RTAI announcement reads, it will be the basis for
the next release of RTAI.</p>

<p>What we need now is ports to other architectures than the i386. This
should be fairly simple for anyone familiar enough with the Linux interrupt
layer for any other arch.</p>

</quote>

<p>Pavel remarked, <quote who="Pavel Machek">Good luck pushing it through
linus.</quote></p>

</section>

<section
  title="Status Of 2.5 IDE"
  subject="2.5.38: modular IDE broken"
  archive=""
  posts="7"
  startdate="23 Sep 2002 13:28:15 -0800"
  enddate="27 Sep 2002 14:41:36 -0800"
>
<topic>Disks: IDE</topic>

<p>Bob Tracy reported some breakage with IDE when compiled as a module,
and in the course of discussion Alan Cox replied, <quote who="Alan Cox">Let
me give a simple clear explanation here. I don't give a flying ***k about
modular IDE until the IDE works. Cleaning up the modular IDE after it all
works is relatively easy and gets easier the more IDE is cleaned up. Until
then its not even on the radar unless someone else wants to do all the
work for 2.4/2.5 and verify/test them.</quote> Bob said, <quote who="Bob
Tracy">Understood.  My position is simply that I noted something broken,
and I reported it during the development cycle.  Would you prefer that I had
waited until after 2.5.X became 2.6?</quote> Alan agreed that it was better
to report such things than not, but added, <quote who="Alan Cox">its just
I've had lots of equally helpful reports.</quote></p>

</section>

<section
  title="AccessFS 0.5 Ported To Linux Security Module"
  subject="[PATCH] accessfs v0.5 ported to LSM - 1/2"
  archive=""
  posts="9"
  startdate="24 Sep 2002 07:39:43 -0800"
  enddate="30 Sep 2002 05:14:01 -0800"
>
<topic>FS: accessfs</topic>
<topic>Networking</topic>

<mention>Greg KH</mention>

<p>Olaf Dietsche announced:</p>

<quote who="Olaf Dietsche">

<p>Accessfs is a new file system to control access to system resources.
For further information see the help text.</p>

<p>Changes:</p>

<p>

<ul>

<li>ported to LSM</li>
<li>support capabilities</li>
<li>merged ipv4/ipv6 into ip</li>

</ul>

</p>

<p>This part (1/2) adds a hook to LSM to enable control based on the port
number.</p>

<p>The patch is attached below. It is also available at:
&lt;<a href="http://home.t-online.de/home/olaf.dietsche/linux/accessfs-2.5.34-0.5-1_2.patch.gz">http://home.t-online.de/home/olaf.dietsche/linux/accessfs-2.5.34-0.5-1_2.patch.gz</a>&gt;</p>

<p>It applies to 2.5.3[5-8] as well.</p>

<p>I did minimal testing using uml 0.58-2.5.34.</p>

</quote>

<p>Greg KH was very happy with this, and suggested providing a
patch against the current Linux Security Module code snapshot at <a
href="http://lsm.immunix.org">lsm.immunix.org</a>, in which case Greg said
he'd be happy to accept the patch into LSM. Olaf was happy to oblige, and
soon posted an updated patch; and some folks discussed the implementation.</p>

</section>

<section
  title="MMU-Less Patches Updated For 2.5.38"
  subject="[PATCH]: 2.5.38uc1 (MMU-less support)"
  archive=""
  posts="12"
  startdate="24 Sep 2002 19:48:51 -0800"
  enddate="26 Sep 2002 20:09:27 -0800"
>
<topic>Framebuffer</topic>
<topic>Networking</topic>

<p>Greg Ungerer announced:</p>

<quote who="Greg Ungerer">

<p>A new iteration of the uClinux MMU-less support patches.
The all-in-one patch is at:</p>

<p><a href="http://www.uclinux.org/pub/uClinux/uClinux-2.5.x/linux-2.5.38uc1.patch.gz">http://www.uclinux.org/pub/uClinux/uClinux-2.5.x/linux-2.5.38uc1.patch.gz</a></p>

<p>And new this time around I have broken this up into a number
of smaller self-contained patches. Each is a nice logical unit
(like a driver, or framebuffer, etc). This should greatly
simplify any merging into the mainline code :-)</p>

<p>So the here they are:</p>

<p>. Motorola 5272 ethernet driverM<br />
<a href="http://www.uclinux.org/pub/uClinux/uClinux-2.5.x/linux-2.5.38uc1-fec.patch.gz">http://www.uclinux.org/pub/uClinux/uClinux-2.5.x/linux-2.5.38uc1-fec.patch.gz</a></p>

<p>. Motorola 68328 and ColdFire serial drivers<br />
<a href="http://www.uclinux.org/pub/uClinux/uClinux-2.5.x/linux-2.5.38uc1-serial.patch.gz">http://www.uclinux.org/pub/uClinux/uClinux-2.5.x/linux-2.5.38uc1-serial.patch.gz</a></p>

<p>. MTD driver patches for uClinux supported platforms<br />
<a href="http://www.uclinux.org/pub/uClinux/uClinux-2.5.x/linux-2.5.38uc1-mtd.patch.gz">http://www.uclinux.org/pub/uClinux/uClinux-2.5.x/linux-2.5.38uc1-mtd.patch.gz</a></p>

<p>. Motorola 68328 framebuffer<br />
<a href="http://www.uclinux.org/pub/uClinux/uClinux-2.5.x/linux-2.5.38uc1-fb.patch.gz">http://www.uclinux.org/pub/uClinux/uClinux-2.5.x/linux-2.5.38uc1-fb.patch.gz</a></p>

<p>. uClinux FLAT file format exe loader<br />
<a href="http://www.uclinux.org/pub/uClinux/uClinux-2.5.x/linux-2.5.38uc1-binflat.patch.gz">http://www.uclinux.org/pub/uClinux/uClinux-2.5.x/linux-2.5.38uc1-binflat.patch.gz</a></p>

<p>. MMU-less support<br />
<a href="http://www.uclinux.org/pub/uClinux/uClinux-2.5.x/linux-2.5.38uc1-mmnommu.patch.gz">http://www.uclinux.org/pub/uClinux/uClinux-2.5.x/linux-2.5.38uc1-mmnommu.patch.gz</a> </p>

<p>. Motorola embedded m68k/ColdFire architecture support<br />
  (support for 68328, 68360, 5206, 5206e, 5249, 5272, 5307, 5407)<br />
<a href="http://www.uclinux.org/pub/uClinux/uClinux-2.5.x/linux-2.5.38uc1-m68knommu.patch.gz">http://www.uclinux.org/pub/uClinux/uClinux-2.5.x/linux-2.5.38uc1-m68knommu.patch.gz</a></p>

</quote>

</section>

<section
  title="USAGI Project Bringing IPv6 Closer To Spec"
  subject="[PATCH] IPv6: Don't Process ND Messages with Invalid Options"
  archive=""
  posts="2"
  startdate="24 Sep 2002 20:30:31 -0800"
  enddate="26 Sep 2002 13:31:31 -0800"
>
<topic>Networking</topic>

<p>YOSHIFUJI Hideaki posted a patch and explained:</p>

<quote who="YOSHIFUJI Hideaki">

<p>My name is YOSHIFUJI Hideaki.  I'm from USAGI Project.
Our project is trying to improve IPv6 implementation in Linux, and
we'd like to continue contributing our efforts.  Please see &lt;<a
href="http://www.linux-ipv6.org">http://www.linux-ipv6.org</a>&gt; for
further information.</p>

<p>Well...</p>

<p>Linux happened to process invalid ND messages with invalid options
such as</p>

<p>

<ul>

<li>length of ND options is 0</li>
<li>length of ND options is not enough</li>

</ul>

</p>

<p>Specification says that such messages must be silently discarded.
This patch parses/checks ND options before it changes state of neighbour /
address etc. and ignores such messages.</p>

<p>Following patch is against linux-2.4.19.</p>

</quote>

<p>David S. Miller applied the patch, thanked YOSHIFUJI, and remarked,
<quote who="David S. Miller">Let us hope more patches like this one are
coming :-)</quote></p>

</section>

<section
  title="kksymoops Update For 2.5"
  subject="[ANNOUNCE] [patch] kksymoops, in-kernel symbolic oopser, 2.5.38-B0"
  archive=""
  posts="23"
  startdate="25 Sep 2002 01:02:39 -0800"
  enddate="27 Sep 2002 15:58:41 -0800"
>

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

<p>Ingo Molnar announced:</p>

<quote who="Ingo Molnar">

<p>the attached patch is the latest version of 'kksymoops' for the 2.5
kernel. Kksymoops is an in-kernel symbol resolver, which enables nifty
things like:</p>

<p>

<ul>

<li>in-kernel symbolic oopses, symbolic show_stack() and symbolic
   show_trace(). Finally correct symbolic oopses over serial consoles or
   netdump.</li>

<li>module symbols are correctly decoded as well. Ie. all the userspace
   oops decoding mismatches are solved, which can arise if a kernel
   crashes and another kernel (with different module symbols) is booted.
   How do you find out the symbols that a particular crashed kernel had?</li>

<li>list of modules are printed upon oopsing - this clearly puts every
   crash into perspective - exactly which modules were loaded ...</li>

</ul>

</p>

</quote>

<p>He went on:</p>

<quote who="Ingo Molnar">

<p>i believe it's all for the better, much of the above featureset is also
based on distributors' daily experience of how users report crashes and
how it can be made sense of post-mortem. Tester feedback is often a scarce
resource for distributors, so improving the quality of individual reports
is of high importance. Even here on lkml the quality of oops reporting is
often surprisingly low, especially taking the many years of education into
account.</p>

<p>the cost of the feature is an in-kernel copy of the symbol table - most
testers will not care, and it's default-disabled in the .config. This patch
has proven to be very useful in my daily kernel development activities,
hopefully others will find this just as useful.</p>

<p>I've tested the patch on x86, building and oopsing works both with
kksymoops enabled and disabled.</p>

<p>The line of credit for kksymoops goes like this: Arjan took Keith's original
kallsyms work and extended it to the area of kernel oopsing and stack trace
printing - this was the 2.4 kksymoops patch. Which i ported to 2.5 and added
some minor fixes, which Kai improved significantly - essencially Kai rewrote
much of the original patch - it's now a nice patch that fits into the 2.5
build system properly.</p>

</quote>

<p>Linus Torvalds had some cosmetic objections to do with output formatting, and
folks went back and forth on that for awhile; and J.A. Magallon suggested the
patch would be great to see in 2.4 as well.</p>

</section>

<section
  title="Linux 2.4.20-pre8 Released; Announcement Policy"
  subject="Linux 2.4.20-pre8"
  archive=""
  posts="4"
  startdate="25 Sep 2002 15:33:21 -0800"
  enddate="27 Sep 2002 18:25:50 -0800"
>

<mention>Axel Siebenwirth</mention>
<mention>Linus Torvalds</mention>

<p>Marcelo Tosatti announced 2.4.20-pre8 but gave only the ChangeLog, no
summary. Axel Siebenwirth asked if Marcelo could give a brief summary of
changes as Linus Torvalds did in his releases; and Christer Nilsson agreed.
Marcelo thanked them for the feedback and replied, <quote who="Marcelo
Tosatti">Indeed I should stop being lazy on that. Will remind myself next
time I release a kernel.</quote></p>

</section>

<section
  title="Benchmark Results For Recent 2.4 Kernels"
  subject="[BENCHMARK] 2.4.20-pre8 contest results"
  archive=""
  posts="1"
  startdate="26 Sep 2002 19:26:45 -0800"
>

<p>Con Kolivas reported:</p>

<quote who="Con Kolivas">

<p>Here are the contest (<a
href="http://contest.kolivas.net">http://contest.kolivas.net</a>) results
for 2.4.20-pre8 compared to previous kernels.</p>

<pre>noload:
Kernel                  Time            CPU             Ratio
2.4.19                  70.42           99%             1.00
2.4.20-pre7             70.37           99%             1.00
2.4.20-pre8             70.47           99%             1.00

process_load:
Kernel                  Time            CPU             Ratio
2.4.19                  85.21           80%             1.21
2.4.20-pre7             86.02           80%             1.22
2.4.20-pre8             86.65           80%             1.23

io_load:
Kernel                  Time            CPU             Ratio
2.4.19                  165.56          45%             2.35
2.4.20-pre7             195.32          38%             2.77
2.4.20-pre8             167.14          45%             2.37

mem_load:
Kernel                  Time            CPU             Ratio
2.4.19                  100.70          76%             1.43
2.4.20-pre7             102.83          75%             1.46
2.4.20-pre8             102.14          76%             1.45</pre>

<p>There's no significant change since 2.4.19 which is what we'd expect.</p>

</quote>

</section>

<section
  title="IPv6 Refinement"
  subject="[PATCH] IPv6: Refine IPv6 Address Validation Timer"
  archive=""
  posts="7"
  startdate="27 Sep 2002 01:12:56 -0800"
  enddate="27 Sep 2002 17:20:01 -0800"
>
<topic>Networking</topic>

<mention>Alexey Kuznetsov</mention>

<p>YOSHIFUJI Hideaki posted a patch against 2.4.19 and explained, <quote
who="YOSHIFUJI Hideaki">Current IPv6 address validation timer is rough and
timing of address validation is not precise.  This patch refines timing of
address validation timer.</quote> David S. Miller and Alexey Kuznetsov had
some slight problems with the implementation, and YOSHIFUJI posted corrections.
Eventually David said, <quote who="David S. Miller">I've applied the patch with
the time_after() debugging check removed to both 2.4.x and 2.5.x</quote></p>

</section>

<section
  title="procps 2.0.8 Released"
  subject="[ANNOUNCE] procps 2.0.8"
  archive=""
  posts="5"
  startdate="27 Sep 2002 08:21:24 -0800"
  enddate="28 Sep 2002 06:44:46 -0800"
>
<topic>Clustering: Beowulf</topic>
<topic>Real-Time</topic>

<mention>Robert Love</mention>
<mention>Andrew Morton</mention>

<p>Rik van Riel announced:</p>

<quote who="Rik van Riel">

<p>Procps is the package containing various system monitoring tools, like
ps, top, vmstat, free, kill, sysctl, uptime and more.  After a long
period of inactivity procps maintenance is active again and suggestions,
bugreports and patches are always welcome on the procps list.</p>

<p>The plan is to release a procps 2.1.0 around the time the 2.6.0 kernel
comes out, with maybe one extra intermediary release between now and  
then.  Various features and code cleanups are planned, the /proc changes
in 2.5 are also sure to keep the procps maintainers busy...</p>

<p>You can download procps 2.0.8 from:</p>

<p>        <a href="http://surriel.com/procps/procps-2.0.8.tar.bz2">http://surriel.com/procps/procps-2.0.8.tar.bz2</a></p>

<p>If you have feedback (or patches) for the procps team, feel free to
mail us at:</p>

<p>        procps-list@redhat.com</p>

<p>NEWS for version 2.0.8 of procps</p>

<p>

<ul>

<li>Integrate bugfixes and enhancements from all the vendor RPMs (Rik van
Riel)</li>
<li>Support new /proc layout, up to 2.5.39 or so. (Andrew Morton)</li>
<li>Scheduler policy display in top and ps (Robert Love)</li>
<li>Lots of compile cleanups and warning fixes (Robert Love)</li>
<li>Support for understanding threads (Robert Love)</li>
<li>Realtime priority and scheduling policy display for ps (Robert Love)</li>
<li>Change meminfo() from an array into an actual struct, remove 60 lines
  of no longer needed code from free.c (Rik van Riel)</li>
<li>Display active and inactive memory statistics from 2.4 and 2.5 kernels,
  in vmstat and top (Rik van Riel)</li>
<li>A bug introduced by locale support was fixed; locales with , as the
  decimal point will work again.</li>
<li>Libproc supports new process-migrating beowulf systems.</li>

</ul>

</p>

</quote>

<p>He replied to himself a few hours later with a warning about a trivial
bug that had crept into the code. The VERSION string had been omitted,
so anyone using the -V option would not see the current version number. He
said he'd release 2.0.9 shortly.</p>

</section>

<section
  title="JFS 1.0.23 Released"
  subject="[ANNOUNCE]  Journaled File System (JFS)  release 1.0.23"
  archive=""
  posts="1"
  startdate="27 Sep 2002 11:06:53 -0800"
>
<topic>FS: JFS</topic>
<topic>FS: NFS</topic>

<p>Steve Best announced:</p>

<quote who="Steve Best">

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

<p>Drop 61 on September 27, 2002 (jfs-2.4-1.0.23.tar.gz
and jfsutils-1.0.23.tar.gz) includes fixes to the file
system and utilities.</p>

<p>Utilities changes</p>

<p>

<ul>

<li>print fsck.jfs start timestamp correctly in fsck.jfs log</li>
<li>allow xchklog to run on a JFS file system with an external journal</li>
<li>initialize program name in logdump properly</li>
<li>code cleanup</li>

</ul>

</p>

<p>File System changes</p>

<p>

<ul>

<li>Detect and fix invalid directory index values<br />
   The directory index values are the unique cookies used to resume
   a readdir at the proper place. These are stored with each entry
   in a directory. fsck.jfs does not currently validate these entries,
   nor even create them when populating the lost+found directory.
   This fix causes readdir to detect the invalid cookies, and generate
   new ones, if possible.</li>
<li>Fix problems with NFS<br />
   Don't complain when read_inode is called with a deleted inode. This
   is normally done by revalidate.
   readdir: Don't hold metadata page while calling filldir(). NFS's
   filldir may call lookup() which could result in a hang.</li>
<li>Fix off-by-one error in dbNextAG<br />
   In certain situations, dbNextAG set db_agpref to db_numag, is
   one higher than the last valid value. This will eventually result
   in a trap.</li>
<li>Avoid parallel allocations within the same allocation group<br />
   When large files are writing in parallel, allocating the space for
   these files within the same allocation group can cause severe
   fragmentation of the files. By keeping track of open, growing files
   within an allocation group, we can force other new allocations into
   a different allocation group to avoid causing fragmentation.</li>
<li>Fix test in lmLogFileSystem</li>
<li>Remove assert(i &lt; MAX_ACTIVE) when the external log can't be found.</li>
<li>Remove excessive typedefs</li>

</ul>

</p>

<p>For more details about JFS, please see the patch instructions or
changelog.jfs files.</p>

</quote>

</section>

<section
  title="Linux v2.5.39 Released"
  subject="Linux v2.5.39"
  archive=""
  posts="5"
  startdate="27 Sep 2002 14:02:48 -0800"
  enddate="28 Sep 2002 03:51:23 -0800"
>
<topic>FS: JFS</topic>
<topic>FS: XFS</topic>
<topic>SMP</topic>
<topic>USB</topic>

<mention>Jens Axboe</mention>

<p>Linus Torvalds announced <a
href="http://www.kernel.org/pub/linux/kernel/v2.5/ChangeLog-2.5.39">Linux
v2.5.39</a>, saying:</p>

<quote who="Linus Torvalds">

<p>Changes all over the map.</p>

<p>The most noticeable one may well be the new and much improved elevator by
Jens Axboe, this one makes a big difference at least to me.</p>

<p>And Andrew found a nasty SMP deadlock on the tasklist lock.</p>

<p>And Ingo's been busy again, fixing some more threading issues he found
(including the much-talked-about futex thing).</p>

<p>Other stuff all over the map: USB, JFS, XFS, networking, debugging etc.</p>

</quote>

</section>

<section
  title="Cleanups For /dev/random"
  subject="[PATCH 0/7] /dev/random cleanup"
  archive=""
  posts="8"
  startdate="27 Sep 2002 21:50:40 -0800"
  enddate="27 Sep 2002 21:51:27 -0800"
>
<topic>Random Number Generation</topic>

<p>Oliver Xymoron posted several patches, and explained:</p>

<quote who="Oliver Xymoron">

<p>The following patches against 2.5.39 clean up the RNG support
substantially. Please pay special attention to the first patch, which fixes
two major bugs in the reseeding logic. They can be easily demonstrated by
running 'cat /dev/random | hexdump' on a quiescent system. When it blocks,
lightly tapping the mouse generates a large stream of additional output,
despite very little entropy being added.</p>

<p>The second and third patches introduce my fixes for the more theoretical
issues and should address all the issues that have been raised.</p>

<p>The fourth and fifth make the pool and reseeding logic much more clear
and create a new pool for /dev/urandom that avoids starving /dev/random
readers.</p>

<p>Six and seven propagate the new API to the rest of the kernel and remove
dead code.</p>

</quote>

<p>In subsequent posts containing the individual patches, he explained each more
thoroughly. For patch 1:</p>

<quote who="Oliver Xymoron">

<p>This fixes a bug where entropy transfer takes more from the primary pool than
is there and credits the secondary with 1000 extra bits.</p>

<p>This also makes this code properly handle catastrophic reseeding by  
raising the wakeup threshold from 8 to 64.</p>

<p>You can test for both of these bugs by doing 'cat /dev/random |
hexdump' and observing that the slightest tap of the mouse generates a
large stream of output.</p>

<p>Consider the situation where the state of both pools is compromised
and is known at time T1. If 8 bits of entropy appear in the primary
pool, unblocking random_read, this function would transfer most of the
primary pool to the secondary, then give a byte of data to the user at
time T2. Given that byte and the known state at T1, the user can test
the possible 256 input bits to the primary pool, generate the 256
possible outputs from the secondary, and reduce the possible known
states at time T2 to a handful. This is dependent solely on the wakeup
threshold and not on the transfer size. Raising the wakeup threshold
to 64 means calculating 2^64 possible pool states, making state
extension unreasonably hard.</p>

<p>The second clause of the xfer function was intended to handle this
catastrophic reseeding, but given the weakness in the first clause, it
added nothing.</p>

</quote>

<p>For patch 2:</p>

<quote who="Oliver Xymoron">

<p>This makes irq and blkdev interrupts untrusted and allows adding a bit
of entropy for a configurable percentage of untrusted samples,
controlled by a new sysctl. This defaults to 0 for safety, but can be
used on headless machines without a hardware RNG to continue to use  
/dev/random with some confidence.</p>

<p>This also smartens up and simplifies the batch entropy pool to allow
unlimited amounts of untrusted mixing without blocking out trusted
samples.</p>

</quote>

<p>For patch 3:</p>

<quote who="Oliver Xymoron">

<p>This adds improved entropy estimation based on source timing
granularity and a new API for registering entropy sources.</p>

<p>This also detects potential polling or back-to-back interrupt attacks
that could be used to observe or force event timing. If a context
switch doesn't occur between events, one of these two attacks might be
occurring. We can rule out a polling attack by checking if the CPU is
sleeping and we can rule out an interrupt flood if jiffies has
changed since the last event.</p>

<p>This removes the improperly named "ln" function and replaces it with a
call to the potentially arch-optimized fls. This also adjusts the
entropy count appropriately taking into consideration the expected  
entropy in sections of a scale-invariant distribution (see "Benford's
Law"). Thanks to Arend Bayer for additional help with this analysis.</p>

</quote>

<p>For patch 4:</p>

<quote who="Oliver Xymoron">

<p>

<ul>

<li>more meaningful names for pools (predicting next patch)   </li>
<li>cleanup of pool structure</li>
<ul>
<li>store name</li>
<li>point to poolinfo table rather than copying entry</li>
<li>alloc pool together with structure</li>
</ul>
<li>refactor pool creation and initialization</li>
<li>kill pointless (double!) pool zeroing</li>

</ul>

</p>

</quote>

<p>For patch 5:</p>

<quote who="Oliver Xymoron">

<p>Stop /dev/urandom readers from starving /dev/random for entropy by
creating a separate pool and not reseeding if doing so would prevent
/dev/random from reseeding.</p>

<p>This factors pool reseeding out of normal entropy transfer. This allows
different pools to have different policy on how to reseed.</p>

<p>This patch also makes random_read actually use the entropy count in
the secondary pool rather than tracking off the primary.</p>

</quote>

<p>For patch 6: <quote who="Oliver Xymoron">This removes the old API and
updates users to the new one. This also allows different input devices of
the same class (eg mice) to have their entropy state tracked independently
and removes hardwired source classes from the core.</quote></p>

<p>For patch 7: <quote who="Oliver Xymoron">Remove long-unused MD5 code,
unrolled SHA implementations, Linux 2.2 compatibility, and an unused
structure.</quote></p>

</section>

<section
  title="Linux Kernel conf 0.7.1 Released"
  subject="linux kernel conf 0.7"
  archive=""
  posts="6"
  startdate="28 Sep 2002 06:25:43 -0800"
  enddate="28 Sep 2002 16:00:50 -0800"
>

<mention>Sam Ravnborg</mention>
<mention>Jeff Garzik</mention>
<mention>Kai Germaschewski</mention>

<p>Roman Zippel announced:</p>

<quote who="Roman Zippel">

<p>At <a
href="http://www.xs4all.nl/~zippel/lc/">http://www.xs4all.nl/~zippel/lc/</a>
you can find the latest version of the new config system. Besides the usual
archive there is also now a patch against a 2.5.39 kernel and finally some
documentation. This patch I also consider as my first release canditate, so
please test this one carefully, this release contains pretty much everything
I want from the first release to be integrated into the kernel.</p>

<p>Other changes:</p>

<p>

<ul>

<li>update to 2.5.39</li>
<li>seperate kernel Makefile (by Sam Ravnborg/Kai Germaschewski)</li>
<li>lots of qconf fine tuning</li>
<li>the generated config files are now named Build.conf and use tabs
  instead of two spaces, which makes it easier to read.</li>

</ul>

</p>

<p>An issue (which was also mentioned by Jeff Garzik) is the help text
format. Jeff likes to have an endhelp, where I think it's redundant. The parser
currently checks the amount of indendation to find the end of the help text,
this makes the help text quite easy to read and parse. If someone prefers an
endhelp (or has an even better idea), please speak up now, if enough people
complain, I have no problem changing it.</p>

</quote>

<p>After a report of a trivial bug, Roman put out 0.7.1, and after some testing
Sam Ravnborg said it looked pretty good; and offered some implementation
suggestions and feature requests.</p>

</section>

<section
  title="RivaTV 0.8.1 Released"
  subject="[ANNOUNCEMENT] RivaTV 0.8.1"
  archive=""
  posts="1"
  startdate="28 Sep 2002 17:32:39 -0800"
>

<p>Yuri van Oers announced (and later gave a <a
href="http://rivatv.sourceforge.net/">URL</a>):</p>

<quote who="Yuri van Oers">

<p>RivaTV version 0.8.1 has been released.</p>

<p>The RivaTV project is trying to produce Linux drivers for graphics boards
with nVidia chips that have a video-in feature.</p>

<p>Changes in this release:</p>

<p>This release includes support for GeForce 4, a lot of new cards and several
bugfixes. Also, tuner support has been improved and RivaTV now comes with the
relevant BTTV modules to get your tuner going - simply and easily. Finally,
the installation process tries to detect pitfalls preventing the use of
RivaTV on your machine.</p>

</quote>

</section>

<section
  title="oprofile For 2.5.39 Released"
  subject="[PATCH][RFC] oprofile for 2.5.39"
  archive=""
  posts="9"
  startdate="28 Sep 2002 17:44:40 -0800"
  enddate="28 Sep 2002 20:11:29 -0800"
>

<p>John Levon announced:</p>

<quote who="John Levon">

<p>Here is a new version of oprofile against 2.5.39. Thanks Andi,
Christoph, and Alan for your comments. I think I should have fixed
the things you mentioned.</p>

<p>As before, the full patch is available here :</p>

<p><a href="http://oprofile.sf.net/oprofile-2.5/oprofile-2.5-all.diff">http://oprofile.sf.net/oprofile-2.5/oprofile-2.5-all.diff</a> [100k]</p>

<p>with usage notes :</p>

<p><a href="http://oprofile.sf.net/oprofile-2.5.html">http://oprofile.sf.net/oprofile-2.5.html</a></p>

<p>and more readable broken-out patches (but not applyable) :</p>

<p><a href="http://oprofile.sf.net/oprofile-2.5/">http://oprofile.sf.net/oprofile-2.5/</a></p>

<p>Changes from last time :</p>

<p>

<ul>

<li>More comments on the fiddly bits</li>
<li>Fix for NMI on shutdown</li>
<li>Added stats</li>
<li>avoid some mis-attributed samples</li>
<li>Re-worked FS stuff</li>
<li>Moved x86 stuff into arch/</li>
<li>Fixed UP build</li>
<li>various fixes and cleanups</li>

</ul>

</p>

</quote>

</section>

<section
  title="EVMS 1.2.0 Released"
  subject="[ANNOUNCE] EVMS Release 1.2.0"
  archive=""
  posts="7"
  startdate="30 Sep 2002 14:01:47 -0800"
  enddate="02 Oct 2002 05:06:20 -0800"
>
<topic>Disk Arrays: EVMS</topic>
<topic>FS: JFS</topic>
<topic>FS: XFS</topic>

<mention>Neil Brown</mention>

<p>Kevin Corry announced:</p>

<quote who="Kevin Corry">

<p>The EVMS team is announcing the next stable release of the Enterprise Volume
Management System, which will eventually become EVMS 2.0. Package 1.2.0 is
now available for download at the project web site:<br />
<a href="http://www.sf.net/projects/evms">http://www.sf.net/projects/evms</a></p>

<p>EVMS 1.2.0 has full support for the 2.4 kernel, and includes patches for most
kernels up to 2.4.19. It also has nearly full support for the 2.5 kernel
(only the OS/2 and S/390 plugins have not been ported yet), and includes a
patch for kernels 2.5.38 and 2.5.39.</p>

<p>Please send any questions, problem reports or bugs to the EVMS mailing list:
evms-devel@lists.sf.net.</p>

<pre>v1.2.0 - 9/30/02
Engine Core
 - Enable limited rediscovery
   - Only issue rediscover commands on disks affected by current changes,
     instead of every disk in the system.
 - Clean up stop-data that is no longer needed.
 - Improve plug-in validation.
 - No longer include kernel header files. Copy appropriate definitions,
   structures, code, etc. to user-space header files.
GUI
 - More keyboard accelerator keys for most windows.
 - Allow selecting multiple objects to remove or destroy.
 - Allow expanding containers through context popup menu.
 - Allow creating regions and segments from freespace objects through
   context popup menu.
 - Useability enhancements and terminology sync-up with other UIs.
Text-Mode UI (ncurses)
 - Support for commit status and progress indicators.
 - Add convert-to-compatibility-volume action to Volumes view.
 - Display an error on the status line if setting an option value failed.
 - Bug fixes
   - Segfault when attempting to select an item from an empty selection list.
   - Pressing "Enter" in an option panel when required options have no values.
   - Scrolling in available objects list.
   - Having to press spacebar twice when editing a string field.
Command Line
 - Parameter substitution
   - Commands can access parameters passed into the CLI when it was started.
XFS Filesystem Interface Module
 - New FSIM with mkfs, fsck, external log, and online expand support.
JFS FSIM
 - Online expand support. Requires JFS 1.0.21.
AIX Plugin
 - Create, delete and expand AIX containers.
 - Create, delete and expand AIX regions.
Snapshot
 - Correctly write COW table sectors on S/390.
MD Plugin
 - 2.5 kernel plugin has been rewritten based on Neil Brown's 2.5 MD code.</pre>

</quote>

</section>

<section
  title="Linux 2.4.20-pre9 Released"
  subject="Linux 2.4.20-pre9"
  archive=""
  posts="1"
  startdate="03 Oct 2002 17:11:06 -0800"
>
<topic>FS: JFS</topic>
<topic>FS: ext3</topic>
<topic>USB</topic>

<p>Marcelo Tosatti announced 2.4.20-pre9, and said:</p>

<quote who="Marcelo Tosatti">

<p>The Athlon problems introduced in pre3 should be gone now.</p>

<p>pre9 has some JFS/ext3 fixes, USB fixes and several network drivers
fixes.</p>

<p>There are still some pending issues to be solved for 2.4.20 which I hope
get worked out on the next -pre's...</p>

</quote>

</section>

</kc>

