<?xml version="1.0" ?>

<kc>

<title>Kernel Traffic</title>

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

<issue num="149" date="07 Jan 2002 00:00:00 -0800" />

<intro>

<p>I'd like to take a moment to mention <a
href="http://www.bookfinder.com/">Bookfinder</a>, a very nice free book
finding service. What they do is query many different booksellers
on the net, and return the results. You can specify whether you
want new or used books, particular price ranges, and a lot of other
stuff. I use them for all my book searches. They also have a couple <a
href="http://www.bookfinder.com/interact/lists/">mailing lists</a> for
discussing the service. They're really committed to making the site kick
ass.</p>

<p>To test it out, try searching for <a
href="http://www.bookfinder.com/search/?title=linux&amp;st=xl&amp;ac=qr">books on
Linux</a>.</p>

</intro>

<stats posts="1382" size="5590" contrib="366" multiples="187" lastweek="137">

<person posts="97" size="244" who="Alan Cox " />
<person posts="49" size="191" who="Davide Libenzi " />
<person posts="48" size="162" who="Dave Jones " />
<person posts="37" size="138" who="Linus Torvalds " />
<person posts="37" size="132" who="&quot;H. Peter Anvin&quot; " />
<person posts="30" size="99" who="Rik van Riel " />
<person posts="29" size="123" who="Jens Axboe " />
<person posts="27" size="141" who="Daniel Phillips " />
<person posts="27" size="114" who="Larry McVoy " />
<person posts="21" size="71" who="Alexander Viro " />
<person posts="21" size="59" who="&quot;David S. Miller&quot; " />
<person posts="20" size="70" who="Andrew Morton " />
<person posts="18" size="56" who="Oliver Xymoron " />
<person posts="16" size="81" who="Keith Owens " />
<person posts="16" size="53" who="Richard Gooch " />
<person posts="15" size="104" who="Andre Hedrick " />
<person posts="14" size="54" who="Andreas Dilger " />
<person posts="14" size="46" who="Arnaldo Carvalho de Melo " />
<person posts="13" size="39" who="Benjamin LaHaise " />
<person posts="12" size="89" who="" />
<person posts="12" size="47" who="Zwane Mwaikambo " />
<person posts="12" size="47" who="Jeff Garzik " />
<person posts="11" size="47" who="" />
<person posts="11" size="44" who=" (Eric W. Biederman)" />
<person posts="11" size="38" who="Christian Ohm " />
<person posts="10" size="38" who="Russell King " />
<person posts="9" size="39" who="Dave Cinege " />
<person posts="9" size="33" who="David Brownell " />
<person posts="9" size="31" who="Timothy Covell " />
<person posts="8" size="50" who="Mikael Pettersson " />
<person posts="8" size="29" who="Stephan von Krawczynski " />
<person posts="8" size="24" who="&quot;Eric S. Raymond&quot; " />
<person posts="8" size="22" who="Ryan Cumming " />
<person posts="7" size="63" who="Henk de Groot " />
<person posts="7" size="31" who="george anzinger " />
<person posts="7" size="29" who="James A Sutherland " />
<person posts="7" size="23" who="Bill Huey " />
<person posts="7" size="22" who="Ralf Baechle " />
<person posts="7" size="21" who="Legacy Fishtank " />
<person posts="7" size="18" who="&quot;victor1 torres&quot; " />
<person posts="7" size="17" who="Greg KH " />
<person posts="6" size="56" who="=?iso-8859-1?Q?Andr=E9?= Dahlqvist " />
<person posts="6" size="28" who="Rob Landley " />
<person posts="6" size="25" who="Geert Uytterhoeven " />
<person posts="6" size="22" who="Pavel Machek " />
<person posts="6" size="21" who="&quot;Grover, Andrew&quot; " />
<person posts="6" size="21" who="Victor Yodaiken " />
<person posts="6" size="21" who="Bryce Nesbitt " />
<person posts="6" size="19" who="Momchil Velikov " />
<person posts="6" size="16" who="" />
<person posts="5" size="35" who="Manfred Spraul " />
<person posts="5" size="35" who="Roy Hills " />
<person posts="5" size="25" who="Dana Lacoste " />
<person posts="5" size="23" who="Matthew Dharm " />
<person posts="5" size="20" who="Ingo Molnar " />
<person posts="5" size="20" who="Pete Zaitcev " />
<person posts="5" size="19" who="Miles Lane " />
<person posts="5" size="19" who="Nicholas Knight " />
<person posts="5" size="18" who="Edward Muller " />
<person posts="5" size="18" who="Cameron Simpson " />
<person posts="5" size="17" who="Tom Rini " />
<person posts="5" size="16" who="Oleg Drokin " />
<person posts="5" size="16" who="Heinz Diehl " />
<person posts="5" size="15" who="William Lee Irwin III " />
<person posts="5" size="15" who="&quot;M. Edward (Ed) Borasky&quot; " />
<person posts="5" size="15" who="Mike " />
<person posts="5" size="14" who="Shawn Starr " />
<person posts="5" size="13" who="" />
<person posts="5" size="13" who="Jeff Dike " />
<person posts="5" size="12" who="Amber Palekar " />
<person posts="4" size="23" who="Jesse Pollard " />
<person posts="4" size="20" who="=?ISO-8859-1?Q?G=E9rard_Roudier?= " />
<person posts="4" size="18" who="Troy Benjegerdes " />
<person posts="4" size="17" who="&quot;Eyal Sohya&quot; " />
<person posts="4" size="17" who="Hans Reiser " />
<person posts="4" size="15" who="David Ford " />
<person posts="4" size="15" who="Riley Williams " />
<person posts="4" size="14" who="Dieter =?iso-8859-15?q?N=FCtzel?= " />
<person posts="4" size="14" who="Erik Mouw " />
<person posts="4" size="13" who="Anton Tinchev " />
<person posts="4" size="13" who="John Heil " />
<person posts="4" size="13" who=" (Kai Henningsen)" />
<person posts="4" size="13" who="Mike Kravetz " />
<person posts="4" size="13" who="Dan Kegel " />
<person posts="4" size="12" who="Petri Kaukasoina " />
<person posts="4" size="12" who="Gerold Jury " />
<person posts="4" size="12" who="Trond Myklebust " />
<person posts="4" size="12" who="Martin Dalecki " />
<person posts="4" size="11" who="Josep Lladonosa i Capell " />
<person posts="4" size="11" who="&quot;M. Edward Borasky&quot; " />
<person posts="3" size="41" who="Todor Todorov " />
<person posts="3" size="39" who="James Simmons " />
<person posts="3" size="31" who="Lionel Bouton " />
<person posts="3" size="30" who="Frank Davis " />
<person posts="3" size="14" who=" (Linus Torvalds)" />
<person posts="3" size="13" who="Ken Brownfield " />
<person posts="3" size="13" who="Dieter =?iso-8859-1?q?N=FCtzel?= " />
<person posts="3" size="12" who="Peter =?iso-8859-1?Q?W=E4chtler?= " />
<person posts="3" size="11" who="&quot;Adam J. Richter&quot; " />
<person posts="3" size="11" who="&quot;Dead2&quot; " />
<person posts="3" size="11" who="Otto Wyss " />
<person posts="3" size="10" who="Andrew Clausen " />
<person posts="3" size="10" who="Albert Cranford " />
<person posts="3" size="10" who="Leung Yau Wai " />
<person posts="3" size="10" who="Thomas Winischhofer " />
<person posts="3" size="10" who="Neil Brown " />
<person posts="3" size="10" who="J Sloan " />
<person posts="3" size="10" who="Tony Hoyle " />
<person posts="3" size="9" who="Hetz Ben Hamo " />
<person posts="3" size="9" who="Grahame Jordan " />
<person posts="3" size="9" who="=?ISO-8859-1?Q?Ra=FAl?= =?ISO-8859-1?Q?N=FA=F1ez?= de Arenas" />
<person posts="3" size="9" who="Thomas Hood " />
<person posts="3" size="9" who="&quot;Trever L. Adams&quot; " />
<person posts="3" size="9" who="Itai Nahshon " />
<person posts="3" size="9" who="Robert Love " />
<person posts="3" size="9" who="Edgar Toernig " />
<person posts="3" size="8" who="&quot;J.A. Magallon&quot; " />
<person posts="3" size="8" who="Jens Axboe " />
<person posts="3" size="8" who="James Bottomley " />
<person posts="3" size="8" who="Lennert Buytenhek " />
<person posts="3" size="8" who="Matthias Andree " />
<person posts="3" size="7" who="Michael Cohen " />
<person posts="2" size="36" who="Micah Anderson " />
<person posts="2" size="30" who="Ernst Herzberg " />
<person posts="2" size="21" who="Thomas Gschwind " />
<person posts="2" size="18" who="Kai Germaschewski " />
<person posts="2" size="15" who="" />
<person posts="2" size="13" who="Jurriaan on Alpha " />
<person posts="2" size="13" who="Eric Lammerts " />
<person posts="2" size="11" who="&quot;T. A.&quot; " />
<person posts="2" size="9" who="&quot;Mark Harrop&quot; " />
<person posts="2" size="9" who="Suparna Bhattacharya " />
<person posts="2" size="9" who="&quot;Phil Oester&quot; " />
<person posts="2" size="9" who="Jure Pecar " />
<person posts="2" size="9" who="David Weinehall " />
<person posts="2" size="9" who="&quot;Raghavendra Koushik&quot; " />
<person posts="2" size="8" who="John Alvord " />
<person posts="2" size="8" who="Jesper Juhl " />
<person posts="2" size="8" who="Lincoln Dale " />
<person posts="2" size="8" who="Stewart Smith " />
<person posts="2" size="8" who="&quot;Stolle, Martin (KIV)&quot; " />
<person posts="2" size="8" who="Doug Ledford " />
<person posts="2" size="8" who="Peter Osterlund " />
<person posts="2" size="7" who="Horst von Brand " />
<person posts="2" size="7" who="Thomas Capricelli " />
<person posts="2" size="7" who="&quot;Paul G. Allen&quot; " />
<person posts="2" size="7" who="Wolfgang Erig " />
<person posts="2" size="7" who="john slee " />
<person posts="2" size="7" who="Jeff " />
<person posts="2" size="7" who="Matti Aarnio " />
<person posts="2" size="7" who="&quot;Jeffrey W. Baker&quot; " />
<person posts="2" size="7" who="Terje Eggestad " />
<person posts="2" size="7" who="" />
<person posts="2" size="7" who="Bernhard Rosenkraenzer " />
<person posts="2" size="7" who="Tim Keating " />
<person posts="2" size="7" who="&quot;Astinus&quot; " />
<person posts="2" size="6" who="Erik Andersen " />
<person posts="2" size="6" who="Marcelo Tosatti " />
<person posts="2" size="6" who="Benjamin Herrenschmidt " />
<person posts="2" size="6" who="Zoran Davidovac " />
<person posts="2" size="6" who="Luigi Genoni " />
<person posts="2" size="6" who="Ben Greear " />
<person posts="2" size="6" who="Craig Christophel " />
<person posts="2" size="6" who="Mike Castle " />
<person posts="2" size="6" who="&quot;James Stevenson&quot; " />
<person posts="2" size="5" who="Dominik Mierzejewski " />
<person posts="2" size="5" who="Eliezer dos Santos =?ISO-8859-1?Q?Magalh=E3es?=" />
<person posts="2" size="5" who="" />
<person posts="2" size="5" who="Santiago Garcia Mantinan " />
<person posts="2" size="5" who=" (Henning Schmiedehausen)" />
<person posts="2" size="5" who="&quot;Manfred Spraul&quot; " />
<person posts="2" size="5" who="Philip Harvey " />
<person posts="2" size="5" who="John Weber " />
<person posts="2" size="5" who="Francois Romieu " />
<person posts="2" size="5" who="Douglas Gilbert " />
<person posts="2" size="5" who="Brian Craft " />
<person posts="2" size="5" who="Wichert Akkerman " />
<person posts="2" size="5" who="Mike Galbraith " />
<person posts="2" size="5" who="Richard Henderson " />
<person posts="2" size="5" who="Andrew Cannon " />
<person posts="2" size="5" who="snpe " />
<person posts="2" size="5" who="" />
<person posts="2" size="5" who="Guest section DW " />
<person posts="2" size="4" who="David Woodhouse " />
<person posts="2" size="4" who="ertzog " />
<person posts="2" size="4" who="samson swanson " />
<person posts="2" size="4" who="Philippe Trottier " />
<person posts="1" size="42" who="Fabio Tudone " />
<person posts="1" size="40" who="Mark Hindley " />
<person posts="1" size="31" who="Frank Cornelis " />
<person posts="1" size="28" who="Scott McDermott " />
<person posts="1" size="24" who="&quot;Todd R. Eigenschink&quot; " />
<person posts="1" size="24" who="&quot;Friedrich Lindenberg&quot; " />
<person posts="1" size="21" who="Steven Walter " />
<person posts="1" size="15" who="=?iso-8859-1?Q?Rickard_=C5berg?= " />
<person posts="1" size="14" who="Ken Moffat " />
<person posts="1" size="12" who="" />
<person posts="1" size="11" who="Christoph Rohland " />
<person posts="1" size="11" who="Moritz Franosch " />
<person posts="1" size="11" who="" />
<person posts="1" size="10" who="Ed Tomlinson " />
<person posts="1" size="10" who="Jimmie Mayfield " />
<person posts="1" size="8" who="Myrddin Ambrosius " />
<person posts="1" size="8" who="Michal Kuratczyk " />
<person posts="1" size="8" who="Tim Moore " />
<person posts="1" size="7" who="Andru Hill " />
<person posts="1" size="6" who="safemode " />
<person posts="1" size="6" who="Zdenek Kabelac " />
<person posts="1" size="6" who="" />
<person posts="1" size="6" who="Serguei Miridonov " />
<person posts="1" size="6" who=" (Bob_Tracy)" />
<person posts="1" size="5" who="David Lang " />
<person posts="1" size="5" who="Roger Larsson " />
<person posts="1" size="5" who="Michal Jaegermann " />
<person posts="1" size="5" who="Nick Kurshev " />
<person posts="1" size="5" who="Dave Carrigan " />
<person posts="1" size="5" who="Peter Hartzler " />
<person posts="1" size="5" who="&quot;Eshwar D - CTD, Chennai.&quot; " />
<person posts="1" size="4" who="Jon Masters " />
<person posts="1" size="4" who="Holzer Harald " />
<person posts="1" size="4" who="David Chow " />
<person posts="1" size="4" who="Wayne Whitney " />
<person posts="1" size="4" who="KANDA Mitsuru / =?ISO-2022-JP?B?GyRCP0BFRBsoQiAbJEI9PBsoQg==?=" />
<person posts="1" size="4" who="Bill " />
<person posts="1" size="4" who="Tuxisuau " />
<person posts="1" size="4" who="&quot;Chris, Lo Cheuk Kong&quot; " />
<person posts="1" size="4" who=" (Christian Koenig)" />
<person posts="1" size="4" who="Christoph Hellwig " />
<person posts="1" size="4" who="&quot;Dan Maas&quot; " />
<person posts="1" size="4" who="Daniel Stodden " />
<person posts="1" size="4" who="Harald Holzer " />
<person posts="1" size="4" who="Alvin of Diaspar " />
<person posts="1" size="4" who="&quot;Jeremy Jackson&quot; " />
<person posts="1" size="4" who="Wakko Warner " />
<person posts="1" size="4" who="Florian Lohoff " />
<person posts="1" size="4" who="&quot;Kevin P. Fleming&quot; " />
<person posts="1" size="4" who="&quot;James Stevenson&quot; " />
<person posts="1" size="4" who="Jan Schubert " />
<person posts="1" size="4" who="Atomic Killer Attack Fish " />
<person posts="1" size="4" who="Andreas Steinmetz " />
<person posts="1" size="4" who="Michael De Nil " />
<person posts="1" size="3" who="" />
<person posts="1" size="3" who="Michael Dunsky " />
<person posts="1" size="3" who=" (Henrique de Moraes Holschuh)" />
<person posts="1" size="3" who="Jorge Nerin " />
<person posts="1" size="3" who="CJ " />
<person posts="1" size="3" who="Matthias Kilian " />
<person posts="1" size="3" who="&quot;Herman Oosthuysen&quot; " />
<person posts="1" size="3" who="Andreas Haumer " />
<person posts="1" size="3" who="Adam Schrotenboer " />
<person posts="1" size="3" who="Willem Riede " />
<person posts="1" size="3" who="Andrea Arcangeli " />
<person posts="1" size="3" who="&quot;M. R. Brown&quot; " />
<person posts="1" size="3" who="Zilvinas Valinskas " />
<person posts="1" size="3" who="=?iso-8859-1?Q?Jos=E9_Luis_Domingo_L=F3pez?= " />
<person posts="1" size="3" who=" (Colonel)" />
<person posts="1" size="3" who=" (V Ganesh)" />
<person posts="1" size="3" who="Ryan Butler " />
<person posts="1" size="3" who="&quot;Eugene M. Indenbom&quot; " />
<person posts="1" size="3" who="Jason Lott " />
<person posts="1" size="3" who="Brian Gerst " />
<person posts="1" size="3" who="&quot;Michael P. Soulier&quot; " />
<person posts="1" size="3" who="Andreas Schwab " />
<person posts="1" size="3" who="Chuck Mead " />
<person posts="1" size="3" who="Ido Diamant " />
<person posts="1" size="3" who="Denis Oliver Kropp " />
<person posts="1" size="3" who="Erik de Castro Lopo " />
<person posts="1" size="3" who="Steven Pritchard " />
<person posts="1" size="3" who="Jeroen Vreeken " />
<person posts="1" size="3" who="&quot;Bao C. Ha&quot; " />
<person posts="1" size="3" who="walt " />
<person posts="1" size="3" who="&quot;Idrigal \(Eric Rautenkranz\)&quot; " />
<person posts="1" size="3" who="Wilfried Weissmann " />
<person posts="1" size="3" who="Martin Knoblauch " />
<person posts="1" size="3" who="Ben LaHaise " />
<person posts="1" size="3" who="Sven Geggus " />
<person posts="1" size="3" who="Gregor Jasny " />
<person posts="1" size="3" who="Torrey Hoffman " />
<person posts="1" size="3" who="Vitaly Lipatov " />
<person posts="1" size="3" who="Gerd Knorr " />
<person posts="1" size="3" who="Martin Josefsson " />
<person posts="1" size="3" who="Urban Widmark " />
<person posts="1" size="3" who="David Mansfield " />
<person posts="1" size="3" who="Matthew Dickinson " />
<person posts="1" size="3" who="Mike Touloumtzis " />
<person posts="1" size="3" who="" />
<person posts="1" size="3" who="Dennis Thompson " />
<person posts="1" size="3" who="Phil Howard " />
<person posts="1" size="3" who="Samuel Maftoul " />
<person posts="1" size="3" who="Stephen Rothwell " />
<person posts="1" size="3" who="Yoann Vandoorselaere " />
<person posts="1" size="3" who="&quot;Q ED&quot; " />
<person posts="1" size="3" who="Daniel Freedman " />
<person posts="1" size="3" who="Joseph Mathewson " />
<person posts="1" size="3" who="Peter Osterlund " />
<person posts="1" size="3" who="David Findlay " />
<person posts="1" size="3" who="Narancs v1 " />
<person posts="1" size="3" who="&quot;Lee Packham&quot; " />
<person posts="1" size="3" who="Robert Schwebel " />
<person posts="1" size="3" who="Vojtech Pavlik " />
<person posts="1" size="3" who="Jan Niehusmann " />
<person posts="1" size="3" who="Olivier Galibert " />
<person posts="1" size="2" who="J Sloan " />
<person posts="1" size="2" who="&quot;David A. Frantz&quot; " />
<person posts="1" size="2" who="&quot;Jean-Francois De Rudder&quot; " />
<person posts="1" size="2" who="antirez " />
<person posts="1" size="2" who="_PepeR_ " />
<person posts="1" size="2" who="Christoph Hellwig " />
<person posts="1" size="2" who="Sascha Andres " />
<person posts="1" size="2" who="Marius Gedminas " />
<person posts="1" size="2" who=" (Christer Weinigel)" />
<person posts="1" size="2" who="&quot;Daniel T. Chen&quot; " />
<person posts="1" size="2" who="Helge Hafting " />
<person posts="1" size="2" who="Marcus Meissner " />
<person posts="1" size="2" who="Patrick Schaaf " />
<person posts="1" size="2" who="Martin Jonsson " />
<person posts="1" size="2" who="Rusty Russell " />
<person posts="1" size="2" who="christian e " />
<person posts="1" size="2" who="Calyth " />
<person posts="1" size="2" who="Adrian Cox " />
<person posts="1" size="2" who="Robert Szentmihalyi " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Chris Ricker " />
<person posts="1" size="2" who="&quot;Glover George&quot; " />
<person posts="1" size="2" who="Sam Krasnik " />
<person posts="1" size="2" who="&quot;Arturas V&quot; " />
<person posts="1" size="2" who="Bernd Eckenfels " />
<person posts="1" size="2" who="Anton Blanchard " />
<person posts="1" size="2" who="Flavio Stanchina " />
<person posts="1" size="2" who=" (Wichert Akkerman)" />
<person posts="1" size="2" who="CaT " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Jan-Benedict Glaw " />
<person posts="1" size="2" who="&quot;Tobias Reinhard&quot; " />
<person posts="1" size="2" who="Anuradha Ratnaweera " />
<person posts="1" size="2" who="Jacques Gelinas " />
<person posts="1" size="2" who="Leonardo Pimenta Gonzalez " />
<person posts="1" size="2" who="Roberto Nibali " />
<person posts="1" size="2" who="Sandor Dibuz " />
<person posts="1" size="2" who="=?iso-8859-2?B?R+Fib3IgTOlu4XJ0?= " />
<person posts="1" size="2" who="&quot;Jeffrey W. Baker&quot; " />
<person posts="1" size="2" who="&quot;Natasha Portillo&quot; " />
<person posts="1" size="2" who="&quot;Taavo Raykoff&quot; " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Thierry Forveille " />
<person posts="1" size="2" who="&quot;Troels Walsted Hansen&quot; " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Javier Miguel =?ISO-8859-1?Q?Rodr=EDguez?= " />
<person posts="1" size="2" who="Andre Hedrick " />
<person posts="1" size="2" who="Sebastian =?ISO-8859-1?Q?Dr=F6ge?= " />
<person posts="1" size="2" who="Kevin Breit " />
<person posts="1" size="2" who="&quot;Wildcat&quot; " />
<person posts="1" size="2" who="&quot;Tulika Pradhan&quot; " />
<person posts="1" size="2" who="&quot;Shane Painter&quot; " />
<person posts="1" size="2" who="&quot;Kousalya K&quot; " />
<person posts="1" size="2" who="jz " />
<person posts="1" size="2" who="&quot;Lee Packham&quot; " />
<person posts="1" size="2" who="&quot;Udo A. Steinberg&quot; " />
<person posts="1" size="2" who="Craig Rodrigues " />
<person posts="1" size="2" who="&quot;Rick A. Hohensee&quot; " />
<person posts="1" size="2" who="rpjday " />
<person posts="1" size="2" who="Girish Hilage " />
<person posts="1" size="2" who="&quot;Rajeev Bector&quot; " />
<person posts="1" size="2" who="jeff " />
<person posts="1" size="1" who="Daniel Hammer " />

