<?xml version="1.0" ?>

<kc>

<title>Kernel Traffic</title>

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

<issue num="31" date="19 Aug 1999 00:00:00 -0800" />

<intro>

<p>I just decided to merge what I had for last week into this week's issue.
Some good threads and interesting sub-threads were missed or given short
shrift. The upshot is that I'm learning how to organize my time better. I'll
also be moving KT from Thursday morning to Saturday morning. So it'll be
coming out Friday Midnight starting now.</p>

<p>BTW linux-kernel is under attack by a malicious user who is subscribing it
to many unrelated mailing lists. The problem seems to be under control.
Check back next week for the full details.</p>

</intro>

<stats posts="874" size="3662" contrib="386" multiples="151" lastweek="107">

<person posts="55" size="150" who="Alan Cox " />
<person posts="21" size="100" who="Andrea Arcangeli " />
<person posts="13" size="63" who="Riley Williams " />
<person posts="13" size="43" who="&quot;David S. Miller&quot; " />
<person posts="12" size="45" who="Linus Torvalds " />
<person posts="12" size="34" who="&quot;Bradley D. LaRonde&quot; " />
<person posts="11" size="57" who="Manfred Spraul " />
<person posts="10" size="49" who="&quot;Mike A. Harris&quot; " />
<person posts="9" size="54" who="Richard Guy Briggs " />
<person posts="9" size="28" who="" />
<person posts="8" size="42" who="Joerg Pommnitz " />
<person posts="8" size="40" who="Frank van Maarseveen " />
<person posts="8" size="40" who="Jonathan Masters " />
<person posts="8" size="35" who="&quot;Robert G. Brown&quot; " />
<person posts="8" size="28" who="&quot;Mike A. Harris&quot; " />
<person posts="8" size="27" who="&quot;WANG,YIDING (HP-SanJose,ex1)&quot; " />
<person posts="8" size="25" who="Luca Montecchiani " />
<person posts="7" size="50" who="&quot;Richard B. Johnson&quot; " />
<person posts="7" size="35" who="Paul Slootman " />
<person posts="7" size="28" who="Andi Kleen " />
<person posts="7" size="28" who="Joe " />
<person posts="7" size="21" who="&quot;Jones D (ISaCS)&quot; " />
<person posts="7" size="20" who="Jens Axboe " />
<person posts="6" size="29" who="Horst von Brand " />
<person posts="6" size="26" who="&quot;Steven N. Hirsch&quot; " />
<person posts="6" size="24" who=" (H. Peter Anvin)" />
<person posts="6" size="24" who="Trond Myklebust " />
<person posts="6" size="21" who="Matthew Wilcox " />
<person posts="6" size="17" who="Jamie Lokier " />
<person posts="6" size="16" who="&quot;ALPESH D KOTHARI&quot; " />
<person posts="5" size="31" who="Bruno Haible " />
<person posts="5" size="21" who="Kurt Garloff " />
<person posts="5" size="20" who="Doug Ledford " />
<person posts="5" size="19" who="&quot;Petr Vandrovec Ing. VTEI&quot; " />
<person posts="5" size="18" who="Andreas Schwab " />
<person posts="5" size="18" who="Rui Sousa " />
<person posts="5" size="17" who="Alexander Viro " />
<person posts="5" size="17" who="Horst von Brand " />
<person posts="5" size="16" who="Wakko Warner " />
<person posts="5" size="16" who="&quot;Albert D. Cahalan&quot; " />
<person posts="5" size="15" who="Jes Sorensen " />
<person posts="5" size="15" who="" />
<person posts="4" size="17" who="Chuck Lever " />
<person posts="4" size="15" who=" (Rogier Wolff)" />
<person posts="4" size="15" who="Petr Vandrovec " />
<person posts="4" size="13" who="Marc Mutz " />
<person posts="4" size="13" who="Michal Jaegermann " />
<person posts="4" size="12" who="Robert Dinse " />
<person posts="4" size="12" who="Steve Dodd " />
<person posts="4" size="12" who="Ralf Baechle " />
<person posts="4" size="12" who="&quot;Stefan Monnier&quot; " />
<person posts="4" size="12" who="=?iso-8859-1?Q?J=F6rg?= Pleumann " />
<person posts="4" size="11" who="&quot;Alan Curry&quot; " />
<person posts="4" size="11" who="Jeff Garzik " />
<person posts="4" size="11" who="Tim Waugh " />
<person posts="3" size="47" who="Jakub Jelinek " />
<person posts="3" size="19" who="Sang-yong Suh " />
<person posts="3" size="18" who="David Lang " />
<person posts="3" size="16" who=" (Bob_Tracy)" />
<person posts="3" size="16" who="William Burrow " />
<person posts="3" size="15" who="Thomas Sailer " />
<person posts="3" size="13" who="Rick Hohensee " />
<person posts="3" size="13" who="&quot;Robert de Bath&quot; " />
<person posts="3" size="12" who="&quot;Manfred Spraul&quot; " />
<person posts="3" size="12" who="Don Fisher " />
<person posts="3" size="12" who="Russell King " />
<person posts="3" size="12" who="Christer Weinigel " />
<person posts="3" size="11" who="Marcus Thiessel " />
<person posts="3" size="11" who="Nathan Hand " />
<person posts="3" size="11" who="Richard Ketchersid " />
<person posts="3" size="10" who="Pete Clements " />
<person posts="3" size="10" who="Riley Williams " />
<person posts="3" size="10" who="Matthew " />
<person posts="3" size="10" who="&quot;Jim Nance&quot; " />
<person posts="3" size="9" who="Matthew Kirkwood " />
<person posts="3" size="9" who="Lars Marowsky-Bree " />
<person posts="3" size="9" who="Meelis Roos " />
<person posts="3" size="9" who="Joop Stakenborg " />
<person posts="3" size="9" who="Mike " />
<person posts="3" size="9" who="&quot;Marty Leisner&quot; " />
<person posts="3" size="8" who=" (Arthur)" />
<person posts="3" size="8" who="Stephen Frost " />
<person posts="3" size="8" who="&quot;H. Peter Anvin&quot; " />
<person posts="3" size="8" who="Jeremy Fitzhardinge " />
<person posts="3" size="7" who="Arjan van de Ven " />
<person posts="2" size="59" who="" />
<person posts="2" size="25" who="Matt Hallacy " />
<person posts="2" size="22" who="Yves Colombani " />
<person posts="2" size="22" who="&quot;Mark G. Adams&quot; " />
<person posts="2" size="19" who="" />
<person posts="2" size="16" who=" (Tom M. Kroeger)" />
<person posts="2" size="10" who="Jim Woodward " />
<person posts="2" size="10" who="&quot;Vernie T. Gloria&quot; " />
<person posts="2" size="9" who="Steve Underwood " />
<person posts="2" size="9" who="Niklas Edmundsson " />
<person posts="2" size="9" who="&quot;Robert de Vries&quot; " />
<person posts="2" size="9" who="Me " />
<person posts="2" size="8" who="Joel Jaeggli " />
<person posts="2" size="8" who="Peter Waltenberg " />
<person posts="2" size="7" who="&quot;T. P. Saravanan&quot; " />
<person posts="2" size="7" who="Rik van Riel " />
<person posts="2" size="7" who="Ilpo Ruotsalainen " />
<person posts="2" size="7" who="Bernhard Rosenkraenzer " />
<person posts="2" size="7" who="Benno Senoner " />
<person posts="2" size="7" who="Marc Lehmann " />
<person posts="2" size="7" who="Jelle Foks " />
<person posts="2" size="7" who="Roman Breuer " />
<person posts="2" size="7" who="Alan Modra " />
<person posts="2" size="7" who="Marques Johansson " />
<person posts="2" size="7" who="&quot;Robert M. Hyatt&quot; " />
<person posts="2" size="7" who="Stephen Polkowski " />
<person posts="2" size="7" who="&quot;Dunlap, Randy&quot; " />
<person posts="2" size="7" who="Keith Owens " />
<person posts="2" size="7" who="Coy A Hile " />
<person posts="2" size="7" who="&quot;Moonshi Mohsenruddin&quot; " />
<person posts="2" size="7" who="&quot;Mailing lists&quot; " />
<person posts="2" size="7" who="Ragnar Hojland Espinosa " />
<person posts="2" size="7" who="Stefan Hornburg " />
<person posts="2" size="7" who="David Odin " />
<person posts="2" size="7" who="" />
<person posts="2" size="7" who="Hubert Mantel " />
<person posts="2" size="6" who="Simon Vogl " />
<person posts="2" size="6" who="Edwin Huffstutler " />
<person posts="2" size="6" who="Mofeed Shahin " />
<person posts="2" size="6" who="Johannes Erdfelt " />
<person posts="2" size="6" who="CaT " />
<person posts="2" size="6" who="Steve Davies " />
<person posts="2" size="6" who="Helge Hafting " />
<person posts="2" size="6" who="Bart Kus " />
<person posts="2" size="6" who="Mark Lord " />
<person posts="2" size="6" who="&quot;really  &lt;lnx-kern@pie-9.soo.com&gt;" />
<person posts="2" size="6" who="Philip Blundell " />
<person posts="2" size="6" who="&quot;B.W. McAdams&quot; " />
<person posts="2" size="6" who="&quot;Steve Dodd&quot; " />
<person posts="2" size="6" who="Richard Sharman " />
<person posts="2" size="6" who="brisker " />
<person posts="2" size="6" who="Scott McDermott " />
<person posts="2" size="6" who="Olaf Dietsche " />
<person posts="2" size="6" who="Jeremy Katz " />
<person posts="2" size="6" who="" />
<person posts="2" size="5" who="Rik van Riel " />
<person posts="2" size="5" who="Philip Blundell " />
<person posts="2" size="5" who="" />
<person posts="2" size="5" who="Terry Dawson " />
<person posts="2" size="5" who="Nate Eldredge " />
<person posts="2" size="5" who="Bernd Eckenfels " />
<person posts="2" size="5" who="Bjorn Wesen " />
<person posts="2" size="5" who="Lauri Tischler " />
<person posts="2" size="5" who="&quot;Petr Sebor&quot; " />
<person posts="2" size="5" who="Arjan van de Ven " />
<person posts="2" size="4" who="Bob Lorenzini " />
<person posts="1" size="67" who="&quot;Robert H. de Vries&quot; " />
<person posts="1" size="49" who="&quot;James M. Mills&quot; " />
<person posts="1" size="25" who="Yann Droneaud " />
<person posts="1" size="20" who="&quot;Maciej W. Rozycki&quot; " />
<person posts="1" size="18" who="" />
<person posts="1" size="14" who="Ian Peters " />
<person posts="1" size="13" who="Ben Liblit " />
<person posts="1" size="13" who="BOSZORMENYI Zoltan " />
<person posts="1" size="13" who="Shenghuo ZHU " />
<person posts="1" size="13" who="" />
<person posts="1" size="10" who="&quot;Hugues Ramlot&quot; " />
<person posts="1" size="9" who="Peter Hanecak " />
<person posts="1" size="8" who="Marcelo Bartsch AKA synFlood " />
<person posts="1" size="8" who="Samuli Karkkainen " />
<person posts="1" size="8" who="David Ronis " />
<person posts="1" size="8" who="Roger Larsson " />
<person posts="1" size="7" who="Magnus Ahltorp " />
<person posts="1" size="7" who="Peter Rival " />
<person posts="1" size="7" who="" />
<person posts="1" size="7" who="Clemens Huebner " />
<person posts="1" size="7" who="&quot;Anthony Barbachan&quot; " />
<person posts="1" size="7" who="Karim Lakhani " />
<person posts="1" size="6" who="Tim Hockin " />
<person posts="1" size="6" who="Russell Kroll " />
<person posts="1" size="6" who=" (Kanoj Sarcar)" />
<person posts="1" size="6" who="Andrej Todosic " />
<person posts="1" size="6" who="lauri korts-parn " />
<person posts="1" size="6" who="Pedro Manuel " />
<person posts="1" size="6" who="Jeremy Taylor " />
<person posts="1" size="6" who="Philip Gladstone " />
<person posts="1" size="6" who="&quot;Liam Whiteside&quot; " />
<person posts="1" size="6" who="Karsten Keil " />
<person posts="1" size="5" who="Mikael Pettersson " />
<person posts="1" size="5" who="Oliver Neukum " />
<person posts="1" size="5" who="&quot;Juan J. Quintela&quot; " />
<person posts="1" size="5" who=" (Scott Lurndal)" />
<person posts="1" size="5" who="Hans Reiser " />
<person posts="1" size="5" who="" />
<person posts="1" size="4" who="" />
<person posts="1" size="4" who="Geert Uytterhoeven " />
<person posts="1" size="4" who="&quot;Brian K. White&quot; " />
<person posts="1" size="4" who="Petri Kaukasoina " />
<person posts="1" size="4" who="&quot;Ronald Moesbergen&quot; " />
<person posts="1" size="4" who="&quot;Carlo M. Arenas Belon&quot; " />
<person posts="1" size="4" who="Fred Reimer " />
<person posts="1" size="4" who="Alex Belits " />
<person posts="1" size="4" who="&quot;Jean-Marc.Valin&quot; " />
<person posts="1" size="4" who="Richard Gooch " />
<person posts="1" size="4" who="Adam Heath " />
<person posts="1" size="4" who="Chuck Hemker " />
<person posts="1" size="4" who="&quot;Ulrich Windl&quot; " />
<person posts="1" size="4" who="James Willard " />
<person posts="1" size="4" who="" />
<person posts="1" size="4" who="Dominik Kubla " />
<person posts="1" size="4" who="Richard Guy Briggs " />
<person posts="1" size="4" who="Jason Gunthorpe " />
<person posts="1" size="4" who="Henrik Olsen " />
<person posts="1" size="4" who="&quot;Craig Whitmore&quot; " />
<person posts="1" size="4" who="Mogens Dybaek Christensen " />
<person posts="1" size="4" who="&quot;Jeff Merkey&quot; " />
<person posts="1" size="4" who="David Forrest " />
<person posts="1" size="4" who="David Carson " />
<person posts="1" size="4" who="Herbert Xu " />
<person posts="1" size="3" who="&quot;John A. Selmys&quot; " />
<person posts="1" size="3" who="" />
<person posts="1" size="3" who="tom " />
<person posts="1" size="3" who="Michael Griffith " />
<person posts="1" size="3" who="Michail Brzitwa " />
<person posts="1" size="3" who="Andreas Helke " />
<person posts="1" size="3" who="Benjamin LaHaise " />
<person posts="1" size="3" who="&quot;Henning P. Schmiedehausen&quot; " />
<person posts="1" size="3" who="&quot;Paul E. Erkkila&quot; " />
<person posts="1" size="3" who="Andreas Bombe " />
<person posts="1" size="3" who="Henryk Paluch " />
<person posts="1" size="3" who="Gary Simmons " />
<person posts="1" size="3" who="Dima " />
<person posts="1" size="3" who="&quot;Homme R. Bitter&quot; " />
<person posts="1" size="3" who="Aaron T Porter " />
<person posts="1" size="3" who="Russell Coker " />
<person posts="1" size="3" who="Arnaldo Carvalho de Melo " />
<person posts="1" size="3" who="Carsten Paeth " />
<person posts="1" size="3" who="Mark Constable " />
<person posts="1" size="3" who="&quot;Christopher Peterson&quot; " />
<person posts="1" size="3" who="&quot;Todd A. Wood&quot; " />
<person posts="1" size="3" who="Nat Lanza " />
<person posts="1" size="3" who="Tim Timmerman " />
<person posts="1" size="3" who="Wesley Tanaka " />
<person posts="1" size="3" who="Matthew Hanselman " />
<person posts="1" size="3" who="Mitchell Blank Jr " />
<person posts="1" size="3" who="Thomas Bierweiler " />
<person posts="1" size="3" who="Bernd Rinn " />
<person posts="1" size="3" who="David Olofson " />
<person posts="1" size="3" who="Thomas Molina " />
<person posts="1" size="3" who="&quot;Olle Lindroos (ERA)&quot; " />
<person posts="1" size="3" who="Anton Ivanov " />
<person posts="1" size="3" who="&quot;Eric Seppanen&quot; " />
<person posts="1" size="3" who="Richard Dynes " />
<person posts="1" size="3" who="Meino Christian Cramer " />
<person posts="1" size="3" who="Hubert Figuiere " />
<person posts="1" size="3" who="Douglas Gilbert " />
<person posts="1" size="3" who="Raul Miller " />
<person posts="1" size="3" who="Blake Scholl " />
<person posts="1" size="3" who="&quot;Paul Fulghum&quot; " />
<person posts="1" size="3" who="Henry Spencer " />
<person posts="1" size="3" who="" />
<person posts="1" size="3" who="Chris Zwilling " />
<person posts="1" size="3" who="Steffen Zahn " />
<person posts="1" size="3" who="Artur Frysiak " />
<person posts="1" size="3" who="Lars Prieske " />
<person posts="1" size="3" who="Michael Elizabeth Chastain " />
<person posts="1" size="3" who=" (Rene Blokland)" />
<person posts="1" size="3" who="&quot;Matt Reiferson&quot; " />
<person posts="1" size="3" who="Florian Weimer " />
<person posts="1" size="3" who="iafilius " />
<person posts="1" size="3" who="&quot;John Hayward-Warburton (Programming account)&quot; " />
<person posts="1" size="3" who="Santos Halpar " />
<person posts="1" size="3" who="Mirian Crzig Lennox " />
<person posts="1" size="3" who="Ingo Molnar " />
<person posts="1" size="3" who="Alessandro Suardi " />
<person posts="1" size="3" who="Phil Lewis " />
<person posts="1" size="3" who="Tani Hosokawa " />
<person posts="1" size="3" who="" />
<person posts="1" size="3" who="Vineet Abraham " />
<person posts="1" size="3" who="Kent Overstreet " />
<person posts="1" size="3" who="Christian Groessler " />
<person posts="1" size="3" who="Jordan Mendelson " />
<person posts="1" size="3" who="Vladimir Chernyshov " />
<person posts="1" size="3" who="Jimmy Caudill " />
<person posts="1" size="3" who="&quot;Bill Rugolsky Jr.&quot; " />
<person posts="1" size="3" who="Karl Kleinpaste " />
<person posts="1" size="3" who=" (Roman Zippel)" />
<person posts="1" size="3" who="John Hayward-Warburton " />
<person posts="1" size="3" who="Hermann Schichl " />
<person posts="1" size="3" who="Pavel Roskin " />
<person posts="1" size="3" who="Russell Nelson " />
<person posts="1" size="3" who="Frank van Maarseveen " />
<person posts="1" size="3" who="" />
<person posts="1" size="3" who="David Woodhouse " />
<person posts="1" size="3" who="Dominik Kubla " />
<person posts="1" size="3" who="Craig Armour " />
<person posts="1" size="3" who="&quot;Andre M. Hedrick&quot; " />
<person posts="1" size="3" who="&quot;M. Berglund&quot; " />
<person posts="1" size="3" who="German Jose Gomez Garcia " />
<person posts="1" size="2" who="Mat Kovach " />
<person posts="1" size="2" who="Paul Ashton " />
<person posts="1" size="2" who="David Rees " />
<person posts="1" size="2" who="Sergey Dmitriev " />
<person posts="1" size="2" who="Catalin BOIE " />
<person posts="1" size="2" who="Brian Kidder " />
<person posts="1" size="2" who=" (Nick Holloway)" />
<person posts="1" size="2" who="Micahel Zappe " />
<person posts="1" size="2" who="Tim Ricketts " />
<person posts="1" size="2" who="Rik van Riel " />
<person posts="1" size="2" who="Graffiti " />
<person posts="1" size="2" who="&quot;B. James Phillippe&quot; " />
<person posts="1" size="2" who="Eric Smith " />
<person posts="1" size="2" who="V Ganesh " />
<person posts="1" size="2" who="&quot;Edward S. Marshall&quot; " />
<person posts="1" size="2" who="&quot;Forever shall I be.&quot; " />
<person posts="1" size="2" who="Todd Malsbary " />
<person posts="1" size="2" who="Matti Aarnio " />
<person posts="1" size="2" who="Prasanna Gokhale " />
<person posts="1" size="2" who="Albert Cranford " />
<person posts="1" size="2" who="Pete Harlan " />
<person posts="1" size="2" who="Artur Skawina " />
<person posts="1" size="2" who="Terry Hardie " />
<person posts="1" size="2" who="Dan Kegel " />
<person posts="1" size="2" who="Johannes Erdfelt " />
<person posts="1" size="2" who="Kernel Stuffs " />
<person posts="1" size="2" who="Andreas Tobler " />
<person posts="1" size="2" who="SEJKORA Martin " />
<person posts="1" size="2" who="Girish D Kale " />
<person posts="1" size="2" who=" (Miquel van Smoorenburg)" />
<person posts="1" size="2" who="Kamran Karimi " />
<person posts="1" size="2" who="&quot;gokhan sozmen&quot; " />
<person posts="1" size="2" who=" (Michael Surenbrock)" />
<person posts="1" size="2" who="Stanislav Krasilovskiy " />
<person posts="1" size="2" who="Chuck Campbell " />
<person posts="1" size="2" who="synFlood " />
<person posts="1" size="2" who="Werner Almesberger " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Raphael Gray " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Darrell Wright " />
<person posts="1" size="2" who="Paul Mackerras " />
<person posts="1" size="2" who="Alex Buell " />
<person posts="1" size="2" who="&quot;Nico Schmoigl&quot; " />
<person posts="1" size="2" who="Harold Oga " />
<person posts="1" size="2" who="Jakob Borg " />
<person posts="1" size="2" who="David Chappell " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Oliver Xymoron " />
<person posts="1" size="2" who="Gregoire Favre " />
<person posts="1" size="2" who="&quot;Luigi Giacobbe&quot; " />
<person posts="1" size="2" who="Jeff Garzik " />
<person posts="1" size="2" who="Christos Ricudis " />
<person posts="1" size="2" who="Richard Henderson " />
<person posts="1" size="2" who="&quot;Robert Herter&quot; " />
<person posts="1" size="2" who="&quot;James H. Cloos Jr.&quot; " />
<person posts="1" size="2" who="Niels Kristian Bech Jensen " />
<person posts="1" size="2" who="Harvey Fishman " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="&quot;Alexandr D. Kanevskiy&quot; " />
<person posts="1" size="2" who="Alan Cox " />
<person posts="1" size="2" who="Martijn van Oosterhout " />
<person posts="1" size="2" who="&quot;Robert J. Hale III&quot; " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="&quot;Mr. James W. Laferriere&quot; " />
<person posts="1" size="2" who="Drew Bernat " />
<person posts="1" size="2" who="Pavel Machek " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Anca Florea " />
<person posts="1" size="2" who="wintermute " />
<person posts="1" size="2" who="Urs Thuermann " />
<person posts="1" size="2" who="Keith Duthie " />
<person posts="1" size="2" who="Martin Klages " />
<person posts="1" size="2" who="Robert Milkowski " />
<person posts="1" size="2" who="Chris Wedgwood " />
<person posts="1" size="2" who="Brian Gerst " />
<person posts="1" size="2" who="&quot;Toader Mihai Claudiu&quot; " />
<person posts="1" size="2" who="Mark Hahn " />
<person posts="1" size="2" who="bella " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="&quot;Barry K. Nathan&quot; " />
<person posts="1" size="2" who="wu_yb " />
<person posts="1" size="2" who="mag321 " />
<person posts="1" size="2" who="&quot;Garst R. Reese&quot; " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Petru Paler " />
<person posts="1" size="2" who="Lars Prieske " />
<person posts="1" size="2" who="" />

