<?xml version="1.0" ?>

<kc>

<title>Kernel Traffic</title>

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

<issue num="62" date="10 Apr 2000 00:00:00 -0800" />

<stats posts="1680" size="7272" contrib="482" multiples="236" lastweek="184">

<person posts="57" size="181" who="Alan Cox " />
<person posts="43" size="182" who="Andrea Arcangeli " />
<person posts="40" size="165" who="Jeff V. Merkey " />
<person posts="33" size="101" who="Stephen C. Tweedie " />
<person posts="30" size="109" who="Andre Hedrick " />
<person posts="29" size="128" who="James Sutherland " />
<person posts="28" size="130" who="Ingo Molnar " />
<person posts="26" size="105" who="" />
<person posts="24" size="117" who="Rik van Riel " />
<person posts="19" size="81" who="Linus Torvalds " />
<person posts="19" size="66" who="Richard Gooch " />
<person posts="18" size="58" who="Jeff Garzik " />
<person posts="17" size="71" who="Andrew Morton " />
<person posts="16" size="61" who="Daniel J Blueman " />
<person posts="16" size="56" who="Paul Barton-Davis " />
<person posts="16" size="50" who="Blu3Viper " />
<person posts="15" size="55" who="Rask Ingemann Lambertsen " />
<person posts="15" size="47" who="Tim Waugh " />
<person posts="15" size="47" who="Manfred Spraul " />
<person posts="14" size="55" who="Richard B. Johnson " />
<person posts="13" size="70" who="Simon Kirby " />
<person posts="13" size="36" who="David S. Miller " />
<person posts="12" size="73" who="Matthias Andree " />
<person posts="12" size="62" who="Christopher Smith " />
<person posts="12" size="51" who="Pavel Machek " />
<person posts="12" size="45" who="Steve Dodd " />
<person posts="12" size="44" who="Ben Collins " />
<person posts="12" size="42" who="Alexander Viro " />
<person posts="12" size="42" who="Jamie Lokier " />
<person posts="12" size="38" who="Boris Okun " />
<person posts="11" size="119" who="Andrey Savochkin " />
<person posts="11" size="68" who="Linda Walsh " />
<person posts="11" size="68" who="Dave Jones " />
<person posts="11" size="53" who="David Whysong " />
<person posts="11" size="43" who=" (H. Peter Anvin)" />
<person posts="11" size="43" who="Paul Jakma " />
<person posts="10" size="44" who="Manfred Spraul " />
<person posts="10" size="41" who="Jim Roland " />
<person posts="10" size="41" who="Mike A. Harris " />
<person posts="10" size="39" who="Khimenko Victor " />
<person posts="10" size="37" who="Ulrich Drepper " />
<person posts="9" size="42" who="John Ripley " />
<person posts="9" size="41" who="Tim Waugh " />
<person posts="9" size="33" who="Martin Mares " />
<person posts="9" size="31" who="Lawrence Manning " />
<person posts="9" size="29" who="Ricky Beam " />
<person posts="8" size="38" who="Bryan -TheBS- Smith " />
<person posts="8" size="28" who="Peter T. Breuer " />
<person posts="8" size="24" who="bert hubert " />
<person posts="8" size="22" who="Trond Myklebust " />
<person posts="7" size="67" who="David Woodhouse " />
<person posts="7" size="40" who="Jesse Pollard " />
<person posts="7" size="34" who="Tim Walberg " />
<person posts="7" size="33" who="Dragan Stancevic " />
<person posts="7" size="32" who="Roger Larsson " />
<person posts="7" size="31" who="Jesse Pollard " />
<person posts="7" size="24" who="Jeremy Fitzhardinge " />
<person posts="7" size="24" who=" (david parsons)" />
<person posts="7" size="24" who="Andi Kleen " />
<person posts="7" size="23" who="H. Peter Anvin " />
<person posts="7" size="18" who="Mark Hahn " />
<person posts="6" size="41" who="Harald Koenig " />
<person posts="6" size="40" who="Mike Porter " />
<person posts="6" size="40" who="Riley Williams " />
<person posts="6" size="30" who="Dunlap, Randy " />
<person posts="6" size="29" who="Albert D. Cahalan " />
<person posts="6" size="23" who="Russell King " />
<person posts="6" size="23" who=" (Arjan van de Ven)" />
<person posts="6" size="22" who="Jens Axboe " />
<person posts="6" size="21" who="Helge Hafting " />
<person posts="6" size="20" who="Rui Sousa " />
<person posts="6" size="19" who="Andi Kleen " />
<person posts="5" size="30" who="" />
<person posts="5" size="25" who="Nicholas Leippe " />
<person posts="5" size="23" who="Christoph Rohland " />
<person posts="5" size="21" who=" (Kanoj Sarcar)" />
<person posts="5" size="21" who="Horst von Brand " />
<person posts="5" size="19" who="Richard Torkar " />
<person posts="5" size="18" who="Nicholas Vinen " />
<person posts="5" size="17" who="Christoph Hellwig " />
<person posts="5" size="17" who="Vojtech Pavlik " />
<person posts="5" size="17" who="Gregory Maxwell " />
<person posts="5" size="16" who="Paul Jakma " />
<person posts="5" size="15" who="DeRobertis " />
<person posts="5" size="15" who="Geert Uytterhoeven " />
<person posts="5" size="14" who="" />
<person posts="5" size="14" who="Rusty Russell " />
<person posts="4" size="123" who="Bernard Dautrevaux " />
<person posts="4" size="26" who="Trever Adams " />
<person posts="4" size="23" who="Brian Macy " />
<person posts="4" size="18" who=" (Rogier Wolff)" />
<person posts="4" size="17" who="Urban Widmark " />
<person posts="4" size="17" who="Hans Reiser " />
<person posts="4" size="17" who="Marco Colombo " />
<person posts="4" size="16" who="Maciej W. Rozycki " />
<person posts="4" size="15" who="Erez Zadok " />
<person posts="4" size="15" who="Ralf G. R. Bergs " />
<person posts="4" size="15" who="Mike Galbraith " />
<person posts="4" size="14" who="Roman Zippel " />
<person posts="4" size="14" who="Markus Sundberg " />
<person posts="4" size="14" who="Dominik Kubla " />
<person posts="4" size="14" who="Tom Holroyd " />
<person posts="4" size="14" who="Olaf Dabrunz " />
<person posts="4" size="14" who="Kaz Kylheku " />
<person posts="4" size="14" who="Ted Sikora " />
<person posts="4" size="13" who="Horst von Brand " />
<person posts="4" size="13" who="Michael Gerdts " />
<person posts="4" size="13" who="Mike Castle " />
<person posts="4" size="13" who="Michael Bacarella " />
<person posts="4" size="13" who="Joerg Stroettchen " />
<person posts="4" size="13" who="Matti Aarnio " />
<person posts="4" size="13" who="Jones D (ISaCS) " />
<person posts="4" size="13" who="Ralf Baechle " />
<person posts="4" size="12" who="Tigran Aivazian " />
<person posts="4" size="12" who="Florian Weimer " />
<person posts="4" size="12" who="Nicholai Benalal " />
<person posts="4" size="12" who="Jes Sorensen " />
<person posts="4" size="12" who="Peter Svensson " />
<person posts="4" size="12" who="Bill Huey " />
<person posts="4" size="11" who="Alejandro Conty " />
<person posts="3" size="84" who="Ha Quoc- Viet " />
<person posts="3" size="34" who="Julian Anastasov " />
<person posts="3" size="22" who="Jordan Mendelson " />
<person posts="3" size="22" who="Ivan Passos " />
<person posts="3" size="19" who="Ed Tomlinson " />
<person posts="3" size="18" who=" (Grendel)" />
<person posts="3" size="17" who="Tigran Aivazian " />
<person posts="3" size="15" who="Valentijn Sessink " />
<person posts="3" size="14" who="Takashi Richard Horikawa " />
<person posts="3" size="13" who="Scott Henry " />
<person posts="3" size="13" who="Jun Sun " />
<person posts="3" size="13" who="David Konerding " />
<person posts="3" size="13" who="George Bonser " />
<person posts="3" size="12" who="Lorenzo `Caffeine' Marcantonio " />
<person posts="3" size="12" who="Brian Warner " />
<person posts="3" size="12" who="Jan Niehusmann " />
<person posts="3" size="12" who="Jean-Luc Pedneault " />
<person posts="3" size="12" who="Meino Christian Cramer " />
<person posts="3" size="11" who="Nathan Neulinger " />
<person posts="3" size="11" who="Olaf Weber " />
<person posts="3" size="11" who="Brian Gerst " />
<person posts="3" size="11" who="Dimitris Michailidis " />
<person posts="3" size="11" who="Jonathan Walther " />
<person posts="3" size="11" who="Rask Ingemann Lambertsen " />
<person posts="3" size="11" who="" />
<person posts="3" size="10" who="Andi Kleen " />
<person posts="3" size="10" who="Craig Kulesa " />
<person posts="3" size="10" who="Thorsten Kranzkowski " />
<person posts="3" size="10" who="Luca Montecchiani " />
<person posts="3" size="10" who="Doug Ledford " />
<person posts="3" size="10" who="Andre Hedrick " />
<person posts="3" size="10" who="David Schwartz " />
<person posts="3" size="9" who="Ari Pollak " />
<person posts="3" size="9" who="John Summerfield " />
<person posts="3" size="9" who="Stefan Monnier " />
<person posts="3" size="9" who="James Manning " />
<person posts="3" size="9" who="James Fidell " />
<person posts="3" size="9" who="Chris Mason " />
<person posts="3" size="9" who="Wakko Warner " />
<person posts="3" size="8" who="Matthew Kirkwood " />
<person posts="3" size="8" who="Fredrik Staxaeng " />
<person posts="3" size="8" who="=?iso-8859-1?Q?Quang_Nguy=EA=F1_\=28formerly_Ng=F4\=29?= " />
<person posts="3" size="7" who="Venkatesh Ramamurthy " />
<person posts="3" size="7" who="Jeff Garzik " />
<person posts="3" size="7" who="Garst R. Reese " />
<person posts="3" size="7" who="Adam Fritzler " />
<person posts="3" size="7" who="Alan Buxey " />
<person posts="2" size="102" who="Karim Yaghmour " />
<person posts="2" size="26" who="=?gb2312?B?0sHNrMK7?= " />
<person posts="2" size="23" who="" />
<person posts="2" size="18" who="Peter Enderborg " />
<person posts="2" size="17" who="David Hinds " />
<person posts="2" size="17" who="David Forrest " />
<person posts="2" size="13" who="" />
<person posts="2" size="12" who="Larry Woodman " />
<person posts="2" size="11" who="=?ISO-8859-1?Q?G=E9rard_Roudier?= " />
<person posts="2" size="10" who="Travis Tebbenkamp " />
<person posts="2" size="10" who="david ellison " />
<person posts="2" size="9" who="Andrey Panin " />
<person posts="2" size="9" who="Mathijs " />
<person posts="2" size="9" who="Jason Sodergren " />
<person posts="2" size="8" who="Giuliano Procida " />
<person posts="2" size="8" who="Brent Verner " />
<person posts="2" size="8" who=" (Wietse Venema)" />
<person posts="2" size="8" who="Peter Zaitsev " />
<person posts="2" size="8" who="Dave Caswell " />
<person posts="2" size="8" who="Andreas Dilger " />
<person posts="2" size="8" who="Andreas Bombe " />
<person posts="2" size="8" who="Todd " />
<person posts="2" size="8" who="Alessandro Suardi " />
<person posts="2" size="8" who=" (Linus Torvalds)" />
<person posts="2" size="7" who="Agus Budy Wuysang " />
<person posts="2" size="7" who=" (Arjan van de Ven)" />
<person posts="2" size="7" who="Tom Sedge " />
<person posts="2" size="7" who="David Schleef " />
<person posts="2" size="7" who="Robert de Vries " />
<person posts="2" size="7" who="David L. Nicol " />
<person posts="2" size="7" who="Richard Henderson " />
<person posts="2" size="7" who="David Schleef " />
<person posts="2" size="6" who="Lyle Seaman " />
<person posts="2" size="6" who="Richard Gooch " />
<person posts="2" size="6" who=" (Mika Tiainen)" />
<person posts="2" size="6" who="David Wragg " />
<person posts="2" size="6" who="Erik Andersen " />
<person posts="2" size="6" who="Matija Nalis " />
<person posts="2" size="6" who="Peter Steiner " />
<person posts="2" size="6" who="Kneemeyer, Ralf " />
<person posts="2" size="6" who=" (Kai Henningsen)" />
<person posts="2" size="6" who="Kjetil Torgrim Homme " />
<person posts="2" size="6" who="Michael T. Babcock " />
<person posts="2" size="6" who="Enrico Weigelt " />
<person posts="2" size="6" who="Linus Torvalds " />
<person posts="2" size="6" who="Augusto Cesar Radtke " />
<person posts="2" size="6" who="Jan Kara " />
<person posts="2" size="6" who="Giuliano Pochini " />
<person posts="2" size="6" who="Rod Salinger " />
<person posts="2" size="6" who="Alan Modra " />
<person posts="2" size="6" who="Marc SCHAEFER " />
<person posts="2" size="6" who="Tom Rini " />
<person posts="2" size="5" who="Martin Lucina " />
<person posts="2" size="5" who="Dan Kegel " />
<person posts="2" size="5" who="Jon Evans " />
<person posts="2" size="5" who="James H. Cloos Jr. " />
<person posts="2" size="5" who="Adam " />
<person posts="2" size="5" who="Thomas Harris " />
<person posts="2" size="5" who="Mitchell Blank Jr " />
<person posts="2" size="5" who="Brent M. Smith " />
<person posts="2" size="5" who="" />
<person posts="2" size="5" who="Simon Cahuk " />
<person posts="2" size="5" who="Peter Blomgren " />
<person posts="2" size="5" who="Jeff Dike " />
<person posts="2" size="5" who="Michael Talbot-Wilson " />
<person posts="2" size="4" who="Matthew Sachs " />
<person posts="2" size="4" who="Sasi Peter " />
<person posts="2" size="4" who="=?ISO-8859-1?Q? =C4=E5=AA=E1=B5=D3=A4l ?= " />
<person posts="2" size="4" who="William Scott Lockwood III " />
<person posts="1" size="50" who="Kasatenko Ivan Alex. " />
<person posts="1" size="37" who="Martin Mares " />
<person posts="1" size="35" who="Phillip K. Hornung " />
<person posts="1" size="19" who="Jakub Jelinek " />
<person posts="1" size="19" who="Eduardo Horvath " />
<person posts="1" size="16" who="Thorsten Knabe " />
<person posts="1" size="14" who="Peter De Schrijver \(mind\) " />
<person posts="1" size="11" who="Nadeem Riaz " />
<person posts="1" size="11" who="Robert Manning " />
<person posts="1" size="11" who="Aki M Laukkanen " />
<person posts="1" size="11" who="Steven N. Hirsch " />
<person posts="1" size="11" who="Martin Andersen " />
<person posts="1" size="10" who="Akos Frohner " />
<person posts="1" size="10" who="Tony den Haan " />
<person posts="1" size="9" who="Sampo Kellomaki " />
<person posts="1" size="9" who="Simon Fowler " />
<person posts="1" size="8" who="Alon Ziv " />
<person posts="1" size="7" who=" (=?ISO-8859-1?Q?Anders_=D6hrt?=)" />
<person posts="1" size="7" who="Marty Brundage " />
<person posts="1" size="7" who="Philipp Matthias Hahn " />
<person posts="1" size="6" who="Chris McClellen " />
<person posts="1" size="6" who="James Bottomley " />
<person posts="1" size="6" who="Jon Evans " />
<person posts="1" size="6" who="NightRanger " />
<person posts="1" size="5" who="Achim Flammenkamp " />
<person posts="1" size="5" who="David Raufeisen " />
<person posts="1" size="5" who="HvR " />
<person posts="1" size="5" who="Rick Stevens " />
<person posts="1" size="5" who="" />
<person posts="1" size="5" who="Peter J. Braam " />
<person posts="1" size="5" who="Neil Schemenauer " />
<person posts="1" size="5" who="Badrinath Venkatachari " />
<person posts="1" size="5" who="Jeffrey Miller " />
<person posts="1" size="5" who="David Benfell " />
<person posts="1" size="5" who="Robin Cook " />
<person posts="1" size="5" who="David Findlay " />
<person posts="1" size="5" who="" />
<person posts="1" size="5" who="Juanjo Ciarlante " />
<person posts="1" size="5" who="=?iso-8859-1?Q?Jimmy_M=E4kel=E4?= " />
<person posts="1" size="5" who="Christian Reiser " />
<person posts="1" size="4" who="Austin Schutz " />
<person posts="1" size="4" who="Neulinger, Nathan R. " />
<person posts="1" size="4" who="Nick Burrett " />
<person posts="1" size="4" who="Andrzej Krzysztofowicz " />
<person posts="1" size="4" who="Soohoon Lee " />
<person posts="1" size="4" who="Rafael E. Herrera " />
<person posts="1" size="4" who="Martin Butterweck " />
<person posts="1" size="4" who="Jens Benecke " />
<person posts="1" size="4" who="Ville Herva " />
<person posts="1" size="4" who="Ollie Lho " />
<person posts="1" size="4" who="Stephane Casset " />
<person posts="1" size="4" who="Drizzt " />
<person posts="1" size="4" who="Toon van der Pas " />
<person posts="1" size="4" who="Tomasz Motylewski " />
<person posts="1" size="4" who="Simen " />
<person posts="1" size="4" who="Gilbert Ramirez Jr. " />
<person posts="1" size="4" who="Tim Harman " />
<person posts="1" size="4" who="Juergen Kreileder " />
<person posts="1" size="4" who="Mike Klar " />
<person posts="1" size="4" who="Rolf Fokkens " />
<person posts="1" size="4" who="Kurt Roeckx " />
<person posts="1" size="4" who="Leonard Michlmayr " />
<person posts="1" size="4" who="" />
<person posts="1" size="4" who="FORT David ou popo " />
<person posts="1" size="4" who="" />
<person posts="1" size="4" who="=?iso-2022-jp?B?GyRCJSIlJCVJJWsjMiMwIzAjMRsoQhsoQg==?= " />
<person posts="1" size="4" who="" />
<person posts="1" size="4" who="Peter Rival " />
<person posts="1" size="4" who="" />
<person posts="1" size="4" who="" />
<person posts="1" size="4" who="Jon Milton " />
<person posts="1" size="4" who="Portugali, Ellie " />
<person posts="1" size="4" who="Dave Caswell " />
<person posts="1" size="4" who="Stephen Liu " />
<person posts="1" size="4" who="Walter Zimmer " />
<person posts="1" size="4" who="" />
<person posts="1" size="4" who="Dragos Acostachioaie " />
<person posts="1" size="4" who="" />
<person posts="1" size="4" who=" (Patrick J. LoPresti)" />
<person posts="1" size="4" who="david parsons " />
<person posts="1" size="4" who="James A Simmons " />
<person posts="1" size="3" who="James Lewis Nance " />
<person posts="1" size="3" who="Eric MacIntosh " />
<person posts="1" size="3" who="Jorge Nerin " />
<person posts="1" size="3" who="Chmouel Boudjnah " />
<person posts="1" size="3" who="Shane Shrybman " />
<person posts="1" size="3" who="Brent Verner " />
<person posts="1" size="3" who="Marty Leisner " />
<person posts="1" size="3" who="Paul Slootman " />
<person posts="1" size="3" who="Eilert Brinkmann " />
<person posts="1" size="3" who="Borislav Deianov " />
<person posts="1" size="3" who="John Regehr " />
<person posts="1" size="3" who="Jinnah Dylan Hosein " />
<person posts="1" size="3" who="Amit S. Kale " />
<person posts="1" size="3" who="Frodo Looijaard " />
<person posts="1" size="3" who="Jean-Christian de Rivaz " />
<person posts="1" size="3" who="Ronald G. Minnich " />
<person posts="1" size="3" who="Gregory Hosler " />
<person posts="1" size="3" who="f5ibh " />
<person posts="1" size="3" who="Malcolm Beattie " />
<person posts="1" size="3" who="Luc Stepniewski " />
<person posts="1" size="3" who="Michel Goraczko " />
<person posts="1" size="3" who="Andreas Schwab " />
<person posts="1" size="3" who="Aneesh Kumar K.V " />
<person posts="1" size="3" who="Artur Skawina " />
<person posts="1" size="3" who="" />
<person posts="1" size="3" who="Jarno Lahteenmaki " />
<person posts="1" size="3" who="Clifford Wolf " />
<person posts="1" size="3" who=" (Eric W. Biederman)" />
<person posts="1" size="3" who="Michel Catudal " />
<person posts="1" size="3" who="Evan Langlois " />
<person posts="1" size="3" who="Bradley M Keryan " />
<person posts="1" size="3" who="Art Boulatov " />
<person posts="1" size="3" who="Ravi Wijayaratne " />
<person posts="1" size="3" who="Jan-Benedict Glaw " />
<person posts="1" size="3" who="Alvin Starr " />
<person posts="1" size="3" who="Dr. Michael Weller " />
<person posts="1" size="3" who="Zoran Davidovac " />
<person posts="1" size="3" who="Michael H. Warfield " />
<person posts="1" size="3" who="Oleg Drokin " />
<person posts="1" size="3" who="Simon Richter " />
<person posts="1" size="3" who="Henning P. Schmiedehausen " />
<person posts="1" size="3" who="lars brinkhoff " />
<person posts="1" size="3" who="Stefan Smietanowski " />
<person posts="1" size="3" who="Jan Kara " />
<person posts="1" size="3" who="Chip Salzenberg " />
<person posts="1" size="3" who=" (Marc SCHAEFER)" />
<person posts="1" size="3" who="Steve Underwood " />
<person posts="1" size="3" who="Thomas van Gulick " />
<person posts="1" size="3" who=" (Graham Stoney)" />
<person posts="1" size="3" who="Pat O'Rourke " />
<person posts="1" size="3" who="Jonathan Larmour " />
<person posts="1" size="3" who="" />
<person posts="1" size="3" who="Adrian Bridgett " />
<person posts="1" size="3" who="Tim Coleman " />
<person posts="1" size="3" who="Bill Wendling " />
<person posts="1" size="3" who="Rob Landley " />
<person posts="1" size="3" who="Gerd Knorr " />
<person posts="1" size="3" who="Marc Mutz " />
<person posts="1" size="3" who="CaT " />
<person posts="1" size="3" who="Jean-Marc Sajot " />
<person posts="1" size="3" who="Hausheer, Geoffrey " />
<person posts="1" size="3" who="Konrad Bernloehr " />
<person posts="1" size="3" who="Mark H. Wood " />
<person posts="1" size="3" who="Michael B. Rash " />
<person posts="1" size="3" who="Guus Sliepen " />
<person posts="1" size="3" who="David Addison " />
<person posts="1" size="3" who="" />
<person posts="1" size="3" who="Jim Mostek " />
<person posts="1" size="3" who="Clifford King " />
<person posts="1" size="3" who="Brian Swetland " />
<person posts="1" size="3" who=" (Miquel van Smoorenburg)" />
<person posts="1" size="3" who="Ingo Oeser " />
<person posts="1" size="3" who="J.W. Hoogervorst " />
<person posts="1" size="3" who="Joshua M. Thompson " />
<person posts="1" size="3" who="Mark Tranchant " />
<person posts="1" size="3" who="Jim Nance " />
<person posts="1" size="3" who="Chris Lawrence " />
<person posts="1" size="3" who="Chuck Mason " />
<person posts="1" size="3" who="=?iso-8859-1?Q?Ragnar_Kj=F8rstad?= " />
<person posts="1" size="3" who="Peter T. Breuer " />
<person posts="1" size="3" who="Manoj Kasichainula " />
<person posts="1" size="3" who="Per Lundberg " />
<person posts="1" size="3" who="Casey Schaufler " />
<person posts="1" size="3" who="Philipp Rumpf " />
<person posts="1" size="3" who="B. James Phillippe " />
<person posts="1" size="3" who="Raju K V " />
<person posts="1" size="3" who="Joerg Pommnitz " />
<person posts="1" size="3" who="Arjan van de Ven " />
<person posts="1" size="3" who="Tranchant, Mark (M.A.) " />
<person posts="1" size="3" who="Jelle Foks " />
<person posts="1" size="3" who="Carlos Morgado " />
<person posts="1" size="3" who="Luke Burton " />
<person posts="1" size="2" who="Ralph Blach " />
<person posts="1" size="2" who="Peter Samuelson " />
<person posts="1" size="2" who="Mark Zealey " />
<person posts="1" size="2" who="Mirian Crzig Lennox " />
<person posts="1" size="2" who="Meelis Roos " />
<person posts="1" size="2" who="Oleg Drokin " />
<person posts="1" size="2" who="Edgar Toernig " />
<person posts="1" size="2" who="Armin Schindler " />
<person posts="1" size="2" who="Chris Wedgwood " />
<person posts="1" size="2" who="Noah Romer " />
<person posts="1" size="2" who="Pete Clements " />
<person posts="1" size="2" who="Alan Cox " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Karen Shaeffer " />
<person posts="1" size="2" who="Dan Hollis " />
<person posts="1" size="2" who="Carsten Thiele " />
<person posts="1" size="2" who="Alan Curry " />
<person posts="1" size="2" who="Delman Lee " />
<person posts="1" size="2" who="Jason Gunthorpe " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Thomas Sailer " />
<person posts="1" size="2" who="Mathijs Mohlmann " />
<person posts="1" size="2" who="Christopher E. Brown " />
<person posts="1" size="2" who="Kent Whitten " />
<person posts="1" size="2" who=" (Mirian Crzig Lennox)" />
<person posts="1" size="2" who="Keith Owens " />
<person posts="1" size="2" who="ROC Services " />
<person posts="1" size="2" who="Brad Proctor " />
<person posts="1" size="2" who="Ed Taranto " />
<person posts="1" size="2" who="Piotr Wilkin " />
<person posts="1" size="2" who="Dale Amon " />
<person posts="1" size="2" who="Henrik Olsen " />
<person posts="1" size="2" who="Frank Butter " />
<person posts="1" size="2" who="Michel Kaempf " />
<person posts="1" size="2" who="Diego Liziero " />
<person posts="1" size="2" who="Sean Harding " />
<person posts="1" size="2" who="Robert S. Irrgang " />
<person posts="1" size="2" who="Krisztian Flautner " />
<person posts="1" size="2" who="Gregory Zornetzer " />
<person posts="1" size="2" who="Rick Casals " />
<person posts="1" size="2" who=" (Nick Holloway)" />
<person posts="1" size="2" who="Janne Liimatainen " />
<person posts="1" size="2" who="Ulrich Schmid " />
<person posts="1" size="2" who="Daniel Olsson " />
<person posts="1" size="2" who="Leonard N. Zubkoff " />
<person posts="1" size="2" who="Ralph Loader " />
<person posts="1" size="2" who="Thomas Davis " />
<person posts="1" size="2" who="Allin Cottrell " />
<person posts="1" size="2" who="Oliver Xymoron " />
<person posts="1" size="2" who="L. Besselink " />
<person posts="1" size="2" who="Shourya Sarcar " />
<person posts="1" size="2" who="Butter, Frank " />
<person posts="1" size="2" who="Krisztian Flautner " />
<person posts="1" size="2" who="Alex Belits " />
<person posts="1" size="2" who="Lars Gaarden " />
<person posts="1" size="2" who="Alex Buell " />
<person posts="1" size="2" who="Mario Vanoni " />
<person posts="1" size="2" who="Christopher Zimmerman " />
<person posts="1" size="2" who="Rick Niles " />
<person posts="1" size="2" who="Martijn van Oosterhout " />
<person posts="1" size="2" who="Alexander Koch " />
<person posts="1" size="2" who="Kent Overstreet " />
<person posts="1" size="2" who="Peter De Schrijver " />
<person posts="1" size="2" who="fooler " />
<person posts="1" size="2" who="Andrew G. Gilpin  " />
<person posts="1" size="2" who=" (Alexey Kuznetsov)" />
<person posts="1" size="2" who="Mario Mikocevic " />
<person posts="1" size="2" who="Theodore Ts'o " />
<person posts="1" size="2" who="Daniel Stone " />
<person posts="1" size="2" who="Mikael Pettersson " />
<person posts="1" size="2" who="root " />