</stats>

<section
  title="The Scheduler; Development Philosophy; IRC"
  subject="Re: Just a second ..."
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0112.1/1623.html"
  posts="174"
  startdate="15 Dec 2001 16:13:12 -0800"
  enddate="27 Dec 2001 01:36:40 -0800"
>
<topic>Development Philosophy</topic>
<topic>FS: ext3</topic>
<topic>Ottawa Linux Symposium</topic>
<topic>Process Scheduling</topic>
<topic>SMP</topic>
<topic>Scheduler</topic>
<topic>Spam</topic>
<topic>Virtual Memory</topic>

<p>Davide Libenzi asked Linus Torvalds why he had abstained from any discussion
of the future of the schedule code. Linus replied:</p>

<quote who="Linus Torvalds">

<p>I just don't find it very interesting. The scheduler is about 100 lines
out of however-many-million (3.8 at least count), and doesn't even impact
most normal performace very much.</p>

<p>We'll clearly do per-CPU runqueues or something some day. And that worries
me not one whit, compared to thigns like VM and block device layer ;)</p>

<p>I know a lot of people think schedulers are important, and the operating
system theory about them is overflowing - it's one of those things that people
can argue about forever, yet is conceptually simple enough that people aren't
afraid of it. I just personally never found it to be a major issue.</p>