</stats>

<section
  title="Operating System Ideas Discussed"
  subject="[RFC] - Some notions that I would like comments on"
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_9907_03/msg00055.html"
  posts="85"
  startdate="11 Jul 1999 00:00:00 -0800"
  enddate="06 Aug 1999 00:00:00 -0800"
>
<topic>FS: procfs</topic>
<topic>Real-Time</topic>
<topic>SMP</topic>
<topic>Virtual Memory</topic>

<mention>Arjan van de Ven</mention>

<p>Jeff Dike gave a pointer to <a
href="http://www.mv.com/ipusers/karaya/ossf/ossf.html">http://www.mv.com/ipusers/karaya/ossf/ossf.html</a>,
which expanded on a number of ideas he felt might be worthy of
implementation. He listed them briefly in his post.</p>

<h3 align="center">Scalability Through Specialization</h3>

<p>He suggested, <quote who="Jeff Dike">On an SMP
system, when a critical section of code is being hit often enough that
around one CPU equivalent is being lost to the locking overhead, then it
might be worthwhile to have one processor stop running processes and start
running a thread which does nothing but handle that critical
section.</quote></p>

<p>Stephen C. Tweedie objected, <quote who="Stephen C. Tweedie">If there is that much contention for the code then the
resulting cross-CPU communication will be at least as expensive as the lock
contention you were suffering in the first place!</quote></p>