</stats>

<intro>

<p>Seth M LaForge felt that <kcref subject="Video CD under Linux"
startdate="21 Mar 2000 00:00:00 -0800"></kcref><!-- kt20000403_61.html#11 --> was
misleading. As he put it, <quote who="Seth M LaForge">in the discussion on
VCD you include a list of links from Quang Nguy. However, the links all
point to DVD info - DVD is a very different beast from VCD. VCDs are regular
CD-ROMs with MPEG-1 encoded movies on them. They're very popular in Asia
(usually illegal copies of movies, available for about $2 each on the
street), but never caught on (I'm sure pressure from the movie industry has
a lot to do with this) in the West. You might want to either point out that
DVD and VCD are different or remove the list of links, to avoid confusing
readers.</quote> That's a good point, Seth. Thanks!</p>

<p>Many thanks go to Antony West, for catching an old bug in the XML of <a
href="kt19990830_32.html">Issue #32</a>, which caused the mailing list stats
to render incorrectly; and for reminding me about some runaway &lt;pre&gt;
tags in various other issues. Thanks, Antony! Those back-issue bugs can
languish for years.</p>

</intro>

<section
  title="Driver Return Values"
  subject="__setup return value"
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_0003_03/msg01663.html"
  posts="4"
  startdate="21 Mar 2000 00:00:00 -0800"
  enddate="27 Mar 2000 00:00:00 -0800"