<p>Let's face it - the current scheduler has the same old basic structure
that it did almost 10 years ago, and yes, it's not optimal, but there really
aren't that many real-world loads where people really care. I'm sorry,
but it's true.</p>

<p>And you have to realize that there are not very many things that have
aged as well as the scheduler. Which is just another proof that scheduling
is easy.</p>

<p>We've rewritten the VM several times in the last ten years, and I expect
it will be changed several more times in the next few years. Withing five
years we'll almost certainly have to make the current three-level page tables
be four levels etc.</p>

<p>In comparison to those kinds of issues, I suspect that making the
scheduler use per-CPU queues together with some inter-CPU load balancing
logic is probably _trivial_. Patches already exist, and I don't feel that
people can screw up the few hundred lines too badly.</p>

</quote>

<p>Davide replied that he saw no reason why the scheduler couldn't be addressed
in the 2.5 timeframe, saying, <quote who="Davide Libenzi">It's no more
important of anything else, it's just one of the remaining scalability/design
issues. No, it's not more important than VM but there're enough people working
on VM. And the hope is to get the scheduler right with an ETA of less than
10 years.</quote> To Linus' statement that achieving the perfect scheduler
was not so important, Davide said, <quote who="Davide Libenzi">Moving to 4,
8, 16 CPUs the run queue load, that would be thought insane for UP systems,
starts to matter. Just to leave out cache line effects.  Just to leave out
the way the current scheduler moves tasks around CPUs.  Linus, it's not only
about performance benchmarks with 2451 processes jumping on the run queue,
that i could not care less about, it's just a sum of sucky "things" that
make an issue. You can look at it like a cosmetic/design patch more than a
strict performance patch if you like.</quote> Finally, Davide took exception
to all the times Linus said that various things were easy or trivial. He
rebutted, <quote who="Davide Libenzi">I would not call selecting the right
task to run in an SMP system trivial.  The difference between selecting
the right task to run and selecting the right page to swap is that if you
screw up with the task the system impact is lower. But, if you screw up,
your design will suck in both cases.  Anyway, given that 1) real men do VM
( i thought they didn't eat quiche ) and easy-coders do scheduling 2) the
schdeuler is easy/trivial and you do not seem interested in working on it 3)
whoever is doing the scheduler cannot screw up things, why don't you give the
responsibility for example to Alan or Ingo so that a discussion ( obviously
easy ) about the future of the schdeuler can be started w/out hurting real
men doing VM ?  I'm talking about, you know, that kind of discussions where
people bring solutions, code and numbers, they talk about the good and bad of
certain approaches and they finally come up ( after some sane fight ) with a
much or less widely approved solution. The scheduler, besides the real men
crap, is one of the basic components of an OS, and having a public debate,
i'm not saying every month and neither every year, but at least once every
four years ( this is the last i remember ) could be a nice thing.  And no,
if you do not give to someone that you trust the "power" to redesign the
scheduler, no schdeuler discussions will start simply because people don't
like the result of a debate to be dumped to /dev/null.</quote></p>