<h3 align="center">Making Idle Threads Earn Their Living</h3>

<p>Under this heading, Jeff said, <quote who="Jeff Dike">This involves finding parallelism in the kernel and getting
an otherwise idle processor to handle one of the parallel chunks of
work.</quote> Stefan Monnier objected, <quote who="Stefan Monnier">Hopeless. The cost of inter-CPU communication is way too
high to try to share such fine-grained tasks.</quote> But Jamie Lokier took
up the idea of making use of idle processors, saying:</p>

<quote who="Jamie Lokier">

<p>I reckon a spare CPU could
happily</p>

<ul>

<li>pre-zero some pages, preferably spread over the range of page colours.</li>

<li>move pages around to make space for multi-page allocations.</li>

<li>checksum pages to find duplicates and merge them in the
background</li>

</ul>

</quote>

<p>Elsewhere, Stephen C. Tweedie agreed, saying, <quote who="Stephen C.
Tweedie">Yes, some of the non-Intel Linux porting
projects have tried using the idle thread to pre-zero pages for
get_free_page(), and have seen big performance improvements as a
result.</quote></p>

<h3 align="center">Compressive Paging</h3>

<p>Jeff suggested in his original email, <quote who="Jeff Dike">Before writing a page out to swap, compress it.</quote>
Stefan Monnier replied that this had <quote who="Stefan Monnier">already been tried in a few cases, and it has some definite
advantages in a few cases. But it also has some nasty difficulties. Sadly
every experiment I know of ended up stopping as soon as some code worked and
showed little improvement.</quote></p>