>

<mention>Russell King</mention>

<p>Tim Waugh asked, <quote who="Tim Waugh">When is a driver supposed to return
0 from a __setup function? When it can't parse the options? Or when there's
a possibility that the option is intended for another driver?</quote> When
no one replied for almost a week, he asked, <quote who="Tim Waugh">Is it
worth me making a patch to change the behaviour of those drivers that return
0 on error (rather that when the option could be used by another driver) to
return 1 instead?</quote> Alan Cox replied, <quote who="Alan Cox">I've done
some of them but not all. So yes.</quote> And seven hours later, Russell
King said that Alan had sent him the ARM-specific parts of a patch Tim had
presumably sent to Alan. Russell affirmed that it would be going into the
Linus tree, and thanked Tim heartily.</p>

</section>

<section
  title="Real Data Corruption Under ext2 In The Stable And Unstable Kernels, And A Fix"
  subject="ext2fs bug : files are disapeared, unable to delete, two files' contents are switched etc."
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_0003_03/msg01872.html"
  posts="4"
  startdate="21 Mar 2000 00:00:00 -0800"
  enddate="27 Mar 2000 00:00:00 -0800"
>
<topic>FS: ext2</topic>

<p>Soohoon Lee reported serious data corruption with ext2, in cases of low
memory and frequent file creation and deletion operations. He explained that
under those conditions, files would spontaneously disappear or be
undeletable, the contents of two files would spontaneously switch, and fsck
would find inconsistancies in properly unmounted filesystems. He posted a
one-line patch to <code>fs/ext2/namei.c</code> to fix it; and Theodore Y.
Ts'o confirmed that this was indeed a problem, and not just some local
glitch. In response to Soohoon's patch, Ted replied, <quote who="Theodore Y.
Ts'o">This apparently solves the problem for Linux 2.2, but I'd prefer a
cleaner patch for Linux 2.3. Enclosed find the patch, which I will be
sending on to Linus. I haven't had a chance to backport this patch to Linux
2.2 yet, but it shoudl be relatively simple.</quote> He posted his patch,
which was much longer than Soohoon's, and there was some talk about other
changes to make to <code>fs/ext2/namei.c</code>, if they were going to be
changing it at all.</p>