<p>Linus replied that 2.5 might be a reasonable time-frame, although he added,
<quote who="Linus Torvalds">There are issues that are about a million times
more important.</quote> He explained, <quote who="Linus Torvalds">4 cpu's are
"high end" today. We can probably point to tens of thousands of UP machines
for each 4-way out there. The ratio gets even worse for 8, and 16 CPU's is
basically a rounding error.  You have to prioritize. Scheduling overhead is
way down the list.</quote> Davide replied that there was no need to serialize
every task, and Linus said, <quote who="Linus Torvalds">Well, you explicitly
_asked_ me why I had been silent on the issue. I told you.</quote> Elsewhere, he
added:</p>

<quote who="Linus Torvalds">

<p>Fight it out. Don't involve me, because I don't think it's even a
challenging thing. I wrote what is _still_ largely the algorithm in 1991,
and it's damn near the only piece of code from back then that even _has_
some similarity to the original code still. All the "recompute count when
everybody has gone down to zero" was there pretty much from day 1.</p>

<p>Which makes me say: "oh, a quick hack from 1991 works on most machines
in 2001, so how hard a problem can it be?"</p>

<p>Fight it out. People asked whether I was interested, and I said "no". Take
a clue: do benchmarks on all the competing patches, and try to create the
best one, and present it to me as a done deal.</p>

</quote>

<p>Back in the main subthread, a few posts down the line, Benjamin LaHaise
asked, <quote who="Benjamin LaHaise">Well, what about those of us who need
syscall numbers assigned for which you are the only official assigned number
registry?</quote> And Linus replied, <quote who="Linus Torvalds">I've told you
a number of times that I'd like to see the preliminary implementation publicly
discussed and some uses outside of private companies that I have no insight
into..</quote> H. Peter Anvin mentioned, <quote who="H. Peter Anvin">There was
a group at IBM who presented on an alternate SMP scheduler at this year's OLS;
it generated quite a bit of good discussion.</quote> But Benjamin felt that
Linus' requirements posed a serious chicken-and-egg problem.  Linus replied,
<quote who="Linus Torvalds">Why?  I'd rather have people playing around with
new system calls and _test_ them, and then have to recompile their apps if
the system calls move later, than introduce new system calls that haven't
gotten any public testing at all..</quote> Benjamin replied that he <i>had</i>
posted code, and that people <i>were</i> testing it out, but that he couldn't
force them to post their comments on the list. To this, Linus said:</p>

<quote who="Linus Torvalds">

<p>Well, if people aren't interested, then it doesn't _ever_ go in.</p>

<p>Remember: we do not add features just because we can.</p>

<p>Quite frankly, I don't think you've told that many people. I haven't seen
any discussion about the aio stuff on linux-kernel, which may be because you
posted several announcements and nobody cared, or it may be that you've only
mentioned it fleetingly and people didn't notice.</p>

<p>Take a look at how long it took for ext3 to be "standard" - I put them
in my tree when I started getting real feedback that it was used and people
liked using it. I simply do not like applying patches "just to get users".
Not even reservations - because I reserve the right to _never_ apply something
if critical review ends up saying that "that doesn't make sense".</p>

<p>Quite frankly, the fact that it is being tested out at places like
Oracle etc is secondary - those people will use anything. That's proven by
history. That doesn't mean that _I_ accept anything.</p>

<p>Now, the fact that I like the interfaces is actually secondary - it does
make me much more likely to include it even in a half-baked thing, but it
does NOT mean that I trust my own taste so much that I'd do it "under the
covers" with little open discussion, use and modification.</p>

<p>Where _is_ the discussion on linux-kernel?</p>

<p>Where are the negative comments from Al? (Al _always_ has negative
comments and suggestions for improvements, don't try to say that he also
liked it unconditionally ;)</p>

</quote>

<p>Alexander Viro replied:</p>

<quote who="Alexander Viro">

<p>Heh.</p>

<p>Aside of a _big_ problem with exposing async API to userland (for a lot
of reasons, including usual quality of async code in general and event-drivel
one in particular) there is more specific one - Ben's long-promised full-async
writepage() and friends.  I'll believe it when I see it and so far it didn't
appear.</p>

<p>So for the time being I'm staying the fsck out of that - I don't like it,
but I'm sick and tired of this sort of religious wars.</p>

</quote>

<p>In reply to Linus' asking where the linux-kernel list discussion was,
Rik van Riel replied with a smirk, <quote who="Rik van Riel">Which mailing
lists do you want to be subscribed to ? ;)</quote> To which Linus said:</p>

<quote who="Linus Torvalds">

<p>I'm not subscribed to any, thank you very much. I read them through a
news gateway, which gives me access to the common ones.</p>

<p>And if the discussion wasn't on the common ones, then it wasn't an open
discussion.</p>

<p>And no, I don't think IRC counts either, sorry.</p>

</quote>

<p>Rik replied, <quote who="Rik van Riel">Whether you think it counts or
not, IRC is where most stuff is happening nowadays.</quote> To which Ingo
Molnar said:</p>

<quote who="Ingo Molnar">

<p>most of the useful traffic on lkml cannot be expressed well on IRC. While
IRC might be useful as an additional form of communication channel, email
lists IMO should still be the main driving force of Linux kernel development,
else we'll only concentrate on those minute ideas that can be expressed in
1-2 lines on irc and which are simple enough to be understood until the next
message comes. Also, the lack of reliable archiving of IRC traffic prevents
newcomers of reproducing the thought process afterwards.  While IRC might
result in the seasoned kernel developer doing the next super-patch quickly, it
will in the end effect only isolate and alienate newcomers and will only result
in an aging, personality-driven elitist old-boys network and a dying OS.</p>