<p>To Jeff's original post, Stephen C. Tweedie replied, <quote who="Stephen C. Tweedie">Ouch, I'd hate to see the CPU cost. This is fine for a
single-user box with one swapping task, but gets really expensive as soon as
you are multitasking.</quote></p>

<p>Elsewhere, Matthew Sayler said that people interested in the subject should
check out <a
href="http://www.cs.utexas.edu/users/oops/compressed-caching/index.html">http://www.cs.utexas.edu/users/oops/compressed-caching/index.html</a>;
he added, <quote who="Matthew Sayler">There is quite
a bit of research material there (some of which was presented at the most
recent USENIX). I know that one of the authors was planning to hammer out an
implementation for Linux this summer.</quote></p>

<h3 align="center">IPC Through Page Remapping</h3>

<p>Jeff said in his original post, <quote who="Jeff Dike">Moving data from one process to another by remapping pages
would be a lot more efficient than by copying the data.</quote></p>

<p>Stefan Monnier replied, <quote who="Stefan Monnier">Slow. Only worth it if the message is big enough (last time
I heard, the cut-over point was around 8KB).</quote> Jamie Lokier expanded,
with, <quote who="Jamie Lokier">Usually the overhead
of TLB flushes or the need for inter-CPU TLB flush messages is given as the
reason. But there are cases when those can be shown to be not necessary.
Like when you read a page, and the pte is not marked "accessed" yet. No TLB
flush required. Similarly when you write a page and its marked "dirty" but
not "accessed" -- I'm not sure if this combination (written but not read) is
flagged by CPUs though.</quote></p>

<p>Stephen C. Tweedie replied to Jeff's original suggestion, <quote who="Stephen
C. Tweedie">No, VM tricks can be very expensive
(especially with threaded programs on SMP, where every VM update has to
involve a cross-CPU interrupt to invalidate TLB caches on other CPUs). We
actually tried this for pipes once and it wasn't that good.</quote> Jeff
replied, asking if there were any references on the costs of interprocessor
communication, and Stephen said there weren't (aside from the linux-kernel
archives themselves).</p>

<h3 align="center">Runaway Process Detection</h3>

<p>Jeff also suggested originally, <quote who="Jeff Dike">Detecting runaway processes and putting them to sleep might
be a nice little feature to add to the kernel. The <a
href="http://www.mv.com/ipusers/karaya/ossf/ossf.html">web page</a> contains
what I think is a correct algorithm for determining that a process is a
runaway.</quote></p>

<p>Stephen C. Tweedie warned, <quote who="Stephen C. Tweedie">For every such definition you'll find a genuine program
which triggers the killer. :)</quote> and Stefan Monnier also replied to
Jeff, <quote who="Stefan Monnier">Excellent way to
bloat the kernel with code that catches about 1% of the problematic cases,
which happen to be the least annoying cases (your runaway processes will
simply eat up some of your CPU time, but will have a very low priority, so
it doesn't slow down the machine too much, is trivial to kill, ...).</quote></p>

<h3 align="center">An Extra Channel For Kernel Messages</h3>

<p>Jeff had also suggested, <quote who="Jeff Dike">/proc/&lt;pid&gt;/kmsg would be a good idea. This would
contain messages pertaining to a process which are not important enough to
go into the message log, which might not be useful in five minutes, but
which the user might be interested in now.</quote></p>

<p>Stephen C. Tweedie replied, <quote who="Stephen C. Tweedie">dmesg/syslog already offer this: you can specify messages to
be of debugging priority and only log higher priority messages to syslog.
"dmesg" will tell you all of the recent unlogged messages.</quote></p>

<p>Jeff replied, <quote who="Jeff Dike">That works (on
my system), but I don't think it should. /bin/dmesg is 755 and syslog(3,
...) is allowed for normal users, which allows them to see stuff that maybe
they shouldn't.</quote> He added, <quote who="Jeff Dike"> If this really is a bug, then it would be useful for normal
users to see what the kernel has to say about their processes.</quote> There
was no reply.</p>