</section>

<section
  title="GCC 2.95.2 Bug; Workaround; And Fix"
  subject="[2.3.99-pre3] via-rhine.o died again!"
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_0003_04/msg00567.html"
  posts="9"
  startdate="24 Mar 2000 00:00:00 -0800"
  enddate="28 Mar 2000 00:00:00 -0800"
>
<topic>Assembly</topic>

<p>After a bit of private discussion between Jean-Luc Pedneault, Justin Guyett,
Urban Widmark, and other unknown assailants; Urban posted a patch for a
problem Jean-Luc had been having with via-rhine under 2.3.99-pre3. But he
acknowledged being mystified over <quote who="Urban Widmark">why a value
that was just written is no longer there, except if you add an if or printk
then the value written "stays" written.</quote> Jean-Luc replied, <quote
who="Jean-Luc Pedneault">Like you said, it seems that by doing the "if"
instruction, the old value doesn't get wiped. The inside loop doesn't ever
get run!! It's weird, because it may suggest that the system runs too fast
or something.. like if the value wasn't written in memory.</quote> He added,
<quote who="Jean-Luc Pedneault">It could be a bug in GCC 2.95.2, a bug that
does an optimization wrongly. I'm using this compiler. I haven't tested with
egcs-1.1.2 yet (and I don't have GCC 2.7.2.3 compiled at all).</quote></p>

<p>A couple of hours later, he went on to say, <quote who="Jean-Luc
Pedneault">I'd like to point out that egcs-1.1.2 executed the code fine even
with #if 0 (ie. without compiling the additional code). GCC 2.95.2's
optimizations breaks the code, at least that's what I think.</quote> Urban
agreed, but rather than attempt to understand the inscrutable assembly code
generated, he posted another patch which tried to do the same thing in a
different way. He also suggested generating a smaller, non-kernel test-case
to share with the GCC developers, and offered to do it himself if no one
else stepped forward. Stephane Casset replied with confirmation that Urban's
patch seemed to work.</p>

<p>In the end, Urban concluded the thread by pointing out that the latest GCC
snapshot appeared not to have the problem anymore, and he also gave a link
to <a href="http://www.codesourcery.com/gcc-compile.html">Code Sourcery</a>,
a really cool page that would compile any code on the latest snapshot.</p>

</section>

<section
  title="POSIX Threads; Philosophy Of Kernel Development"
  subject="Slow pthread_create() under high load"
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_0003_04/msg00613.html"
  posts="97"
  startdate="24 Mar 2000 00:00:00 -0800"
  enddate="30 Mar 2000 00:00:00 -0800"
>
<topic>POSIX</topic>
<topic>SMP</topic>

<mention>Alan Cox</mention>

<p>An interesting threadlet came out of this interesting discussion about Linux
implementation of POSIX threading. In the course of discussion, Ulrich
Drepper led into it by saying, <quote who="Ulrich Drepper">some additional
functionality required to implement the correct POSIX threads behaviour is
missing.</quote> Alvin Starr let himself in for it when he replied, <quote
who="Alvin Starr">I am sure that if the next version of the thread library
required a set of kernel patches to run effectivly then those patches would
end up in the kernel source tree within a version or so.</quote> Richard
Gooch replied, <quote who="Richard Gooch">Mate, where have you been? The day
Linus lets user-space dictate what goes into the kernel is the day hell
freezes over. If you want a patch to go into the kernel, you need to
convince him it's a good idea. Adding a dependency in user-space, expecting
it to "force his hand", will not help. It will probably just piss him off.
Or make him laugh.</quote></p>

<p>A bit later, Linus Torvalds made a case about PID sharing and gave some
example code. He went on to say, about threading:</p>

<quote who="Linus Torvalds">

<p>Note that the reason the kernel is not
POSIX-compliant is:</p>

<p>

<ul>

<li>the POSIX standard is technically stupid. It's much better to use a
cleaner fundamental threading model and build on top of that.</li>

<li>things like the above are just so much better and more easily done in
user space anyway.</li>

</ul>

</p>

<p>The reason LinuxThreads has a hard time becoming POSIX-compliant is that I
refuse to apply stupid patches, and a lot of the patches sent to me have
been frankly stupid. They've often implemented pthreads functionality
without any actual thought of how it _could_ be done more cleanly with a
user/kernel split.</p>

</quote>

<p>A post or so down the line, Linus added</p>

<quote who="Linus Torvalds">

<p>Note that when I started doing clone(), I
basically said: "this is how I think threads should be done". I added a few
example flags to show the concept, without really having a firm plan on what
the final situation would be. Some of those flags got expanded upon
(CLONE_PARENT is only the latest addition), while some ended up not being
very useful at all (CLONE_PID is basically useless - the only use for it is
to start up the original idle threads under SMP, and that code is so
specialized anyway that it could basically do the CLONE_PID logic by hand).</p>

<p>There are bound to be more issues. I've seen patches floating around that
expand it, and especially in signal handling SOMETHING has to be done. I
don't think the "share all signal queues" is the right answer: I suspect the
right answer to the signal handling issue is to have a "private" queue (the
regular one) along with a separate method of handling "shared" queues and a
way to attach to a shared signal queue.</p>

<p>Shared signals are potentially useful outside pure threading models too, and
I'm looking for something more generic. I suspect that what I'm looking for
is more like a message list, along with some thin compatibility code to make
it easy for pthreads emulation that looks like signals..</p>

<p>That's kind of my gripe in general - I think there is a bigger picture than
just plain pthreads. Like clone(), let's do this right.</p>

</quote>

<p>Some earlier discussion of clone() took place in <kcref subject="Re:
Porting vfork()" startdate="08 Jan 1999 00:00:00 -0800"></kcref><!--
kt19990114_1.html#3 -->; a LinuxThreads announcement appeared in <kcref
subject="CLONE_PPID support for LinuxThreads" startdate="30 Jul 1999 00:00:00 -0800"></kcref><!-- kt19990805_30.html#10 -->; a little bit of clone()
history appeared in <kcref subject="Threads in linux." startdate="17 Aug 1999 00:00:00 -0800"></kcref><!-- kt19990830_32.html#14 -->; some general
discussion of threading took place in <kcref subject="Re: Threads in Linux"
startdate="01 Sep 1999 00:00:00 -0800"></kcref><!-- kt19990913_34.html#22 -->;
then in <kcref subject="clone() and CLONE_PID" startdate="07 Sep 1999 00:00:00 -0800"></kcref><!-- kt19990920_35.html#13 -->, Alan Cox said CLONE_PID would
be going away in 2.3.x, but according to Linus' statements above, this has
not happened yet. A vfork() flamewar (with some good technical goodies)
took place in <kcref subject="Re: vfork" startdate="01 Nov 1999 00:00:00 -0800"></kcref><!-- kt19991206_45.html#1 -->.</p>

<p>Discussions of development philosophy occur throughout KT, but some
specific articles are <kcref subject="I will _not_ start accepting patches!"
startdate="27 Jan 1999 00:00:00 -0800"></kcref><!-- kt19990204_4.html#1 -->,
<kcref subject="Re: Kernel interface changes (was Re: cdrecord problems on"
startdate="03 Feb 1999 00:00:00 -0800"></kcref><!-- kt19990211_5.html#10 -->,
<kcref subject="*sigh* Please give me something..."  startdate="04 Mar 1999 00:00:00 -0800"></kcref><!-- kt19990311_9.html#12 -->, <kcref subject="[OT]
util-linux-2.9p" startdate="02 May 1999 00:00:00 -0800"></kcref><!--
kt19990513_18.html#5 -->, and <kcref subject="[bugfix] SMP, shm-2.3.52-A0"
startdate="15 Mar 2000 00:00:00 -0800"></kcref><!-- kt20000327_60.html#8
-->.</p>

</section>

<section
  title="Keyboard Repeat Rate"
  subject="Keyboard rate question.."
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_0003_04/msg00625.html"
  posts="17"
  startdate="24 Mar 2000 00:00:00 -0800"
  enddate="01 Apr 2000 00:00:00 -0800"
>

<mention>Mike A. Harris</mention>

<p>Mike A. Harris had a problem with his keyboard repeat rate slowing down when
switching a shared keyboard between two machines. In the course of
discussion, it came out that if there was any loss of power to the keyboard,
this would be the inevitable result. However, at some point Andrew Morton
mentioned:</p>

<quote who="Andrew Morton">

<p>Russell King says he has a patch which does
autorepeat in s/w. This is most definitely the best way. I did this in an OS
many years ago - took one look at the XT keyboard specs and said "nope".</p>

<p>It's very easy to do.  Just a little state machine which squirts out the
most recent 'make' code and stops doing that when it sees a 'break'. It also
gives you infinite control over the autorepeat speed, although topping out
at HZ seems reasonable.</p>

</quote>

<p>Russell replied, <quote who="Russell King">I'll be sorting it out later
today when I do my next set of patches for Linus et al.</quote></p>

</section>

<section
  title="kswapd Speedups"
  subject="[PATCH] Re: kswapd"
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_0003_04/msg00971.html"
  posts="11"
  startdate="26 Mar 2000 00:00:00 -0800"
  enddate="27 Mar 2000 00:00:00 -0800"
>
<topic>Virtual Memory</topic>

<mention>Christoph Rohland</mention>
<mention>Mark Hahn</mention>

<p>Rik van Riel posted a patch against 2.3.99pre3, to take some code out from
the interior of a while loop in kswapd; and added, <quote who="Rik van
Riel">I wonder who sent the brown-paper-bag patch with the superfluous while
loop to Linus ...</quote> Kanoj Sarcar replied red handed, <quote who="Kanoj
Sarcar">That would be me ...</quote> He asked what Rik's patch actually
fixed, aside from the while loop, which appeared cosmetic. Rik replied that
ditching the loop was actually a serious fix by itself. Without his patch,
he reported that kswapd used between 50% and 70% of the CPU in a particular
workload. With his patch, it used between 3% and 5% of the CPU. Kanoj
pointed out that the while loop had been in the kernel since way back in
2.3.43, and Linus Torvalds, replying elsewhere, said, <quote who="Linus
Torvalds">you're definitely right that this is not a new bug introduced by
you, Kanoj - this seems to be just a thinko that has been there for a long
long time. And I suspect I may have been the original perpetrator of the
crime.</quote> Kanoj let out a facetious sigh of relief that he hadn't
introduced the bug, and they discussed some of the ins and outs of Rik's
patch. It turned out that, as Linus described the situation prior to Rik's
patch:</p>

<quote who="Linus Torvalds">

<p>What happens is that kswapd is only woken up
when needed, so most of the time it is sleeping. It's only when it is woken
up and when it has done its work when the loop turns into a CPU-burner, but
it can easily mean that kswapd will just spend CPU time for no good reason
until its time-slice is exhausted.</p>

<p>So think of the bug as "kswapd will waste the final part of its timeslice
doing nothing useful".</p>

</quote>

<p>Elsewhere, under the Subject: <a
href="http://kernelnotes.org/lnxlists/linux-kernel/lk_0003_04/msg01025.html">[RFT]
balancing patch</a>, Kanoj posted a separate patch to ease kswapd's CPU
usage. Mark Hahn didn't notice any improvement, and Christoph Rohland
noticed various Out Of Memory breakages when the system started to use swap.
However, Rik reported:</p>

<quote who="Rik van Riel">

<p>I'm now testing Kanoj' balancing patch together
with my kswapd infinite-loop-removal patch. The system seems to work quite
well, I haven't seen any big strangeness in the VM load (the variance in the
amount of free memory is a bit bigger, naturally, but that's to be expected)
and interactive performance from the console seems unaffected.</p>

<p>It would be nice if a few more people tested the combination of 2.3.99-pre3
with Kanoj' balancing patch and my infinite-loop- removal patch ... (because
YMMV)</p>