<p>Regarding the use of IRC as the main development medium for the Linux
kernel - the fast pace of IRC often prevents deeper thoughts - while this is
definitely the point for many people who use IRC, it cannot result in a much
better kernel. [that having said, i'm using irc on a daily basis as well so
this is not irc-bashing, but i rarely use it for development purposes.]</p>

<p>It's true that reading off-topic emails on lkml isnt a wise use of
developer powers either, but this has to be taken into account just like
spam - it's the price of having an open forum.</p>

<p>and honestly, much of the complaints about lkml's quality are exagerated.
What you dont take into account is the fact that while 3 or 5 years ago you
found perhaps every email on lkml exciting and challenging, today you are an
experienced kernel hacker and find perhaps 90% of the traffic 'boring'. I've
just done a test - and perhaps i picked the wrong set of emails - but the
majority of lkml traffic is pretty legitimate, and i would have found most
of them 'interesting and exciting' just 5 years ago.  Today i know what they
mean and might find them less challenging to understand - but that is one
of the bad side-effects of experience.  Today there are more people on lkml,
more bugs get reported, and more patches are discussed - so keeping up with
lkml traffic is harder. Perhaps it might make sense to separate linux-kernel
into two lists: linux-kernel-bugs and linux-kernel-devel (without moderation),
but otherwise the current form and quality of discussions (knock on wood)
is pretty OK i think.</p>

<p>also, more formal emails match actual source code format better than the
informal IRC traffic. So by being kindof forced to structure information
into a larger set of ASCII text, it will also be the first step towards good
kernel code.</p>