<h3 align="center">A Pseudo-Filesystem For Exposing Internal Process State</h3>

<p>Jeff said, <quote who="Jeff Dike">This would be a
uniform, generic way to attach real-time monitors to cooperating
processes.</quote> Stephen C. Tweedie replied, <quote who="Stephen C.
Tweedie">Ooh, like /proc fs?</quote> Jeff said,
<quote who="Jeff Dike">Should my sarcasm detector be
firing here :-) /proc contains stuff that the kernel maintains. I was
referring to very application-specific stuff like what function gcc is
currently compiling or make's dependency tree and where it is in updating
it.</quote> Stephen replied, <quote who="Stephen C. Tweedie">No, I'm serious. /proc is extensible by design. Don't do
another filesystem when you can extend procfs.</quote></p>

<h3 align="center">Speculative I/O</h3>

<p>Jeff said, <quote who="Jeff Dike">When a process does
a read, the kernel could schedule the I/O and return success before it
completes. This would allow the process to start work before the read has
finished.</quote></p>

<p>Most folks didn't see any difference between this and "asynchronous I/O",
and it came out that some work on asynchronous I/O was in progress (by Arjan
van de Ven).</p>

<p>Chris Smith tried to distinguish between Jeff's "Speculative I/O" and
"Asynchronous I/O", saying he felt people were missing Jeff's point. He
explained, <quote who="Chris Smith">As I see it, the
big difference between "speculative" I/O and asynchronous I/O is the
interface. Speculative I/O would appear to be a blocking I/O call, but as
soon as it queued the I/O request, it would return. The result page would be
marked as unreadable and unwriteable, and the actual I/O blocking would be
done on a page fault.</quote></p>

<p>Chuck Lever replied:</p>

<quote who="Chuck Lever">

<p>there's a good paper related
to this published in the OSDI '99 proceedings. see:</p>

<p>Chang, F., Gibson, G., "Automatic I/O Hint Generation through Speculative
Execution," Proceedings of the Third Symposium on Operating Systems Design
and Implementation, pp. 1-14, February 1999.</p>

<p>the authors used speculative execution during I/O waits to predict future
read requests instead of the method you described. their conclusion was that
were good gains from speculative execution, but the technique requires
significant O/S complexity.</p>

</quote>

<p>Jeff said Chris' analysis was correct, saying, that had been <quote who="Jeff
Dike">why I called it speculative rather than
asynchronous. It is asynchronous I/O under a synchronous interface.</quote></p>

<p>The discussion went on for quite awhile, and ranged over a number of
operating system concepts.</p>

</section>

<section
  title="Uninterruptible Power Supplies"
  subject="FS corruption... some help maybe??"
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_9907_03/msg00830.html"
  posts="60"
  startdate="20 Jul 1999 00:00:00 -0800"
  enddate="03 Aug 1999 00:00:00 -0800"
>
<topic>Microsoft</topic>

<p>This thread started off as a description of some filesystem corruption, but
quickly veered off into general discussion of Linux, uptimes, and Microsoft.
The (to me) most interesting part of the discussion was about Andre
Hedrick's code for UPSes made by APC. It started with a brief discussion of
whether to buy UPSes from APC or Best Power; it came out that Best supports
Linux directly, while APC doesn't. Peter A. Castro pointed out that APC tech
support did give him the URLs of Andre's work.</p>

<p>Mike A. Harris replied:</p>

<quote who="Mike A. Harris">

<p>Yes, they are kind enough
to supply you with the address of the code that will allow them to sell you
a UPS. What they don't tell you was that they threatened Andre with legal
action for his code, which caused a BIG rift on this mailing list last year
(Oct-Nov 98). Despite the company trying to squash Andre's program, they
surely didn't mind making money off selling UPS's and pointing out Andre's
program's existence.</p>

<p>Finally after much discussion with APC, etc... Andre released the code back
under GPL basically to "call their bluff" around April 7th I believe. They
realized they had no legal footing and as far as I know they just shut up.</p>

<p>They are NOT a Linux friendly company however - despite what they may say on
the phone. They'll say whatever you want to hear if you'll buy one of their
products.</p>

</quote>

<p>Paul Jakma added, <quote who="Paul Jakma">In contrast
to APC and Andre's struggle with them, if you go to Best's website you can
download their UPS software. The Unix version is available as
source.</quote></p>

<p>Andre came in with, <quote who="Andre Hedrick">For the record, I never had
any internal docs/specs on their product line. They were amazed that any
idoit would lob characters at the device and see what happens.</quote> But
he also said, <quote who="Andre Hedrick">go easy on APC.......I still have
high level access and open discussions to continue a convincing dialog on
the merits of opensourse.</quote></p>

</section>

<section
  title="Large Memory Systems"
  subject="Addressing more than 2 Gig of Memory"
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_9907_05/msg00210.html"
  posts="9"
  startdate="30 Jul 1999 00:00:00 -0800"
  enddate="03 Aug 1999 00:00:00 -0800"
>
<topic>PCI</topic>
<topic>Virtual Memory</topic>

<p>Ross Mikosh asked if there was a patch against 2.2.x that would allow
accessing more than 2 gigs of ram. Benjamin C.R. LaHaise replied, <quote who="Benjamin C.R. LaHaise">If you're talking about the
36 bit memory support, such a patch does not exist yet -- to the best of my
knowledge it's still in the 'napkin' stage.</quote></p>

<p>Ross replied, <quote who="Ross Mikosh">But also, is
there a patch which provides an unsigned 32 bit memory address space for
each process? (as opposed to a signed 32 bit address, which I'm finding in
all the 2.2.x kernel updates). So the maximum amount of addressable memory
would be 4 GB.</quote></p>

<p>Victor Khimenko gave a pointer to <a
href="http://www.linux.eu.org/Linux-MM/">http://www.linux.eu.org/Linux-MM/</a>
and said, <quote who="Victor Khimenko">Unfortunatelly
it'll need DEEP rework of linux kernel. And by DEEP I mean DEEP,</quote> and
Ben explained:</p>

<quote who="Benjamin C.R. LaHaise">

<p>That would be even
harder to accomplish as you'd have to change page tables upon entering any
exception handlers, copy_*_user would have to be kludged around... Not the
sort of messiness likely to ever make it into the mainstream kernel (and
less likely to be developed). The general consensus that keeps coming up is
that if your needs are that great, you'd probably be better served by a 64
bit architecture where the fixes are much simpler (ie dealing with 32 bit
pci dma issues).</p>

<p>The 36 bit support for ia32 should allow for something close to what you
want -- it would be possible to make kernel address space smaller, reducing
memory for caching, but increasing the virtual address space which could be
filled with high memory.</p>

</quote>

<p>Matthew Wilcox also replied to Ross, saying:</p>

<quote who="Matthew Wilcox">

<p>I think you must be
mistaken; by default Linux supports 3GB of virtual memory and 1GB (- epsilon
= 960MB, iirc) of physical RAM. It's possible to change that to 2GB + 2GB,
but it isn't possible to get 4GB of linear addressed space on x86. If you
need that, get an Alpha.</p>

<p>Even the proposed 36-bit extensions won't allow this -- they merely allow
the system to keep around many more anonymous pages which you can't use
directly. Fortunately, this is exactly what big databases want.</p>

</quote>

</section>

<section
  title="Off Topic Postings"
  subject="ATM switch"
  archive="../unavailable.html"
  posts="4"
  startdate="30 Jul 1999 00:00:00 -0800"
  enddate="01 Aug 1999 00:00:00 -0800"