</quote>

</section>

<section
  title="Mount Code Cleanup"
  subject="[Announce][CFT] loopback mounts and stuff"
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_0003_04/msg00978.html"
  posts="4"
  startdate="26 Mar 2000 00:00:00 -0800"
  enddate="29 Mar 2000 00:00:00 -0800"
>
<topic>FS: ext2</topic>
<topic>FS: procfs</topic>

Alexander Viro called for testers, and announced:

<quote who="Alexander Viro">

<p>Folks, there is a cleanup of mount-related stuff
underway. Right now the patch seems to be usable for testing.</p>

<p>It doesn't include pieces in nfsd and auotfs*, so these simply wont compile,
but it should &lt;knocking the wood&gt; work with everything else.</p>

<p>It allows</p>

<p>

<ol>

<li>to mount the same filesystem several times. Yup, ext2 included. No
cache coherency problems - all instances share the dentry tree.</li>

<li>to work with shmfs without mounting it.</li>

<li>

<p>to do explicit loopback mount. As in</p>

<blockquote>

<code>

# mount -t bind /usr/X11R6 /mnt<br />
# ls /mnt<br />
bin  doc  include  lib  man  share<br />
# cd /mnt<br />
# ls ..<br />
&#160;<br />
bin   dev  home  lost+found  mnt  proc  sbin  usr<br />
boot  etc  lib   misc        opt  root  tmp   var

</code>

</blockquote>

<p>(IOW, unlike the usage of symlinks it gives correct behaviour on ..)</p>

</li>