<p>(on IRC one might be the super-hacker with a well-known nick, entering
and exiting channels, being talked to by newbies. It might boost one's ego.
But it should not cloud one's judgement.)</p>

</quote>

<p>Alan Cox also replied to Linus, saying, <quote who="Alan Cox">If the
discussion was on the l/k list then most kernel developers arent going to
read it because tey dont have time to wade through all the crap that doesnt
matter to them.</quote> He added, <quote who="Alan Cox">IRC is where most
stuff, especially cross vendor stuff is initially discussed nowdays, along
with kernelnewbies where most of the intro stuff is - but thats disussed
rather than formally proposed and studied.</quote></p>

<p>The discussion then veered off, meandering through a number of different
topics, never lingering long enough to draw any conclusions.</p>

</section>

<section
  title="Some Discussion Of Development Philosophy"
  subject="The direction linux is taking"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0112.2/0395.html"
  posts="139"
  startdate="17 Dec 2001 21:20:44 -0800"
  enddate="02 Jan 2002 07:06:12 -0800"
>
<topic>Bug Tracking</topic>
<topic>Development Philosophy</topic>
<topic>Samba</topic>
<topic>Spam</topic>
<topic>Version Control</topic>

<mention>Andrew Tridgell</mention>
<mention>Jeff Garzik</mention>
<mention>Richard Gooch</mention>

<p>Eyal Sohya stepped forward and said:</p>

<quote who="Eyal Sohya">

<p>I've watched this List and have some questions to ask which i would
appreciate are answered. Some might not have definite answers and we might
be divided on them.</p>

<p>

<ol>

<li>Are we satisfied with the source code control system ?</li>

<li>Is there enough planning for documentation ? As another poster mentioned,
there are new API and we dont know about them.</li>

<li>There is no central bug tracking database. At least people should know
the status of the bugs they have found with some releases.</li>

<li>Aggressive nature of this mailing list itself may be a turn off to many
who would like to contribute.</li>

</ol>

</p>

</quote>

<p>Ed Borasky suggested, <quote who="Ed Borasky">I personally favor a full
<a href="http://www.sei.cmu.edu/cmm/cmm.html">SEI CMM</a> level 2 or even
level 3 process. Whether there are open source tools to facilitate that
process is another story.</quote> But David Weinehall objected:</p>

<quote who="David Weinehall">

<p>With SEI CMM level 3 for the kernel, complete testing and documentation,
we'd be able to release a new kernel every 5 months, with new drivers 2 years
after release of the device, and support for new platforms 2-3 years after
their availability, as opposed to 1-2 years before (IA-64, for instance...)</p>

<p>We'd also kill off all the advantages that the bazaar-style development
style actually has, while gaining nothing in particular, except for a slow
machinery of paper-work. No thanks.</p>

<p>I don't complain when people do proper documentation and testing of their
work; rather the opposite, but it needs to be done on a volunteer basis,
not being forced by some standard. Do you really think Linus would be able
to take all the extra work of software engineering? Think again. Do you
honestly believe he'd accept doing so in a million years?  Fat chance.</p>

<p>Grand software engineering based on PSP/CMM/whatever is fine when you
have a clear goal in mind; a plan stating what to do, detailing everything
meticously. Not so for something that changes directions on pure whim from
one week to the next, with the only goal being improvement, expansion and
(sometimes) simplification.</p>

</quote>

<p>Eyal said that such a rigorous system was not necessary, but that <quote
who="Eyal Sohya">A system of checks and development so that things that used
to work dont get broken is hardly too much to expect.</quote> There was no
reply to this, but elsewhere, Dana Lacoste argued that, <quote who="Dana
Lacoste">Alan (2.2) and Marcelo (2.4) and Linus (2.5) are doing a good job
with source control.  The fact the 'source control' is a person and not a
piece of software is irrelevant.</quote> Alan Cox replied, <quote
who="Alan Cox">Not really. We do a passable job. Stuff gets dropped, lost,
deferred and forgotten, applied when it conflicts with other work
- much of this stuff that software wouldnt actually improve on over a
person.</quote></p>

<p>Further along in the thread, Dana took Alan's statement to mean that if a
better solution could be found, it would be adopted. He suggested discussing
it further. Rik van Riel replied:</p>

<quote who="Rik van Riel">

<p>Sounds like an idea, except that up to now I haven't seen any suitable
solution for this.</p>

<p>The biggest problem right now seems to be that of patches being dropped,
which is a direct result of the kernel maintainers not having infinite
time.</p>

<p>A system to solve this problem would have to make it easier for the kernel
maintainers to remember patches, while at the same time saving them time. I
guess it would have something like the following ingredients:</p>

<p>

<ol>

<li>remember the patches and their descriptions</li>

<li>have the possibility for other people (subsystem maintainers?)
   to de-queue or update pending patches</li>

<li>check at each pre-release if the patches still apply, notify
   the submitter if the patch no longer applies</li>

<li>make an easy "one-click" solution for the maintainers to apply
   the patch and add a line to the changelog ;) (all patches apply without
   rejects, patches which don't apply have already been bounced back to the
   maintainer by #3)</li>

<li>after a new pre-patch, send the kernel maintainer a quick
   overview of pending patches</li>

<li>patches can get different priorities assigned, so the kernel
   maintainers can spend their time with the highest-priority patches
   first</li>

<li>.. ?</li>

</ol>

</p>

<p>All in all, if such a system is ever going to exist, it needs to _reduce_
the amount of work the kernel maintainers need to do, otherwise it'll never
get used.</p>

</quote>

<p>Alan said that Andrew Tridgell had written <a
href="http://samba.anu.edu.au/jitterbug/">jitterbug</a> years ago, which
solved all those problems, but that Linus Torvalds refused to use it. Rik
spat out, <quote who="Rik van Riel">I don't care about Linus, he drops so
many bugfixes his kernel have done nothing but suck rocks since the 2.1 era.
This system could be useful for people who _are_ maintainers, however.</quote>
Alan pointed him to the jitterbug page, and added after a post or two, <quote
who="Alan Cox">I have a system I am happy with, I save stuff that looks worth
applying into a TO_APPLY directory then merge it in logical chunks.</quote></p>

<p>At one point, Russell King (ARM port maintainer) said:</p>

<quote who="Russell King">

<p>Speaking as someone who _does_ use a system for tracking patches, I
believe that patch management systems are a right pain in the arse.</p>

<p>If the quality of patches aren't good, then it throws you into a problem.
You have to provide people with a reason why you discarded their patch, which
provides people with the perfect opportunity to immediately start bugging
you about exactly how to make it better.  If you get lots of such patches,
eventually you've got a mailbox of people wanting to know how to make their
patches better.</p>

<p>I envy Alan, Linus, and Marcelo for having the ability to silently drop
patches and wait for resends.  I personally don't believe a patch tracking
system makes life any easier.  Yes, it means you can't loose patches, but
it means you can't accidentally loose them on purpose.  This, imho, makes
life very much harder.</p>

</quote>

<p>But Alan replied (regarding the ability to silently drop patches), <quote
who="Alan Cox">I go to great lengths to try and avoid that. People often
get very short replies but I try to make sure if the patch isnt queued to
apply they get a reply. Sometimes I have to sit on them for a week until
I understand why I don't like them.  The things I happily drop are people
arguing about why I dropped their patch.</quote></p>

<p>Rik said to Russell, <quote who="Rik van Riel">I'm not going to resend
more than twice. If after that a critical bugfix isn't applied, I'll put it
in our kernel RPM and the rest of the world has tough luck.</quote> And Linus
replied to this:</p>

<quote who="Linus Torvalds">

<p>Which, btw, explains why I don't consider you a kernel maintainer, Rik,
and I don't tend to apply any patches at all from you.  It's just not worth
my time to worry about people who aren't willing to sustain their patches.</p>

<p>When Al Viro sends me a patch that I apply, and later sends me a fix to
it that I miss for whatever reason, I can feel comfortable in the knowledge
that he _will_ follow up, not just whine.  This makes me very willing to
apply his patches in the first place.</p>

<p>Replace "Al Viro" with Jeff Garzik, David Miller, Alan Cox, etc etc. See
my point?</p>

<p>This is not about technology.  This is about sustainable development.
The most important part to that is the developers themselves - I refuse to
put myself in a situation where _I_ need to scale, because that would be
stupid - people simply do not scale.  So I require others to do more of the
work. Think distributed development.</p>

<p>Note that things like CVS do not help the fundamental problem at all.
They allow automatic acceptance of patches, and positively _encourage_ people
to "dump" their patches on other people, and not act as real maintainers.</p>

<p>We've seen this several times in Linux - David, for example, used to
maintain his CVS tree, and he ended up being rather frustrated about having
to then maintain it all and clean up the bad parts because I didn't want
to apply them (and he didn't really want me to) and he couldn't make people
clean up themselves because "once it was in, it was in".</p>

<p>I know that source control advocates say that using source control makes
it easy to revert bad stuff, but that's simply not TRUE.  It's _not_ easy
to revert bad stuff.  The only way to handle bad stuff is to make people
_responsible_ for their own sh*t, and have them maintain it themselves.</p>

<p>And you refuse to do that, and then you complain when others do not want
to maintain your code for you.</p>

</quote>

<p>Rik replied, <quote who="Rik van Riel">OK, I'll setup something to
automatically send you patches as long as they're not applied, don't get any
reaction and still apply cleanly.</quote> But Linus said, <quote who="Linus
Torvalds">Did you read the part about "maintainership" at all?  I ignore
automatic emails, the same way I ignore spam. Automating patch-sending is _not_
maintainership.</quote> Rik replied, <quote who="Rik van Riel">Of course the
patch will be updated when needed, but I still have a few 6-month old patches
lying around that still work as expected and don't need any change.</quote>
And Linus said:</p>

<quote who="Linus Torvalds">

<p>Sure. Automatic re-mailing can be part of the maintainership, if the
testing of the validity of the patch is also automated (ie add a automated
note that says that it has been verified).</p>

<p>It's just that I actually _have_ had people who just put "mail torvalds
&lt; crap" in their cron routines. It quickly caused them to become part
of my spam-filter, and thus _nothing_ ever showed up from them, whether
automated or not..</p>

</quote>

<p>Rik said he'd add intelligence to his scripts, to prevent patches from
being resent when Linus was too busy or not interested, and to queue rejected
patches for manual inspection. Richard Gooch suggested making this automation
system public, so others could use it too. Linus liked the way the discussion
was heading, and added, <quote who="Linus Torvalds">We actually talked inside
Transmeta about doing a lot of this automation centralized (and OSDL took up
some of that idea), but yes, from a resource usage sanity standpoint this
is something that _trivially_ can be done at the sending side, and thus
scales out perfectly (while trying to do it at the receiving end requires
some _mondo_ hardware that definitely doesn't scale, especially for the
"compiles cleanly" part). Troy Benjegerdes offered:</quote></p>

<quote who="Troy Benjegerdes">

<p>here's an idea:</p>

<p>Maintainers for a specific area of interest/kernel tree/whatever can run
a 'canned' set of scripts on a web server which act as a controller for a
patchbot, and a set of 'build machines' that actually do the compiles.</p>

<p>(i.e., davej, andrea, riel, etc would have their own webserver which acts
as a central location for data collection, as well as a place for users to
download stuff from)</p>

<p>Actually compiling gets done either by users that want to use that kernel,
or in the case of a vendor, an internal build farm. The users have another
'canned' script that downloads the kernel, patches it, and builds it with a
user-supplied or server-supplied config file. The script uploads the results
of the build so maintainers can see what happened, and the web server provides
some mechanism for users to say what did and did not work.</p>

<p>Once the webserver gets some data back, the patchbot can figure out whether
a particular patch was a 'success' or not, and decide whether to send it,
dequeue it, or whatever.</p>

<p>We should probably also add the ability for end-users to submit their
own patches to a maintainer, or provide a way for end-users to setup the
webserver system so they can do the same thing the maintainers are doing.</p>

<p>The most important part here is that this system has to be less work for
maintainers than it is responding to hundreds of emails and checking if a
patch made it in all the time. (I think this should be relatively easy).
It's got to be easy to set up, both for maintainers and users.</p>

<p>I've got some reasonably nice python scripts that currently act as the
'build system' part of this, and some somewhat ugly scripts that run on a
webserver. A brief description is available here.</p>

<p><a
href="http://altus.drgw.net/description.html">http://altus.drgw.net/description.html</a></p>

<p>I'll volunteer these scripts as well as whatever amount of time I can
spare from 'real' work ;)</p>

</quote>

<p>Rik was thrilled by this, and set up a mailing list to discuss it. He said:</p>

<quote who="Rik van Riel">

<p>patchbot@nl.linux.org</p>

<p>You can subscribe by mailing to listar@nl.linux.org with "subscribe
patchbot" in the message.</p>

<p>Once I've gotten around to it, <a
href="http://patchbot.nl.linux.org/">http://patchbot.nl.linux.org/</a> should
contain some content, too. (or once somebody else has gotten around to it)</p>

</quote>

<p>Elsewhere, under the Subject: <a
href="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0112.3/0519.html">[PATCH]
rlimit_nproc</a>, Rik posted a patch, saying that although not yet automated,
it <quote who="Rik van Riel">would be a typical candidate ... are you
happy with the way the description and patch are combined ?</quote> Linus
replied:</p>

<quote who="Linus Torvalds">

<p>Looks fine, except for the fact that nowhere did it say which kernel version
the patch was generated against. Which is often a rather important clue ;)</p>

<p>Now if you automate this, I would suggest adding a section in between the
explanation and the patch: the "diffstat" output of the patch. It doesn't
matter much for this example, because obviously the patch is small enough
that just scrolling down shows what's up, but..</p>

<p>I would also suggest that whatever activates the patch asks for a
subject-line that is more than 12 characters long ;)</p>

<p>Also worthwhile for automation is an md5sum or similar (for verifying that
the mail made it though the mail system unscathed). A pgp signature would be
even better, of course - especially useful as I suspect it would be good to
also cc the things to some patch-list, and having a clear identity on the
sender is always a good idea in these things.</p>

</quote>

<p>Someone suggested a mailing list just for patches, and Daniel Phillips
said, <quote who="Daniel Phillips">Exactly what I was thinking of:
'linux-patches@kernel.org'.  The idea is, instead of putting [PATCH] on your
subject line and cc'ing it to Linus, you mail it to linux-patches with a
cc to lkml if you like (depending on size of patch, how interesting, etc).
In any event, linux-patches will forward a copy to Linus.</quote></p>

</section>

<section
  title="Status Of ramfs"
  subject="2.5.2-pre2 forces ramfs on"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0112.3/0205.html"
  posts="9"
  startdate="25 Dec 2001 19:41:02 -0800"
  enddate="27 Dec 2001 02:39:22 -0800"
>
<topic>FS: ramfs</topic>
<topic>FS: rootfs</topic>
<topic>Modules</topic>

<mention>Keith Owens</mention>