>
<topic>Spam</topic>

<mention>Chuck Mead</mention>

<p>Someone posted off-topic, and Chuck Mead suggested that linux-kernel be set
up to prevent non-subscribers from posting. Nat Lanza pointed out,
<quote who="Nat Lanza">While that would help prevent
spam, it'd also keep non-subscribers from sending bug reports to the list,
which wouldn't be such a good thing.</quote></p>

</section>

<section
  title="User-Mode Kernel Update"
  subject="User-mode kernel update and ptrace patch"
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_9908_01/msg00365.html"
  posts="2"
  startdate="03 Aug 1999 00:00:00 -0800"
  enddate="04 Aug 1999 00:00:00 -0800"
>

<mention>Michael Elizabeth Chastain</mention>

<p>Jeff Dike posted a patch, and announced:</p>

<quote who="Jeff Dike">

<p>The user-mode kernel is now a
2.3.12 kernel, and I plan to keep it current with the latest development
kernels. It is now possible to log in on the console, and there were also
some improvements made to the serial line. All the details are available at
<a
href="http://www.mv.com/ipusers/karaya/uml/uml.html">http://www.mv.com/ipusers/karaya/uml/uml.html</a>.</p>

<p>Below is a patch to ptrace that I would like to get into 2.3.  It allows
ptrace to change system call numbers. I need it for the user-mode kernel,
and Michael Elizabeth Chastain needs it for his trace-and-replay debugger.
I'd appreciate it if people would look at it and let me know about any
problems.</p>

</quote>

</section>

<section
  title="Man Pages For Kernel Functions"
  subject="Offtopic: Is there any 'man' for kernel functions?"
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_9908_01/msg00409.html"
  posts="4"
  startdate="04 Aug 1999 00:00:00 -0800"
  enddate="04 Aug 1999 00:00:00 -0800"
>

<mention>Stephen Williams</mention>

<p>Someone asked if there were man pages that covered kernel functions. Neil
Moore gave a pointer to <a
href="ftp://ftp.picturel.com/pub/source/man9-snapshot.tar.gz">a man9 (kernel
functions) snapshot</a>, and added, <quote who="Neil Moore">They haven't been updated in a long time (since November
1997), so they are vastly out-of-date. Also, they are very incomplete, and
were so when they were written. I wrote a total three manpages, then ran out
of free time approximately when I started uni. Apparently, everyone else ran
out of free time or interest, as well. There are a total of around 10-20 man
pages, not counting duplicates. I'm sure that many of them document
interfaces that are now nonexistant or completely different. The project was
run by Stephen Williams; you may wish to contact him for more
information.</quote></p>

</section>

<section
  title="Linux-MCA Homepage"
  subject="linux-mca home page?"
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_9908_01/msg00448.html"
  posts="4"
  startdate="04 Aug 1999 00:00:00 -0800"
  enddate="05 Aug 1999 00:00:00 -0800"
>

<mention>Riley Williams</mention>
<mention>Dan Hollis</mention>

<p>Dan Hollis found a documentation bug in linux/Documentation/mca.txt, which
referenced <a
href="http://glycerine.itsmm.uni.edu/mca/">http://glycerine.itsmm.uni.edu/mca/</a>
as the MCA Linux home page. Dan had noticed that the hostname didn't seem to
exist anymore. Alain Schroeder gave the new URL as <a
href="http://www.dgmicro.com/mca/">http://www.dgmicro.com/mca/</a> and Riley
Williams gave a pointer to <a
href="http://linux.unicamp.br/linux-br/arquivo/msg03989.html">the
explanation</a>.</p>

</section>

<section
  title="LinModems"
  subject="First WinModem for Linux"
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_9908_01/msg00179.html"
  posts="35"
  startdate="02 Aug 1999 00:00:00 -0800"
  enddate="13 Aug 1999 00:00:00 -0800"
>
<topic>Modems</topic>

<mention>Jeff Garzik</mention>
<mention>Mike A. Harris</mention>
<mention>Jeremy Fitzhardinge</mention>

<p>Jeff Garzik gave a link to an article on <a
href="http://www.linuxworld.com/linuxworld/lw-1999-08/lw-08-linmodem.html">PC-TEL's
LinModems</a>, and Mike A. Harris replied with biting sarcasm, trashing the
whole idea of peripherals shunting their work onto a system's main CPU.</p>

<p>Jeremy Fitzhardinge disagreed, saying his laptop would be much more useful
with a LinModem, and Steve Underwood pointed out that the lower
cost-of-production would make a big difference to manufacturers of $200
Internet-access PCs.</p>

<p>There followed a big discussion about hardware prices and trends.</p>

</section>

<section
  title="Code Freeze; ISDN Perennial Lateness"
  subject="Re: no driver change for 2.4?"
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_9908_01/msg00386.html"
  posts="44"
  startdate="03 Aug 1999 00:00:00 -0800"
  enddate="10 Aug 1999 00:00:00 -0800"
>
<topic>Code Freeze</topic>
<topic>Feature Freeze</topic>
<topic>Networking</topic>
<topic>Version Control</topic>

<mention>Rogier Wolff</mention>

<p>Linus Torvalds announced:</p>

<quote who="Linus Torvalds">

<p>Feature freeze in about two weeks
is the current plan.</p>

<p>In short, people who think they have major requirements had better get their
act together. That means that if ISDN people actually want to try to get
into a real release one of these years, they don't have all that much time
to futz around any more.</p>

<p>And it does mean that if it's not in working order already, it probably
won't make it into 2.4.</p>

</quote>

<p>Carsten Paeth replied:</p>

<quote who="Carsten Paeth">

<p>I have a 2.3.12 running
with the current isdn4linux cvs tree. I will get crasy if my work again will
not find the way into the main stream kernel.</p>

<p>Why is it a problem to put this stuff into the kernel ?</p>

<p>What is the actual way to put changes into the actual kernel for isdn4linux?
What can I do to fix that problems ? Should I sent a patch to 2.3.12 to you
or someone else ?</p>

</quote>

<p>Linus replied:</p>

<quote who="Linus Torvalds">

<p>I don't know why the ISDN people
just do not ever GET IT.</p>

<p>I refuse to get huge patches every time two weeks before a feature freeze.
How hard is that to understand?</p>

<p>I will continue to ignore the ISDN CVS tree. If the ISDN people cannot get
their act together and actually start sending their fixes to the standard
kernel in a timely manner, I cannot be bothered with it. This has continued
for something like five years now, and every time I explain it to people my
explanation gets lost or ignored.</p>

<p>It's not about sending "a patch".</p>

<p>It's about being a responsible programmer, and making sure I get MORE than
just a patch every f*cing time I anounce a code freeze. I should have been
getting patches for the last half year, and I have gotten ZERO. And I'm
irritated at the ISDN peopl, because this is not the first time. In fact, I
have never EVER gotten a single responsible ISDN developer that stands up
and says "ok, I'll be the maintainer of this, and I'll make sure it gets fed
to Linus in a timely manner".</p>

<p>You still wonder why ISDN is not there? Do you still wonder why I'm fed up
with ISDN people who think they they can just force-feed me one huge patch
and completely avoid any QA in the meantime?</p>

<p>WHY, oh why, is the ONLY time I ever hear from ISDN people when I have
publically announced a code-freeze? Explain that.</p>

</quote>