<li>to mark filesystem type as 'single'. One superblock will be created when
you initialize the driver, all later mounts of that type will be aliases to
that one. IOW, we can start storing procfs immediately in dcache - just a
normal tree. Moreover, kernel can access that tree even if it's not mounted
by user. That's how the shmfs stuff is done. Oh, and all instances will
share the device number, so you can create a thousand chroot jails, mount
devpts on each and spend 1 (one) anonymous device. Ditto for procfs, etc.</li>

</ol>

</p>

<p>Patch (against 2.3.99-pre3) lives on <a
href="ftp://ftp.math.psu.edu/pub/viro/mount-patch-4">ftp://ftp.math.psu.edu/pub/viro/mount-patch-4</a>.</p>

<p>Folks, give it a try. There may be bugs. I think that it's cleaner than the
old code, but don't let it play with critical data. Bug reports are more
than welcome, indeed. Another thing that is _very_ welcome is a discussion
of the export rules in situation when filesystems on server may be mounted
several times (as well as the current implementation - I'ld really like to
hear comments on it, in particular on the exp_parent(). It's either buggy
and doesn't what it is supposed to do or contains seriously superfluous
code). General comments on the patch are also welcome, indeed.</p>

</quote>

</section>

<section
  title="Things To Do Before 2.4: Saga Continues"
  subject="The 2.3.x Job List (Updated)"
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_0003_04/msg01217.html"
  posts="21"
  startdate="28 Mar 2000 00:00:00 -0800"
  enddate="30 Mar 2000 00:00:00 -0800"
>
<topic>Compression</topic>
<topic>Disk Arrays: RAID</topic>
<topic>Disks: IDE</topic>
<topic>Disks: SCSI</topic>
<topic>FS: Coda</topic>
<topic>FS: FAT</topic>
<topic>FS: NFS</topic>
<topic>FS: NTFS</topic>
<topic>FS: UMSDOS</topic>
<topic>I2O</topic>
<topic>Networking</topic>
<topic>PCI</topic>
<topic>Power Management: ACPI</topic>
<topic>SMP</topic>
<topic>Security</topic>
<topic>USB</topic>
<topic>Virtual Memory</topic>
<topic>VisWS</topic>

<p>Alan Cox posted his latest list of things to do before 2.4 could come
out:</p>

<quote who="Alan Cox">

<p>

<ol>

<li>Fixed</li>

<ol>

<li>Tulip hang on rmmod (fixed in .51 ?)</li>

<li>Incredibly slow loopback tcp bug (believed fixed about 2.3.48)</li>

<li>COMX series WAN now merged</li>

<li>VM needs rebalancing or we have a bad leak</li>

<li>SHM works chroot</li>

<li>SHM back compatibility</li>

<li>Intel i960 problems with I2O</li>

</ol>

<li>In Progress</li>

<ol>

<li>Merge the network fixes  (DaveM)</li>

<li>Merge 2.2.15 changes     (Alan)</li>

<li>Get RAID 0.90 in         (Ingo)</li>

</ol>

<li>Fix Exists But Isnt Merged</li>

<ol>

<li>Signals leak kernel memory (security)</li>

<li>msync fails on NFS</li>

<li>Semaphore races</li>

<li>Sempahore memory leak</li>

<li>Exploitable leak in file locking</li>

<li>Symbol clashes and other mess from _three_ copies of zlib!</li>

<li>Shared memory changes change the API breaking applications (eg gimp)</li>

<li>Merge the RIO driver (probably do post 2.4.0 as it is large)</li>

<li>S/390 Merge (merged in AC tree)</li>

<li>via rhine oopses under load ?</li>

<li>1.07 AMI MegaRAID</li>

<li>PCI buffer overruns</li>

<li>SCSI generic driver crashes controllers (need to pass
PCI_DIR_UNKNOWN..)</li>

<li>Finish softnet driver port over and cleanups</li>

</ol>

<li>To Do</li>

<ol>

<li>Restore O_SYNC functionality</li>

<li>Fix eth= command line</li>

<li>Trace numerous random crashes in the inode cache</li>

<li>Fix Space.c duplicate string/write to constants</li>

<li>VM kswapd has some serious problems</li>

<li>vmalloc(GFP_DMA) is needed for DMA drivers</li>

<li>put_user appears to be broken for i386 machines</li>

<li>Fix module remove race bug              (mostly done - Al Viro)</li>

<li>Test other file systems on write</li>

<li>Directory race fix for UFS</li>

<li>Audit all char and block drivers to ensure they are safe with the 2.3
locking - a lot of them are not especially on the open() path.</li>

<li>Stick lock_kernel() calls around driver with issues to hard to fix
nicely for 2.4 itself</li>

<li>PCMCIA/Cardbus hangs, IRQ problems, Keyboard/mouse problem (may be fixed
?)</li>

<li>Use PCI DMA by default in IDE is unsafe (must not do so on via VPx
x&lt;3)</li>

<li>Use PCI DMA 'lost interrupt' problem with some hw [which ?]</li>

<li>Crashes on boot on some Compaqs ?</li>

<li>pci_set_master forces a 64 latency on low latency setting devices.Some
boards require all cards have latency &lt;= 32</li>

<li>usbfs hangs on mount sometimes</li>

<li>Loopback fs hangs</li>

<li>Problems with ip autoconfig according to Zaitcev</li>

<li>Still some SHM bug reports</li>

<li>Any user can crash FAT fs code with ftruncate</li>

</ol>

<li>To Do But Non Showstopper</li>

<ol>

<li>Make syncppp use new ppp code</li>

<li>Finish 64bit vfs merges (lockf64 and friends missing)</li>

<li>NCR5380 isnt smp safe</li>

<li>DMFE is not SMP safe</li>

<li>ACPI hangs on boot for some systems</li>

<li>Get the Emu10K merged</li>

<li>Finish I2O merge</li>

<li>Go through as 2.4pre kicks in and figure what we should mark obsolete
for the final 2.4</li>

<li>Per Process rtsigio limit</li>

<li>Fix SPX socket code</li>

<li>Boot hangs on a range of Dell docking stations (Latitude)</li>

<li>Port SGI VisWS to 2.3.x or mark obsolete</li>

<li>HFS is still broken</li>

<li>iget abuse in knfsd</li>

<li>Mark NTFS as obsolete</li>

<li>Paride seems to need fixes for the block changes yet</li>

<li>PIII FXSAVE/FXRESTORE support</li>

<li>Some people report 2.3.x serial problems</li>

<li>AIC7xxx doesnt work non PCI ?</li>

<li>USB hangs on APM suspend on some machines</li>

<li>PCMCIA crashes on unloading pci_socket</li>

<li>DEFXX driver appears broken</li>

<li>ISAPnP IRQ handling failing on SB1000 + resource handling bug</li>

</ol>

<li>Compatibility Errors</li>

<li>Probably Post 2.4</li>

<ol>

<li>per super block write_super needs an async flag</li>

<li>addres_space needs a VM pressure/flush callback</li>

<li>per file_op rw_kiovec</li>

<li>enhanced disk statistics</li>

<li>AFFS fixups</li>

<li>UMSDOS fixups resync</li>

</ol>

<li>Drivers In 2.2 not 2.4</li>

<ol>

<li>Lan Media WAN</li>

</ol>

<li>To Check</li>

<ol>

<li>Truncate races (Debian apt shows it nicely) [done ? - all but Coda]</li>

<li>Elevator and block handling queue change errors are all sorted</li>

<li>Check O_APPEND atomicity bug fixing is complete</li>

<li>Make sure all drivers return 1 from their __setup functions</li>

<li>Protection on isize  (sct) [Al Viro mostly done]</li>

<li>Mikulas claims we need to fix the getblk/mark_buffer_uptodate thing for
2.3.x as well</li>

<li>Network block device seems broken by block device changes</li>

<li>Fbcon races</li>

<li>Fix all remaining PCI code to use new resources and enable_Device</li>

<li>VFS?VM - mmap/write deadlock</li>

<li>rw sempahores on page faults (mmap_sem)</li>

<li>kiobuf seperate lock functions/bounce/page_address fixes</li>

<li>Fix routing by fwmark</li>

<li>Some FB drivers check the A000 area and find it busy then bomb out</li>

<li>rw semaphores on inodes to fix read/truncate races ? [Probably fixed]</li>

<li>Not all device drivers are safe now the write inode lock isnt taken on
write</li>

<li>File locking needs checking for races</li>

<li>Multiwrite IDE breaks on a disk error</li>

<li>AFFS doesn't work on current page cache</li>

<li>ACPI/APM suspend issue</li>

</ol>

</ol>

</p>

</quote>

<p>Wakko Warner replied to item 4.13 (PCMCIA/Cardbus hangs, IRQ problems,
Keyboard/mouse problem (may be fixed ?)), with, <quote who="Wakko
Warner">Fixed for me. Since yenta doesn't probe irq12, it doesn't cause me
any lockups.</quote></p>

<p>There were some other scattered comments as well, but nothing conclusive.</p>

</section>

<section
  title="Problems With kernel.org Mirrors"
  subject="Linux 2.3.99pre3-ac1"
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_0003_04/msg01320.html"
  posts="6"
  startdate="28 Mar 2000 00:00:00 -0800"
  enddate="29 Mar 2000 00:00:00 -0800"