<p>Keith Owens asked why ramfs would always compile into the kernel, instead of
being optional; Linus Torvalds replied, <quote who="Linus Torvalds">Because it's
small, and if it wasn't there, we'd have to have the small
"rootfs" anyway (which basically duplicated ramfs functionality).</quote> Alan
Cox took the opportunity to ask, <quote who="Alan Cox">Can ramfs=N longer term
actually come back to be "use __init for the RAM
fs functions". That would seem to address any space issues even the most
embedded fanatic has.</quote> Linus replied:</p>

<quote who="Linus Torvalds">

<p>Hmm.. That might work, but at the same time I suspect that the most
fanatic embedded users are actually the ones that may benefit most from
ramfs in the first place. That was certainly why it came to be..</p>

<p>We'll see. We'll end up using ramfs for the initial init bootup (ie the
"tar.gz-&gt;ramfs" stage of bootup), so making it __init may not be practical
for other reasons. We'd have to unload it not after the __init stage, but
after the first root filesystem is unused (which may be later, depending on
what people put in the filesystem).</p>

</quote>

</section>

<section
  title="Selecting Patches For 2.4"
  subject="2.4.17: Dell Laptop extra buttons patch (fwd)"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0112.3/0292.html"
  posts="4"
  startdate="26 Dec 2001 11:11:53 -0800"
  enddate="27 Dec 2001 22:27:34 -0800"
>

<mention>Alan Cox</mention>
<mention>Marcelo Tosatti</mention>
<mention>Andries Brouwer</mention>

<p>Marcelo Tosatti posted a patch he'd received via private email from Alan
Ford. Alan had explained, <quote who="Alan Ford">It adds keycodes for the
four shortcut buttons that are provided on Dell Inspiron laptops.</quote>
Andreas Dilger replied, <quote who="Andreas Dilger">I don't have a Dell laptop,
but AFAIK in the past patches like this have been rejected by Andries Brouwer
(I think) because it is possible to do this from user space with key mapping
tools like setkeycodes, xkeycaps, or xmodmap.</quote> Marcelo replied that
Alan Cox had also explained this to him.</p>

</section>

<section
  title="Linus Responds To Some Criticism"
  subject="Re: your mail"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0112.3/0477.html"
  posts="4"
  startdate="27 Dec 2001 10:09:41 -0800"
  enddate="28 Dec 2001 14:14:13 -0800"
>
<topic>Development Philosophy</topic>
<topic>Development Strategy</topic>
<topic>Disks: IDE</topic>
<topic>Disks: SCSI</topic>
<topic>FS</topic>
<topic>Ioctls</topic>
<topic>Kernel Build System</topic>

<p>In response to an earlier thread in which Linus Torvalds had said he
wouldn't take kbuild into the kernel until the block IO layer had gotten
more into shape, Andre Hedrick now said, <quote who="Andre Hedrick">please
pass your crack pipe arounds so the rest of us idiots can see your vision
or lack of ...</quote> Linus replied:</p>

<quote who="Linus Torvalds">

<p>Heh. I think I must have passed it on to you long ago, and you never gave
it back, you sneaky bastard ;)</p>

<p>The vision, btw, is to get the request layer in good enough shape that
we can dispense with the mid-layer approaches of SCSI/IDE, and block devices
turn into _just_ device drivers.</p>

<p>For example, ide-scsi is heading for that big scrap-yard in the sky: it's
not the SCSI layer that handles special ioctl requests any more, because
the upper layers are going to be flexible enough that you can just pass the
requests down the regular pipe.</p>

<p>(Right now you can see this in block_ioctl.c - while only a few of the
ioctl's have been converted, you get the idea. I'm actually surprised that
nobody seems to have commented on that part).</p>

<p>The final end result of this (I sincerely hope) is that we can get rid
of some of the couplings that we've had in the block layer. ide-scsi is just
the most obvious strange coupling - things like "sg.c" in general are rather
horrible. There's very little _SCSI_ in sg.c - it's really about sending
commands down to the block devices.</p>

<p>The reason I want to get rid of the couplings is that they end up being
big anchors holding down development: you can create a clean driver that
isn't dependent on the SCSI layer overheads (and people do, for things like
DAC etc), but when you do that you lose _all_ of the support infrastructure,
not just the bloat. Which is sad.</p>

<p>(And which is why things like ide-scsi exist - IDE didn't really want to
be a SCSI driver, but people _did_ want to be able to use some of the generic
support routines that the SCSI layer offers. You couldn't just cherry-pick
the parts you wanted).</p>

<p>The other part of the bio rewrite has been to get rid of another coupling:
the coupling between "struct buffer_head" (which is used for a limited kind
of memory management by a number of filesystems) and the act of actually
just doing IO.</p>

<p>I used to think that we could just relegate "struct buffer_head" to _be_
the IO entity, but it turns out to be much easier to just split off the IO
part, which is why you now have a separate "bio" structure for the block IO
part, and the buffer_head stuff uses that to get the work done.</p>

<p>Andre, I know that you're worried about the low-level drivers, but:</p>

<p>

<ul>

<li>I've long since noticed that we cannot communicate, which is why Jens
is the block level driver person. You'll have to live with it.</li>

<li><p>I personally don't think you _can_ make a good driver without having
reasonable interfaces, and we didn't have them.</p>

<p>For example, the network drivers have improved a lot and do not have
_nearly_ the amount of problems block drivers have. That's obviously partly
just because it is a simpler problem, but because it was simpler it was also
possible to change them. The infrastructure changes in the networking during
2.3.x really did help drivers.</p></li>

</ul>

</p>

<p>And note that the "Jens" and "communication" part is important. If you
have patches, please talk to Jens, tell him what the issues are, and I know
I can communicate with him.</p>

</quote>

<p>Andre did not reply.</p>

</section>

<section
  title="SiS7012 Audio Driver"
  subject="[patch] SiS7012 audio driver"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0112.3/0580.html"
  posts="2"
  startdate="27 Dec 2001 16:35:22 -0800"
  enddate="27 Dec 2001 17:11:23 -0800"
>
<topic>Modules</topic>
<topic>Sound: OSS</topic>
<topic>Sound: SiS7012</topic>
<topic>Sound: i810</topic>

<mention>Doug Ledford</mention>

<p>Thomas Gschwind posted a patch and announced:</p>

<quote who="Thomas Gschwind">

<p>I have added support for the SiS7012 audio driver to the i810 audio driver.
Playback works perfectly fine for me on an ECS K7S5A mainboard.  In some
situations, recording causes my system to crash but I am still working
on it.</p>

<p>BTW, does anybody have a datasheet?  Currently, this driver is based on
the fact that OSS uses the same driver for the i810 and SiS7012 chipsets
and some experimentations.</p>

</quote>

<p>Alan Cox replied that he'd asked for datasheets but had not received
any. He added, <quote who="Alan Cox">Doug Ledford &lt;dledford@redhat.com&gt;
is working on this driver and has much updated the i810 support and fixed
bugs. Send him a copy. Also btw the nvidia chipset also seems to use an
i810 clone.</quote></p>

</section>

<section
  title="UML Poised To Go Into 2.5"
  subject="UML has been sent to Linus"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0112.3/0626.html"
  posts="5"
  startdate="27 Dec 2001 22:35:47 -0800"
  enddate="28 Dec 2001 20:49:38 -0800"
>
<topic>History</topic>
<topic>User-Mode Linux</topic>

<mention>Linus Torvalds</mention>

<p>Jeff Dike said he'd sent a patch for
user-mode Linux to Linus Torvalds, and gave a <a
href="http://prdownloads.sourceforge.net/user-mode-linux/uml-patch-2.5.1-1.bz2">link
to it</a>. Daniel Phillips said:</p>

<quote who="Daniel Phillips">

<p>This is good news.  I want to add something here that's a little less
lame than 'me too'...</p>

<p>Besides being an essential development tool I use every day, I believe
there is great potential for UML as a 'perfect jail'.  There are interesting
applications we'll start to see when UML is more widely available, such as
simulation of clusters, or 'Linux Bubbles' under Windows.</p>

<p>I think you've done a great job maintaining UML out-of-tree for more than
a year, with very little assistance, and I hope you won't have to shoulder
that extra burden much longer.</p>

</quote>