<p>Paul Slootman replied that the ISDN code was so big that maybe there was no
alternative to at some point just accepting a big patch and moving on from
there. He volunteered to be Linus' contact to the ISDN developers, and feed
him regular patches after the initial mega-patch. About the lack of QA, Paul
said, <quote who="Paul Slootman">I have to disagree
there. QA is *not* being completely avoided. In fact, I think that the
majority of people using ISDN in kernels later than 2.0.36 are using the CVS
code. SuSE for example have it in their standard kernel; the rest find out
they need it when the existing code simply doesn't work for them. Hence IMHO
the "CVS" code (or at least certain snapshots of it) has been tested quite
thoroughly. I use it at work to control a dial-on-demand link to the
internet, and offer callback links from home to about 10 people. It's been
up since I booted 2.2.9-ac4 + ISDN CVS code 59 days ago now, it's made 2674
calls with 302 hours of connect time since then. I'd say it's pretty stable
:-)</quote></p>

<p>In response to Linus' "why oh why" lament, Paul added, <quote who="Paul
Slootman">My opinion is: All the core ISDN
developers are german, and are perhaps not that fluent in english. That may
be the reason why they're hesistant to contact you directly; understandable,
I have a mental block to overcome whenever I have to write a german email,
for example. When you announce a code-freeze, urgency overcomes their
hesitance. Don't see this as an attempt to excuse it, however. It should
have been avoided.</quote></p>

<p>Regarding the necessity of accepting a single large patch, Linus said:</p>

<quote who="Linus Torvalds">

<p>Oh, I agree. That much is obvious.
In fact, I've accepted some of them over time.</p>

<p>The reason I'm bitching is not just because I love biting peoples heads off
in public, it's because I do not want to see the ISDN incompetence continue.
I want people to be aware of the problem, and I want somebody to stand up
and say "I'll do it".</p>

<p>I can accept large patches initially, but I want to do so in the solid
knowledge that it's the last time EVER I have to wait for ISDN code until
the last moment. There's obviously no way we can fix past problems, I just
do not want them to repeat every single release cycle like they have so
far.</p>

</quote>

<p>Regarding Paul's volunteering as laiason, Linus replied:</p>

<quote who="Linus Torvalds">

<p>It needs to be more than one
person agreeing, but yes, I'd love to have a contact person. You need to
make the other ISDN developers accept you as more than just the person who
forwards patches to Linus. The problem is that sometimes I do not like a
patch, and then there needs to be some kind of feedback cycle. It doesn't
happen all that often when it comes to drivers (I just don't care enough - I
mainly care about the fundamental interactions in the system rather than
specific drivers), but it does happen.</p>

<p>I would certainly =love= to not have to hate ISDN support.</p>

</quote>

<p>And regarding QA, Linus explained:</p>

<quote who="Linus Torvalds">

<p>It's not getting any peer review,
nobody looks at incremental patches, and nobody really seems to care.</p>

<p>In short, the ISDN code in Linux acts as if it was a traditional code
project where the users might as well just have binaries.</p>

<p>The point of open development is that people see what's going on. You don't
get that if people see just the end result after a year. You want to have
random people just see small updates - because they will often catch silly
mistakes.</p>

<p>Now, with huge mega-patches, people just go numb. They say "oh, an ISDN
update", and skip it.</p>

<p>With the regular "let's release this as it is developed" support, there have
been web-sites with commented patches, people who read the incremental stuff
and comment on stupid things I and others do. No, it doesn't happen all the
time, but it does happen. ISDN for Linux lacks that completely, and acts as
a closed development environment.</p>

</quote>

<p>Paul replied that he was CCing the ISDN list, and was hopeful about
solidifying a position as laiason. Rogier Wolff pointed out that some folks
might be trying to take some of the burden off Linus' shoulders, by not
giving him so many patches, but saving them up into larger chunks. He added
that he felt QA was being done for ISDN, but just on different mailing
lists. Linus replied:</p>

<quote who="Linus Torvalds">

<p>Common mistake: peer review does
NOT mean that the code should be looked at by the same people who write it.</p>

<p>Peer review is _meaningless_ under those circumstances. The whole point of
getting peer review is to find _different_ people who have a different
background to look at your code.</p>

</quote>

<p>It also came out that the ISDN mailing list was closed, at which point
Rogier took back his argument.</p>

<p>Elsewhere, Hubert Mantel incurred Linus' wrath when he said, <quote who="Hubert Mantel">So the huge ISDN update in
proposed-2.2.11 will be removed from the final 2.2.11 release?</quote></p>

<p>Linus slaughtered:</p>

<quote who="Linus Torvalds">

<p>[ Irritated mode: FULL BLAST ]</p>

<p>Are you being stupid on purpose, or were you born that way?</p>

<p>Go back and read the thread. Read why I'm irritated. READ. THINK.</p>

<p>[ Irritated mode: NORMAL ]</p>

<p>I'm really disgusted with ISDN development. I'm disgusted with the fact that
I don't _ever_ see any development until after code freeze announcements,
which is at a point where it is basically too late.</p>

<p>I'm used to that happening. It happens with other drivers too. The thing
that makes ISDN stand out is that with other drivers it happens ONCE.</p>

<p>With ISDN, it has happened EVERY SINGLE DAMN RELEASE TIME! For the last FIVE
years or so. I've complained before, and every time my complaints are
apparently ignored, and result in stupid comments like the above.</p>

<p>It is over. I refuse to see this continue. The ISDN people need to open up,
and stop the ridiculous practice of having closed lists and closed releases,
and not feeding them back until it's basically too late. The ISDN people
need to get on with the program, because it doesn't work the way it is
handled now.</p>

<p>We had this exact discussion during the 2.2.x release thing, and yet people
seem to not have woken up. I don't know what I have to do to make people
understand. I'm considering asking SuSE to stop funding any development that
doesn't find its way in a timely manner into the standard kernel, for
example.</p>

<p>I know there _are_ people at SuSE who understand that the current ISDN
development model is a disaster for releases. Maybe you should talk to
them.</p>

</quote>

<p>Rik van Riel said, <quote who="Rik van Riel">Unfortunately, the phone companies don't allow you to
connect to the network with uncertified hardware/driver combo's. Opening up
the ISDN development could bring all sorts of legal trouble with it
:(</quote></p>

<p>Linus replied:</p>

<quote who="Linus Torvalds">

<p>Not really true.</p>

<p>It's true in Germany, not in many other places. Germany is one of the few
countries in the world who still have a rather strong monopoly on phones,
although it finally seems to be crumbling there too, as even the Germans are
growing tired of bad service and exorbitant fees ;)</p>