>
<topic>Kernel Release Announcement</topic>

<mention>James H. Cloos</mention>
<mention>Arjan van de Ven</mention>

<p>Alan Cox announced a patch against 2.3.99pre3, so people could keep up
with him in their debugging expeditions, but Arjan van de Ven noticed
that it wasn't on any of the kernel.org mirrors. Alan replied, <quote
who="Alan Cox">It does appear not to be mirroring right. I've put a copy on <a
href="ftp://ftp.linux.org.uk/pub/linux/alan/">ftp.linux.org.uk:/pub/linux/alan/</a></quote>.
H. Peter Anvin offered, <quote who="H. Peter Anvin">Please
report broken kernel.org mirrors **including IP address** to <a
href="mailto:ftpadmin@kernel.org">ftpadmin@kernel.org</a> as soon as you
can tell, please.</quote> James H. Cloos Jr. also explained:</p>

<quote who="James H. Cloos Jr.">

<p>The notify from ftpadmin to lka-change
didn't go out until Tue, 28 Mar 2000 15:43:24 -0800 or about 70 minutes
after Alan's note (quoted above), or about six hours after Alan's initial
announcement....</p>

<p>I'm sure most of us rsync only once or twice a day from cron(8), plus
whenever lka-change mail arrives, hense the delay.</p>

</quote>

</section>

<section
  title="New Scheduler Code; Locking Issues"
  subject="locking problems"
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_0003_04/msg01361.html"
  posts="5"
  startdate="28 Mar 2000 00:00:00 -0800"
  enddate="29 Mar 2000 00:00:00 -0800"
>
<topic>SMP</topic>

<mention>Andrew Morton</mention>

<p>Rik van Riel posted a patch against 2.3.99, to implement a low overhead fair
process scheduler. As he explained in the code comments, <quote who="Rik van
Riel">It works by handing out CPU time like we do at the normal
recalculation. The catch is that we move the list head (where the
for_each_task() loop starts) to _after_ the first task where we ran out of
quota. This means that if a user has too many runnable processes, his tasks
will get extra CPU time here in turns.</quote> But he reported to the list:</p>

<quote who="Rik van Riel">

<p>Unfortunately it hangs on taking locks in the
recalculation code :(</p>

<p>I'm somewhat amazed by why it hangs and interested in any
explanations...</p>

</quote>

<p>Jun Sun gave his tentative opinion, <quote who="Jun Sun">Interrupt handlers
sometimes call kernel functions that would require a lock on tasklist_lock.
If that interrupt happens during the time you hold write lock on
tasklist_lock, a deadlock would happen.</quote> He suggested using
write_lock_irq() to fix it, and added, <quote who="Jun Sun">BTW, I really
think interrupt handlers acquiring the same locks which can be acquired by
processes is a *BIG* problem in Linux.</quote> Andrew Morton asked why Jun
though this, and Jun replied, <quote who="Jun Sun">Linus told me so. I
believe him. :-)</quote> On a more technical note, he added, <quote who="Jun
Sun">I did sniff around the source code and spotted a couple of places where
locks COULD be acquired by ISRs, but I never did a RUN-TIME check to catch
this situation,</quote> and went on to say:</p>

<quote who="Jun Sun">

<p>I believe the problem here is that Linux does not have
a CLEAR notion and separation of task-context code and interrupt-context
code.</p>

<p>Imagine if a kernel function needs to read task list, then it must acquire a
read lock on tasklist_lock. However, the function might be called from both
process and ISR, then we will have the ISR acquiring lock problem.</p>

<p>I don't know if this has been a problem to Linux in the past.  I am
relatively new to Linux kernel.</p>

</quote>

<p>There was no reply to this, but Rik, replying to Jun's suggested
write_lock_irq(), posted a new patch, and said:</p>

<quote who="Rik van Riel">

<p>Indeed, that was the problem. I was lucky to get a
few good traces by the NMI oopser that identified this problem. Now things
are fixed.</p>

<p>The new patch is attached, for adventurous users. I'm testing it on my SMP
system now.</p>

</quote>

<p>That was it.</p>

</section>

<section
  title="Network Load Balancing"
  subject="iproute and 2.3 question"
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_0003_04/msg01433.html"
  posts="12"
  startdate="28 Mar 2000 00:00:00 -0800"
  enddate="30 Mar 2000 00:00:00 -0800"
>
<topic>Networking</topic>

<mention>George Bonser</mention>

<p>George Bonser noticed in the ip-route cref document, a description of the
'equalize' modifier: "allow packet by packet randomization on multipath
routes. Without this modifier route will be frozen to one selected nexthop,
so that load splitting will occur only on per-flow base." The same document
said that the kernel had to be patched to make use of this feature. George
asked if this was still the case, or if 'equalize' had been integrated into
the main kernel sources. Andi Kleen and Guus Sliepen (author of the patch)
replied that it had not been integrated. Guus gave a pointer to <a
href="ftp://sliepen.warande.net/pub/eql/">the patch</a>, and explained:</p>

<quote who="Guus Sliepen">

<p>It works indeed by throwing out cache entries
every time they have been used. This works for up to at least 20 Mbit/s of
traffic, but not for 400 Mbit/s (both cases have been tried, the former
works fine, the latter does not). You can try it if you like.</p>

<p>Route based load balancing does have certain advantages over bonding
devices. But it's really hard to implement in a clean way in current
kernels. I'd rather see the complete networking code being a module, and
those who want to use different routing/firewalling/scheduling schemes can
load (or even create their own) different modules. The current code is (to
my eye) just a messy bunch of hooks and checks.</p>

</quote>

<p>He added that he'd propose this for 2.5 when the time came. There was no
reply to this, but Andi's reply to the original post, was that equalization
on the routing cache layer was too slow or not fine-grained enough, for
inclusion in the main sources. Someone asked for more explanation, and Andi
replied:</p>

<quote who="Andi Kleen">

<p>Linux has a routing cache that caches routing table
lookups. This is called the destination cache. A destination cache entry is
tied to a specific destination, which means only a single neighbour on a
multipath route. To use multipath routing for load balancing requires
dropping the destination entry after every use, so that another neighbour in
the multipath could be looked up (the destination cache knows nothing about
multipaths, that is all encapsulated in the FIB or routing table)</p>

<p>Dropping them all the time does not work well and is slow. It is also not
finegrained enough (because the decision occurs to early) to get an even
load balancing</p>

<p>Multipath routing is only useful for failover when a device is down in
Linux.</p>

<p>For load balancing you can use the existing eql, teql and bonding devices,
which work at a lower layer and avoid these problems.</p>

</quote>

<p>Alexey Kuznetsov was critical of this explanation, and said that multipath
routing worked <quote who="Alexey Kuznetsov">perfectly when you need to
split load on servers talking to enough large number of clients. Any http
server is good example.</quote> He added that Andi's suggestion of the
existing eql, teql and bonding devices, would introcude <quote who="Alexey
Kuznetsov">even worse problem of strong tcp reordering. Actually,
experiments show that load balancing works only in the situations, when
congestion window is bounded by 3 packets. If it is not made artificially,
it occurs automatically on each connection after some amount of excessive
retransmissions. Total single TCP connection throughput is never better in
this case. Actually, it hints to the thought that "true load blalancing" has
to involve tracking connections and avoiding reordering TCP packets.</quote>
There was no reply to this, but there was a bit of implementation discussion
elsewhere, along the lines of Andi's explanations.</p>

</section>

<section
  title="AFFS Support And Discussion"
  subject="AFFS progress."
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_0003_05/msg00004.html"
  posts="37"
  startdate="29 Mar 2000 00:00:00 -0800"
  enddate="03 Apr 2000 00:00:00 -0800"
>
<topic>FS: FAT</topic>
<topic>FS: ext2</topic>

<p>Dave Jones posted several patches to update AFFS, although he proclaimed
loudly that this code was possibly dangerous and should not be used without
extensive backups. At one point, he added, <quote who="Dave Jones">I'm
coding without tools to test this, so I need help from the people who are
going to be using this.. I'd also appreciate feedback from other filesys/vfs
guys about anything in this patch that just 'doesn't look right' I've gone
from knowing nothing about fs/VFS to this diff in four days, and now my head
hurts. I wouldn't be at all surprised if I've done _something_ wrong
somewhere.</quote> To Dave's discussion of ongoing work and problems,
Alexander Viro replied:</p>

<quote who="Alexander Viro">

<p>real problems with AFFS are different. I'll
bring the pre-patch I've
done back in September from backups tomorrow and then you'll get more
detailed description, but right now I can recall the following:</p>

<p>

<ol>

<li>AFFS handles links horribly. It has pseudo-inodes for all
links and they point to the real one. Unfortunately, that "real" inode
_must_ belong to some directory. Which means that if you create a link to
file and remove the original link you are in for pain. You can't just remove
the original entry from its hash chain. So the bloody thing finds some other
link, moves the name into original one, inserts the original into hash chain
of the other and kills other. It means that unlink() in one directory may
reshuffle another. And you've got _no_ protection by i_sem on another
directory - any attempt to get it will lead to easy deadlocks. Consequence:
_easy_ races.</li>

<li>You have to account for situations when link() and unlink() race with
each other. Again, not done in the current code.</li>