<p>Jeff agreed with the vast array of possibilities, and thanked Daniel for
the praise. He added, <quote who="Jeff Dike">UML is approaching three years old
(I started hacking in Feb 1998; the first public sign of it was the following
June).</quote> He finished with, <quote who="Jeff Dike">I'm currently banging
on bugs and residual missing functionality.  When I think that's all done,
that will be what I call UML V1.0 and I will send it to Marcelo.  At that
point, the out-of-tree phase of UML will be over.</quote></p>

</section>

<section
  title="Alan Continues 2.2 Maintenance"
  subject="Linux 2.2.21pre1"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0112.3/0933.html"
  posts="2"
  startdate="29 Dec 2001 08:17:40 -0800"
  enddate="29 Dec 2001 10:21:42 -0800"
>
<topic>Disks: IDE</topic>
<topic>FS: NFS</topic>
<topic>FS: procfs</topic>
<topic>USB</topic>
<topic>Virtual Memory</topic>

<mention>Manfred Spraul</mention>
<mention>Trond Myklebust</mention>
<mention>Andrea Arcangeli</mention>
<mention>Tom Rini</mention>
<mention>Ralf Baechle</mention>
<mention>Gerard Roudier</mention>

<p>Alan Cox put out a new 2.2 pre-release, 2.2.21pre1, and gave the changelog:</p>

<quote who="Alan Cox">

<p>

<ul>

<li>Fix potential corruption with vmalloc on virtually cached boxes       (Ralf Baechle)</li>
<li>Small PPC build fixups                          (Tom Rini)</li>
<li>zImage booting fix                              (Kalev Soikonen)</li>
<li>EIO on NFS read fixup                           (Trond Myklebust)</li>
<li>Update 3ware raid driver                        (Adam Radford)</li>
<li>page_alloc race fix                             (Andrea Arcangeli)</li>
<li>Update USB maintainers                          (Greg Kroah-Hartmann)</li>
<li>bttv clipcount=0 fix                            (Solar Designer)</li>
<li>Fix multiple eepro driver bugs                  (Aris)</li>
<li>Sym53c8xx queue handling fix                    (Gerard Roudier)</li>
<li>Update SubmittingDrivers document               (Michal Svec)</li>
<li>8139too performance tune                        (Jens David)</li>
<li>procfs follow link return fix                   (Solar Designer)</li>
<li>Backport SEM_UNDO overflow fix from 2.4         (Leonid Igolnik)</li>
<li>VM86 fixes                                      (Manfred Spraul)</li>
<li>Fix alpha build                                 (Kim Heino)</li>

</ul>

</p>

</quote>

<p>Matthias Andree asked, <quote who="Matthias Andree">Hum, what's the status
of the IDE stuff? Last time I looked, the Hedrick IDE patches were for 2.2.19,
and I find those rather necessary to use e.  g.  PDC20265 or UDMA on VIA chip
sets. I could understand if there were not being merged into 2.2.x because
it's stable and not playground release, but who is maintaining them now? Or
did I miss anything about 2.2.20?</quote> There was no reply.</p>

</section>

<section
  title="New 2.4 Fork"
  subject="New tree started ;)"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0112.3/1357.html"
  posts="8"
  startdate="31 Dec 2001 13:45:42 -0800"
  enddate="02 Jan 2002 08:09:40 -0800"
>
<topic>Disks: IDE</topic>
<topic>FS: NFS</topic>
<topic>Real-Time</topic>
<topic>SMP</topic>
<topic>Scheduler</topic>
<topic>Software Suspend</topic>
<topic>Version Control</topic>

<mention>Trond Myklebust</mention>
<mention>Craig I. Hagan</mention>
<mention>Andre Hedrick</mention>
<mention>Rik van Riel</mention>
<mention>Robert Love</mention>

<p>Michael Cohen announced:</p>

<quote who="Michael Cohen">

<p>After hanging out for a while on openprojects.net, I've decided
to create a new 2.4 tree.  I feel that there's need for a rapidly
developing "-ac alike" tree, and so, here we go.  Feel free to test
it.  I've attached patch-2.4.17-mjc1.bz2.  New versions can be found at <a
href="http://iamnotanimatedtoexplode.com/patches/mjc">http://iamnotanimatedtoexplode.com/patches/mjc</a>.
Currently the patch includes:</p>

<p>

Reverse Mapping patch #9                        (Rik van Riel)<br />
Preemptible Kernel Patch                        (Robert Love)<br />
Lock-Break Patch                                (Robert Love)<br />
CPU affinity /proc entry                        (Robert Love)<br />
Netdev-random                                   (Robert Love)<br />
Software Suspend                                (Gabor Kuti?)<br />
Real Time Scheduler for Linux                   (?)<br />
IDE updates (Taskfile IO and others)            (Andre Hedrick}

</p>

<p>Ideally I'd like to have this maintained (possibly using bk) by those
at #kernelnewbies.  </p>

<p>Linus once said something about having more trees being a good thing.
I'll try to keep this as close to the 2.4.x line as possible, though. :)</p>

</quote>

<p>Craig I. Hagan suggested checking out Trond Myklebust patches at <a
href="http://www.fys.uio.no/~trondmy/src/2.4.17/linux-2.4.17-NFS_ALL.dif">http://www.fys.uio.no/~trondmy/src/2.4.17/linux-2.4.17-NFS_ALL.dif</a>.
Michael was excited, and rushed off to take a look at it. Roberto Nibali
also said, <quote who="Roberto Nibali">Thanks for doing this. Could you tell
me which criteria you have to choose patches to go in? I see grsecurity in
the to be merged queue which is not likely to ever go into 2.4.x. It's more
likely to be converted to the LSM framework (parts of it if still needed)
and then integrated into 2.5.x.</quote></p>

<p>Elsewhere, H. Peter Anvin offered to host the new tree on kernel.org, and
Michael gratefully accepted. H. Peter said, <quote who="H. Peter Anvin">Please
send a GPG key, desired user name and a brief description of what you plan to
do to ftpadmin@kernel.org.  It might take a week or so to get done.</quote></p>

</section>

<section
  title="Comparing 2.4 With 2.2"
  subject="Linux 2.4.17 vs 2.2.19 vs rml new VM"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0201.0/0196.html"
  posts="7"
  startdate="02 Jan 2002 01:33:05 -0800"
  enddate="02 Jan 2002 15:49:44 -0800"
>
<topic>Big Memory Support</topic>
<topic>Microkernels</topic>
<topic>Virtual Memory</topic>

<mention>Andrew Morton</mention>

<p>Brian Litzinger gave his report on 2.4.17:</p>

<quote who="Brian Litzinger">

<p>I'd like to say that as of 2.4.17 w/preempt patch, the linux kernel seems
again to perform as well as 2.2.19 for interactive use and reliability,
at least in my use.</p>

<p>2.4.17 still croaks running some of the giant memory applications that
I run successfully on 2.2.19. (Machines with 2GB of RAM running 3GB+ apps.)</p>

<p>I tried rmap-10 new VM and under my typical load my desktop machine froze
repeatedly.  Seemed the memory pool was going down the drain before the
freeze. Meaning apps were failing and getting stuck in various odd states.</p>

<p>No doubt, preempt and rmap-10 are incompatible, but I'm not going to give
up the preempt patch any time soon.</p>

<p>All in all 2.4.17 w/preempt is very satisfactory.</p>

</quote>

<p>Alan Cox diagnosed:</p>

<quote who="Alan Cox">

<p>I suspect its rmap-10 not the pre-empt patch. If you have the
time/inclination then testing just that load with rmap10a (the fixed rmap10)
would be interesting just to know which bit is the buggy half.</p>

<p>Similarly the low latency patch which on the whole seems to give better
results than the preempt patches is much less likely to cause problems as
it doesn't really change the system semantics in the same kind of way.</p>

</quote>

<p>Rik van Riel went into more depth, with:</p>

<quote who="Rik van Riel">

<p>There's a stupid logic inversion bug in rmap-10, which is fixed in
rmap-10a. Andrew Morton tracked it down about an hour after I released
rmap-10.</p>

<p>Basically in wakeup_kswapd() user processes go to sleep if the pressure on
the VM is _really_ high *and* the user process has all the same GFP options
set as kswapd itself, so the process can sleep on kswapd.</p>

</quote>

<p>He said he'd put out rmap-11 soon.</p>

<p>Elsewhere, Alan remarked, <quote who="Alan Cox">The measurements I've seen
put lowlatency ahead of pre-empt in quality of results. Since low latency
fixes some of the locked latencies it might be interesting for someone with
time to benchmark.</quote></p>

</section>

</kc>