<p>And even in Germany, it's only true of drivers that do everything in
software: most modern ISDN cards have the actual connection smarts in
firmware and do not need the same certification (well, they do, but not on
the OS driver side: now it's a hardware certification issue). So only a
rather small subset of the ISDN code is actually affected by these rules,
and its' fairly easy to say something like "for these cards, it is illegal
to connect the machine to the phone line if this part of the code has been
changed".</p>

<p>I think it's basically just one or two drivers, and a subset of the driver
at that.</p>

<p>And quite frankly, let the people vote with their feet. Civil disobedience
is not always a bad thing, as shown by people like Gandhi. Bringing down bad
phone monopolies may not ever count as highly as getting the British Empire
out of India, but let people decide on their own whether they should just
bend over and take bad rules.</p>

</quote>

<p>Lars Marowsky-Bree asked:</p>

<quote who="Lars Marowsky-Bree">

<p>So, what do you
suggest to remedy the situation? The ISDN updates are dearly needed by the
masses, your argument (which I completely agree with) with the ISDN
developers non withstanding.</p>

<p>What about if you both get over it: You _once_ accept the big patch so we
can resolve the situation right now, and the i4ldevelopers promise to feed
you smaller patches in the future so it never occurs again.</p>

</quote>

<p>Linus replied:</p>

<quote who="Linus Torvalds">

<p>For 2.2.x we don't have much
choice - either it dosn't get updated at all, or it gets updated in one
large fell swoop.</p>

<p>For 2.3.x the choices are also fairly limited. Most of them basically
involve one large initial sync patch, and then future patches in a more
timely fashion. I don't think we can synch up reasonably any other way,
although it might be nice to have the initial larger sync be done on a
per-driver basis at least to some degree.</p>

<p>The thing is, that before I accept the large sync, I really want to get the
issues out in the open, and I really do want to make sure that when the
2.5.x development tree opens, the ISDN code won't be in the same shape as it
is now, with large pending patches.</p>

<p>For example, I really want ISDN developers to try to be as disciplined as
other devlopers are during a feature freeze. Instead of thinking "Oh, the
standard kernel has a feature freeze, so we'll just do all our development
in the CVS tree and sych up in one large go", the ISDN people too should
understand what the feature freeze is all about: testing a stable system,
and making sure that the bugs at that time get ironed out and _nothing_
else. No secret CVS tree activity on the side etc. It's about hammering
something out that you can live with for a year or two there-after WITHOUT
telling people to upgrade to some completely new CVS tree version.</p>

<p>Now, "disciplined as the other developers" is probably an oxymoron. None of
the Linux feature- or code-freezes have been all THAT disciplined, but at
least people tried, and we basically succeeded reasonably well in the end.</p>

<p>And remember: feature-freeze and even code-freeze does not mean that bugs
don't get fixed, it just means that people really ONLY concentrate on
finding the bugs. It should be something ISDN developers need to do
occasionally too, and this all really shouldn't be all that big of an issue.
It's just that historically it has really not worked at all..</p>

</quote>

</section>

<section
  title="NFS Exploit"
  subject="2.2.10-ac&lt;x&gt; / 2.2.11-pre&lt;x&gt; NFS client problem &amp; bugfix"
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_9908_01/msg00625.html"
  posts="13"
  startdate="05 Aug 1999 00:00:00 -0800"
  enddate="08 Aug 1999 00:00:00 -0800"
>
<topic>FS: NFS</topic>

<mention>Alan Cox</mention>
<mention>Trond Myklebust</mention>
<mention>Kurt Garloff</mention>
<mention>Steven N. Hirsch</mention>
<mention>Linus Torvalds</mention>

<p>Frank van Maarseveen and Trond Myklebust discussed some potential NFS
trouble. Frank posted the following exploit:</p>

<quote who="Frank van Maarseveen">

<p>Run this on the
client in a separate window:</p>

<pre>        while usleep 100000; do ls notfound; done</pre>

<p>Go to the server and create the "notfound" file. The client script will
never see this file due to caching. When the usleep is increased towards 1
second then the file will be found in most cases</p>

</quote>

<p>His solution was to disable negative dentry caching, forcing failed inode
lookups to be redone rather than be fed data from a cache. Trond said that
doing so many lookups would put an unreasonable burden on the network. He
added that Linus Torvalds had rejected a patch for the 2.2 series on those grounds.</p>

<p>They went back and forth on the issue, and Kurt Garloff pointed out that the
file was <em>never</em> being seen in Frank's exploit, which was clearly a
bug. Trond agreed, and there was some confusion about whether the problem
was in the stock 2.2.10 kernel or in Alan Cox's 2.2.11-* patches. Steven N.
Hirsch asked if the discussion was specific to the -ac and/or the NFS
patches.</p>

<p>Trond said it seemed to be only about the -ac patches, and that as far as he
knew, the stock 2.2.10 and NFSv3 were both doing the right thing.</p>

</section>

<section
  title="Development Conflicts"
  subject="No kmem_cache_destroy?"
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_9908_01/msg00735.html"
  posts="15"
  startdate="06 Aug 1999 00:00:00 -0800"
  enddate="09 Jun 1999 00:00:00 -0800"
>

<mention>Johannes</mention>

<p>Johannes Erdfelt wanted to use a kmem_cache in the UHCI module, but felt
that Andrea Arcangeli's comments in <a
href="file:/usr/src/linux/mm/slab.c">mm/slab.c</a> were a little unclear.
They seemed to say that modules should keep a pointer in unloaded memory
(never a good idea).</p>

<p>David S. Miller replied:</p>

<quote who="David S. Miller">

<p>I've been meaning to fix
this, the way to really do it is:</p>

<ol>

<li>Never require that a slab gets destroyed.  Even after the module
unloads, the cache will be shrunk naturally as the system trims SLAB caches
all the time when memory gets tight.</li>

<li>Have kmem_cache_create copy the string over into a new buffer, so the
reference to the string in the module doesn't exist. In fact make
kmem_cache_t-&gt;name[64] or whatever so that it will still work while SLAB
is setting itself up.</li>

<li>Have kmem_cache_create check to see if the slab exists already, by
comparing the name and the parameters. If they match, just return the old
slab cache pointer, don't make a new one.</li>

</ol>

<p>This will solve all the problems in one go, and localize the changes to one
spot.</p>

</quote>

<p>Johannes Erdfelt volunteered to write the patch, if Dave would accept it,
and Dave said he would.</p>

<p>At this point Andrea said:</p>

<quote who="Andrea Arcangeli">

<p>Guys I implemented
kmem_cache_destroy() long ago!! I posted a patch alone with explanation plus
testing and testing kernel module as well!! Since it's been _ignored_ by
_everybody_ out there (even from people like AV who asked for it) it stayed
long time into my 2.2.x andrea-patches (as tons of other good stuff!!).</p>

<p>Luckily at that time I did a directory in my ftp area (unlike for the other
good stuff). I am pretty sure the patch will apply cleanly on 2.3.x as well
since the slab is been unchanged over the time.</p>

<pre>        ftp://ftp.suse.com/pub/people/andrea/slab/slab-destroy-2.2.2
        ftp://ftp.suse.com/pub/people/andrea/slab/slab-test-0.tar.gz

andrea@penguin:/home/ftp/pub/andrea/slab$ ls -l
total 9
-rw-r--r--   1 andrea   andrea       6222 Feb 25 20:31 slab-destroy-2.2.2
                                          ^^^^^^
-rw-r--r--   1 andrea   andrea       1823 Feb 25 20:33 slab-test-0.tar.gz
                                          ^^^^^^</pre>

<p>Please apply it!! (if you want a detailed description of the patch browse
linux-kernel of february or ask me to browse linux-kernel and forward you my
original email of february).</p>

</quote>

<p>Dave said, <quote who="David S. Miller">And as I
described it's the wrong answer to this problem, instead kmem_cache_create
needs to be made more intelligent. Adding a new interface for cache
destruction requires changes to all users of SLAB, making SLAB creation more
intelligent does not.</quote></p>

</section>

<section
  title="Linux 2.2.11pre7"
  subject="Linux 2.2.11pre7 (final ?)"
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_9908_02/msg00180.html"
  posts="7"
  startdate="08 Aug 1999 00:00:00 -0800"
  enddate="09 Aug 1999 00:00:00 -0800"
>
<topic>Networking</topic>
<topic>PCI</topic>

<p>Alan Cox announced:</p>

<quote who="Alan Cox">

<p>I've uploaded the
2.2.11pre6-&gt;7 patch to ftp.kernel.org:/pub/linux/kernel/alan</p>

<p>This one contains:</p>

<ul>

<li>Second set of merges from DaveM</li>
<li>Alpha compile fix</li>
<li>SIS 900 PCI ethernet driver</li>

</ul>

<p>This should mean 2.2.11pre7 is the final ready for 2.2.11. I've got various
other patches from people queued because I want them to be in 2.2.12 so that
2.2.11 doesn't get too many non driver changes.</p>

<p>Please test this one hard folks.</p>

</quote>

</section>

</kc>