<li>Links on directories easily kill VFS. Don't.</li>

<li>Since some operations (e.g. rename) involve a _lot_ of hash chains
walking and pointers switching - beware of the failure modes when you abort
in the middle of modification. It may easily leave you with fucked up
filesystem.</li>

</ol>

</p>

<p>It's a lot of crap to fix and I gave up on that when I got more pressing
things to do. I can pass you the patch along with notes. I can remove the
swearwords - you will reinsert them as soon as you'll play with this beast
yourself.</p>

<p>The bottom line: AFFS design is a festering pile of dung and attempts to
make it look like UNIX filesystem only made it uglier. Judging by dejanews
search, AmigaOS itself doesn't handle it well. Hell knows what had stopped
them from replacing it with decent filesystem - with the thing outside of
kernel it wasn't that hard to do... Damnit, FAT is not so braindead compared
to that abortion.</p>

</quote>

<p>Matthias Andree added his sentiments, <quote who="Matthias Andree">These
problems you mention have been persisting in AmigaOS for years ever since
links had been introduced with AmigaOS 2, PLUS, AmigaOS shell commands have
had bugs so that only the GNU ported fileutils along with the
FileSystem-based (as opposed to dos.library based) ixemul.library could get
you rid of directory symlinks; this is partly because links had originally
not been present in AmigaOS 1.x, partly because they fucked things up really
bad.</quote> He went on:</p>

<quote who="Matthias Andree">

<p>There are some commercial (AFS/PFS - some
versions of these are also fucked beyond repair) and at least to freeware
(SFS, Berkeley FFS Amiga port) filesystems, I never checked them for
completeness or stability, though. Amiga users seem to be quite satisfied
with SFS which is claimed to be journalling.</p>

<p>The Dircache (DCFS) option of OFS/FFS (DOS\4 and DOS\5) are also claimed to
be fucked somewhat and slow things down for disks with low random access
times such as hard disks.</p>

<p>If you consider seriously revamping the AFFS support, I strongly urge to get
hold of Ralph Babel's "The Amiga Guru Book" which contains carefully
collected information on DOS internals, while you will still need the Amiga
Developer's CD for information on Dircache.</p>

<p>I've given up almost all my AmigaOS activities for the sake of Unix, AmigaOS
has given me too much grief with all its troubles, it had just shoot one
filesystem beyond recovery (into crash-on-access state) once again.</p>

<p>And since that stuff is so severely fucked, I suggest marking write support
EXPERIMENTAL and add a kernel compile-time option for that.</p>

</quote>

<p>Dave also replied to Alexander's harsh critique, adding, <quote who="Dave
Jones">Which is probably why someone came along and wrote PFS (Professional
File System) for it, and made a whole load of money from it.</quote> He
asked, <quote who="Dave Jones">Anyone know if any tech-documentation on this
exists? That may be an interesting filesystem to hack on when I'm done with
AFFS..</quote> Nicholai didn't know of anything for PFS, but he added,
<quote who="Nicholai Benalal">Smart File System (SFS) on the other hand is a
free (as in beer) filesystem with good technical documentation. It has
gained ground in the amiga community lately.</quote> He gave a pointer to <a
href="http://www.xs4all.nl/~hjohn/SFS">an SFS page</a>.</p>

<p>But Nicholai Benalal came somewhat to AmigaOS' defense in response to
Alexander's stark depiction, saying, <quote who="Nicholai Benalal">AFFS
works allright under AmigaOS. It has limitations but generally it's ok.
Still, a lot of people use other filesystems for AmigaOS but there are no
Linux drivers for these. So the best way to transfer files between the Amiga
side and Linux is still the buggy Linux affs driver :-)</quote> A lot of
people pointed out that the 'tar' command might be a decent alternative.
Matthias added that lack of Linux drivers for the other filesystems might
have something to do with the lack of available sources for those primarily
commercial filesystems. He also disagreed with Nicholai's assertion that
AFFS worked passably under AmigaOS. He expressed, <quote who="Matthias
Andree">It blows itself off its very feet when crashing at the wrong time
and leaving a system behind that's corrupted beyond repair. This is
happening all over the place every now and then.</quote></p>

<p>Rask Ingemann Lambertsen replied, <quote who="Rask Ingemann Lambertsen">AFFS
is as good (or bad) as ext2 in this regard.</quote> But Matthias and
Alexander both objected to this. Alexander said, <quote who="Alexander
Viro">It is not. You need much more atomic operations to get from one valid
state of filesystem to another. And I mean _much_ more - as minimum twice.
Data structure is designed by complete loonie - just look at it and write
down the worst-case set of modifications to be done upon rename(). Pay
attention to the size of critical part - _some_ steps can be performed
without corrupting the structure if you fail after them, but there is a nice
lump that should be taken together or not at all. Now, do the same for FFS
(_real_ one, designed by sane people). Or its descendants - ext2, ufs...
Compare the results.</quote> And Matthias also said, <quote who="Matthias
Andree">AFFS is much worse. It needs reordering hash chains, touching
several and so on even on a single rename. If your machine crashes before
all blocks have been written, you're in trouble, since tools that handle
this do not come with AmigaOS. I've NEVER lost so much data with ext2
because of corruption as I recently lost with affs (on AmigaOS). AFFS is
fine only as long as you don't touch anything.</quote></p>

</section>

<section
  title="Intel eepro100 Driver To Be GPL-Compatible?"
  subject="[PATCH] eepro100.c"
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_0003_05/msg00410.html"
  posts="14"
  startdate="30 Mar 2000 00:00:00 -0800"
  enddate="31 Mar 2000 00:00:00 -0800"
>

<p>Dragan Stancevic posted a patch to the non-Intel eepro100 driver, to provide
more detailed information about installed devices, and in the course of
discussion, Alan Cox mentioned, <quote who="Alan Cox">I've had some
discussion with intel about fixing the licensing for the eepro100 driver
they released so that we can merge the two (they have support for more
boards, ucode for interrupt mitigation, errata workarounds and portability
and locking flaws.</quote> He added, <quote who="Alan Cox">I have a positive
answer I dont quite understand 8) from the Intel lawyers.</quote> Dragon
replied, <quote who="Dragan Stancevic">I was not aware that intel is
reconsidering their license... Did they give you any time frames to when the
intel driver might be release under a more compatible license?</quote> And
Alan Concluded, <quote who="Alan Cox">Basically once I finish talking to the
lawyer. I've just not had time and I'll be busy next week too.</quote></p>

</section>

<section
  title="This Year's April Fool's Joke"
  subject="Linux 2000(tm)(r)"
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_0003_05/msg00600.html"
  posts="21"
  startdate="01 Apr 2000 00:00:00 -0800"
  enddate="02 Apr 2000 00:00:00 -0800"
>
<topic>Microsoft</topic>

<mention>Linus Torvalds</mention>

<p>Someone purporting to be Linus Torvalds announced that he'd partnered with
Microsoft and would be selling Linux from now on. Everyone rolled their
eyes, but the interesting part is how quickly the identity of the poster was
established. Within a day his name and various personal details were known
and published. It looked as though a serious manhunt would soon be under
way, until Michael Talbot-Wilson said, <quote who="Michael
Talbot-Wilson">Hey, guys. Enough, huh? He intentionally made it clear enough
that it was a joke. Fun for a couple of minutes, right?</quote></p>

</section>

<section
  title="New Networking HOWTOs And LVM HOWTO"
  subject="[DOCUMENTATION] 3 2.4 HOWTOs. Traffic Shaping, iproute2 and LVM"
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_0004_01/msg00100.html"
  posts="1"
  startdate="02 Apr 2000 00:00:00 -0800"
  enddate="02 Apr 2000 00:00:00 -0800"
>
<topic>Disk Arrays: LVM</topic>
<topic>Version Control</topic>

<p>Continuing from last week in <kcref subject="HOWTO"
startdate="22 Mar 2000 00:00:00 -0800"></kcref><!-- kt20000403_61.html#15 -->, Bert Hubert
announced:</p>

<quote who="Bert Hubert">

<p>3 new HOWTOs:</p>

<p>

<ul>

<li>

<p>Linux 2.4 Advanced Routing &amp; Traffic Shaping HOWTO <a
href="http://www.ds9a.nl/2.4Routing">http://www.ds9a.nl/2.4Routing</a></p>

<p>Do interesting stuff with netfilter, ip, tc and other tools. Already quite
long and considered useful by a lot of people. Cooperative project with 4
authors working together via CVS</p>

</li>

<li>

<p>Linux 2.4 Networking <a
href="http://www.ds9a.nl/2.4Networking">http://www.ds9a.nl/2.4Networking</a></p>

<p>iproute2 HOWTO which also tries to impart understanding of basic Linux
networking. Still in its very early stages and desperately needs more
authors.</p>

</li>

<li>

<p>Linux Logical Volume Manager HOWTO <a
href="http://www.ds9a.nl/lvm-howto">http://www.ds9a.nl/lvm-howto</a></p>

<p>A very hands on HOWTO about LVM. In its early stages as well but already
quite useful - progressing rapidly.</p>

</li>

</ul>

</p>

</quote>

</section>

</kc>

