<?xml version="1.0" ?>

<kc>

<title>Kernel Traffic</title>

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

<issue num="178" date="04 Aug 2002 23:00:00 -0800" />

<stats posts="1904" size="8822" contrib="481" multiples="244" lastweek="171">

<person posts="96" size="289" who="Alan Cox " />
<person posts="56" size="370" who="Marcin Dalecki " />
<person posts="44" size="294" who="Andrew Morton " />
<person posts="33" size="102" who="Thunder from the hill " />
<person posts="33" size="100" who="Rik van Riel " />
<person posts="32" size="92" who="Bill Davidsen " />
<person posts="31" size="164" who="Andrea Arcangeli " />
<person posts="30" size="126" who="William Lee Irwin III " />
<person posts="29" size="211" who="Rusty Russell " />
<person posts="29" size="118" who="Greg KH " />
<person posts="28" size="104" who="Linus Torvalds " />
<person posts="26" size="92" who="Russell King " />
<person posts="26" size="75" who="Daniel Phillips " />
<person posts="25" size="94" who="Ingo Molnar " />
<person posts="21" size="75" who="Jens Axboe " />
<person posts="19" size="184" who="Alan Cox " />
<person posts="19" size="58" who="Zwane Mwaikambo " />
<person posts="18" size="64" who="Christoph Hellwig " />
<person posts="18" size="59" who="Matthias Andree " />
<person posts="17" size="130" who="Vojtech Pavlik " />
<person posts="17" size="102" who="Robert Love " />
<person posts="17" size="65" who="Andreas Dilger " />
<person posts="16" size="96" who="Hugh Dickins " />
<person posts="14" size="66" who="Trond Myklebust " />
<person posts="14" size="56" who="Andrew Rodland " />
<person posts="14" size="50" who="David Woodhouse " />
<person posts="14" size="49" who="Ville Herva " />
<person posts="13" size="125" who="Roman Zippel " />
<person posts="13" size="44" who="&quot;Richard B. Johnson&quot; " />
<person posts="13" size="42" who="Andries Brouwer " />
<person posts="13" size="40" who="Dave Jones " />
<person posts="12" size="86" who="Tom Rini " />
<person posts="12" size="60" who="&quot;Adam J. Richter&quot; " />
<person posts="12" size="57" who="Cort Dougan " />
<person posts="12" size="50" who="Paul Larson " />
<person posts="11" size="41" who="Brad Hards " />
<person posts="11" size="35" who="James Simmons " />
<person posts="11" size="30" who="DervishD " />
<person posts="10" size="136" who="Kurt Garloff " />
<person posts="10" size="47" who="&quot;Petr Vandrovec&quot; " />
<person posts="10" size="37" who="Austin Gonyou " />
<person posts="10" size="34" who="Craig Kulesa " />
<person posts="10" size="31" who="Bartlomiej Zolnierkiewicz " />
<person posts="10" size="30" who="&quot;Albert D. Cahalan&quot; " />
<person posts="10" size="28" who="Andi Kleen " />
<person posts="10" size="24" who="&quot;David S. Miller&quot; " />
<person posts="9" size="109" who="Andre Hedrick " />
<person posts="9" size="36" who="&quot;Buddy Lumpkin&quot; " />
<person posts="9" size="36" who=" (Eric W. Biederman)" />
<person posts="8" size="49" who="Anton Altaparmakov " />
<person posts="8" size="33" who="Christoph Hellwig " />
<person posts="8" size="29" who="&quot;Patrick J. LoPresti&quot; " />
<person posts="8" size="26" who="Steven Cole " />
<person posts="8" size="22" who="Thomas Molina " />
<person posts="7" size="45" who="Federico Sevilla III " />
<person posts="7" size="29" who="Kai Germaschewski " />
<person posts="7" size="28" who="Larry McVoy " />
<person posts="7" size="24" who="Pavel Machek " />
<person posts="7" size="24" who="Keith Owens " />
<person posts="7" size="22" who="Stelian Pop " />
<person posts="7" size="20" who="Jeff Garzik " />
<person posts="6" size="93" who="Dipankar Sarma " />
<person posts="6" size="45" who="Lionel Bouton " />
<person posts="6" size="42" who="Per Gregers Bilse " />
<person posts="6" size="42" who="James Cleverdon " />
<person posts="6" size="28" who="Rob Landley " />
<person posts="6" size="28" who="David Howells " />
<person posts="6" size="24" who="Elladan " />
<person posts="6" size="24" who=" (Linus Torvalds)" />
<person posts="6" size="23" who="Axel Siebenwirth " />
<person posts="6" size="23" who="&quot;J.A. Magallon&quot; " />
<person posts="6" size="22" who="Ed Tomlinson " />
<person posts="6" size="21" who="" />
<person posts="6" size="20" who="Arnaldo Carvalho de Melo " />
<person posts="6" size="20" who="Pete Zaitcev " />
<person posts="6" size="18" who="Daniel Egger " />
<person posts="6" size="18" who="Dave Kleikamp " />
<person posts="6" size="16" who="Mikael Pettersson " />
<person posts="6" size="14" who="Oleg Nesterov " />
<person posts="5" size="62" who="Alan Cox " />
<person posts="5" size="60" who="Muli Ben-Yehuda " />
<person posts="5" size="58" who="Thomas =?iso-8859-1?Q?Lang=E5s?= " />
<person posts="5" size="36" who="Doug Ledford " />
<person posts="5" size="33" who="george anzinger " />
<person posts="5" size="31" who="Daniel Mose " />
<person posts="5" size="31" who="Ravikiran G Thirumalai " />
<person posts="5" size="29" who="Robert White " />
<person posts="5" size="27" who="Samuel Thibault " />
<person posts="5" size="26" who="Jeff Dike " />
<person posts="5" size="26" who="Denis Vlasenko " />
<person posts="5" size="23" who="David Mosberger " />
<person posts="5" size="22" who="&quot;Van Maren, Kevin&quot; " />
<person posts="5" size="21" who="Hans Reiser " />
<person posts="5" size="19" who="Adam Kropelin " />
<person posts="5" size="18" who="Sam Vilain " />
<person posts="5" size="18" who="Joe Thornber " />
<person posts="5" size="18" who="&quot;H. Peter Anvin&quot; " />
<person posts="5" size="17" who="Adrian Bunk " />
<person posts="5" size="17" who="Peter Osterlund " />
<person posts="5" size="15" who="Lars Marowsky-Bree " />
<person posts="5" size="14" who="Pavel Machek " />
<person posts="5" size="13" who="bert hubert " />
<person posts="5" size="13" who="&quot;Martin Brulisauer&quot; " />
<person posts="4" size="35" who="Andy Pfiffer " />
<person posts="4" size="28" who="Adam Belay " />
<person posts="4" size="21" who="Chris Mason " />
<person posts="4" size="21" who="&quot;Ben Rafanello&quot; " />
<person posts="4" size="19" who="Patrick Mochel " />
<person posts="4" size="19" who="Jesse Pollard " />
<person posts="4" size="19" who="Shawn Starr " />
<person posts="4" size="19" who="Eric Altendorf " />
<person posts="4" size="18" who="Abraham vd Merwe " />
<person posts="4" size="18" who="Greg Banks " />
<person posts="4" size="16" who="&quot;jeff millar&quot; " />
<person posts="4" size="15" who="" />
<person posts="4" size="13" who="Neil Brown " />
<person posts="4" size="13" who="Erik Andersen " />
<person posts="4" size="13" who="Peter " />
<person posts="4" size="13" who="Marcelo Tosatti " />
<person posts="4" size="13" who="&quot;Heinz J . Mauelshagen&quot; " />
<person posts="4" size="12" who="&quot;Peter T. Breuer&quot; " />
<person posts="4" size="12" who="Russell Lewis " />
<person posts="4" size="12" who="Oliver Xymoron " />
<person posts="4" size="12" who="Val Henson " />
<person posts="4" size="12" who="zhengchuanbo " />
<person posts="4" size="11" who="&quot;Oliver Pitzeier&quot; " />
<person posts="4" size="10" who="kees " />
<person posts="4" size="9" who="&quot;Justin T. Gibbs&quot; " />
<person posts="3" size="80" who="Marc Duponcheel " />
<person posts="3" size="52" who="D.A.M. Revok " />
<person posts="3" size="42" who="Nico Schottelius " />
<person posts="3" size="39" who="Dan Aloni " />
<person posts="3" size="36" who="Matthew Dobson " />
<person posts="3" size="29" who="Keith Adamson " />
<person posts="3" size="21" who="&quot;Guillaume Boissiere&quot; " />
<person posts="3" size="18" who="Stas Sergeev " />
<person posts="3" size="12" who="Zack Weinberg " />
<person posts="3" size="12" who="Sam Ravnborg " />
<person posts="3" size="11" who="Jakob Oestergaard " />
<person posts="3" size="11" who="Brian Gerst " />
<person posts="3" size="11" who="Stevie O " />
<person posts="3" size="11" who="" />
<person posts="3" size="10" who="Andreas Schwab " />
<person posts="3" size="10" who="Ed Vance " />
<person posts="3" size="10" who="Diego Calleja " />
<person posts="3" size="10" who="&quot;David Luyer&quot; " />
<person posts="3" size="10" who="Shawn " />
<person posts="3" size="10" who="Jamie Lokier " />
<person posts="3" size="10" who="Marc-Christian Petersen " />
<person posts="3" size="10" who="&quot;jdow&quot; " />
<person posts="3" size="10" who="John August " />
<person posts="3" size="9" who="Pavel Machek " />
<person posts="3" size="9" who="Alan Robertson " />
<person posts="3" size="9" who="&quot;Martin J. Bligh&quot; " />
<person posts="3" size="9" who="Matti Aarnio " />
<person posts="3" size="9" who="Mathieu Chouquet-Stringer " />
<person posts="3" size="9" who="Andreas Schuldei " />
<person posts="3" size="8" who="Greg Ungerer " />
<person posts="3" size="8" who="" />
<person posts="3" size="8" who="Paul Mackerras " />
<person posts="3" size="8" who="&quot;KOCHI, Takayoshi&quot; " />
<person posts="3" size="8" who="Kareem Dana " />
<person posts="3" size="8" who="Richard Gooch " />
<person posts="3" size="8" who="" />
<person posts="3" size="7" who="&quot;Michael Kerrisk&quot; " />
<person posts="3" size="7" who="Kelledin " />
<person posts="3" size="7" who="Rusty Trivial Russell " />
<person posts="3" size="7" who="Anton Blanchard " />
<person posts="3" size="7" who="Dale Amon " />
<person posts="3" size="6" who="Dax Kelson " />
<person posts="2" size="63" who="mbs " />
<person posts="2" size="30" who="bege " />
<person posts="2" size="21" who="Aaron Gaudio " />
<person posts="2" size="20" who="Thomas Mierau " />
<person posts="2" size="14" who="Olaf Kirch " />
<person posts="2" size="13" who="Tabris " />
<person posts="2" size="13" who="Nico Schottelius " />
<person posts="2" size="13" who="&quot;David F Barrera&quot; " />
<person posts="2" size="12" who="" />
<person posts="2" size="12" who="Aristeu Sergio Rozanski Filho " />
<person posts="2" size="11" who="jw schultz " />
<person posts="2" size="10" who="abhishek Sinha " />
<person posts="2" size="9" who="Bhavesh_P_Davda " />
<person posts="2" size="9" who="&quot;Joseph Malicki&quot; " />
<person posts="2" size="9" who="Kevin Buhr " />
<person posts="2" size="9" who="" />
<person posts="2" size="9" who="Jan Kasprzak " />
<person posts="2" size="8" who="Erlend Aasland " />
<person posts="2" size="8" who="James Bourne " />
<person posts="2" size="8" who="Sven Koch " />
<person posts="2" size="8" who="Jean Tourrilhes " />
<person posts="2" size="8" who="&quot;Daniela Engert&quot; " />
<person posts="2" size="8" who="Greg Louis " />
<person posts="2" size="8" who="gerg " />
<person posts="2" size="8" who="Ed Sweetman " />
<person posts="2" size="7" who="Jay Estabrook " />
<person posts="2" size="7" who="Thomas " />
<person posts="2" size="7" who="Mike Insch " />
<person posts="2" size="7" who="James Mayer " />
<person posts="2" size="7" who="Nathan Straz " />
<person posts="2" size="7" who="Anders Gustafsson " />
<person posts="2" size="7" who="George France " />
<person posts="2" size="7" who="" />
<person posts="2" size="7" who="Stephen Lord " />
<person posts="2" size="7" who="Benjamin Herrenschmidt " />
<person posts="2" size="6" who="Daniel Sheltraw " />
<person posts="2" size="6" who="&quot;Randy.Dunlap&quot; " />
<person posts="2" size="6" who="&quot;Gabor Z. Papp&quot; " />
<person posts="2" size="6" who="Athanasius " />
<person posts="2" size="6" who="Kai Engert " />
<person posts="2" size="6" who="" />
<person posts="2" size="6" who="Kiran " />
<person posts="2" size="6" who="Kasper Dupont " />
<person posts="2" size="6" who="Sandy Harris " />
<person posts="2" size="6" who="Alex Riesen " />
<person posts="2" size="6" who="&quot;Tommy Faasen&quot; " />
<person posts="2" size="6" who="James Bottomley " />
<person posts="2" size="6" who="Alessandro Suardi " />
<person posts="2" size="6" who="Soewono Effendi " />
<person posts="2" size="6" who="Gabor Kerenyi " />
<person posts="2" size="6" who="Scorpion " />
<person posts="2" size="6" who="Davide Libenzi " />
<person posts="2" size="6" who=" (bill davidsen)" />
<person posts="2" size="5" who="Florian Weimer " />
<person posts="2" size="5" who="Gerhard Mack " />
<person posts="2" size="5" who="Christoph Rohland " />
<person posts="2" size="5" who="Matthew Wilcox " />
<person posts="2" size="5" who="" />
<person posts="2" size="5" who="Roy Sigurd Karlsbakk " />
<person posts="2" size="5" who="Marshal Newrock " />
<person posts="2" size="5" who="Meelis Roos " />
<person posts="2" size="5" who="J Sloan " />
<person posts="2" size="5" who="Benjamin LaHaise " />
<person posts="2" size="5" who="Ketil Froyn " />
<person posts="2" size="5" who="Willy Tarreau " />
<person posts="2" size="5" who="Pat Suwalski " />
<person posts="2" size="5" who="Jean-Luc Coulon " />
<person posts="2" size="5" who="Jerry Cooperstein " />
<person posts="2" size="4" who="Martin Brulisauer " />
<person posts="2" size="4" who="Tom Walcott " />
<person posts="2" size="4" who="&quot;Nandakumar  NarayanaSwamy&quot; " />
<person posts="2" size="4" who="Krzysiek Taraszka " />
<person posts="2" size="4" who="Shanti Katta " />
<person posts="2" size="3" who="Matt Simonsen " />
<person posts="1" size="59" who="Albert Cranford " />
<person posts="1" size="41" who="Dominik Brodowski " />
<person posts="1" size="38" who="Kathy Frazier " />
<person posts="1" size="29" who="Rohan Deshpande " />
<person posts="1" size="28" who="Ivan Kokshaysky " />
<person posts="1" size="27" who="Tim Hockin " />
<person posts="1" size="21" who="Michael Kerrisk " />
<person posts="1" size="19" who="Helmut Lichtenberg  (by way of Monika Strack" />
<person posts="1" size="18" who="Jamie Zawinski " />
<person posts="1" size="13" who="Srihari Vijayaraghavan " />
<person posts="1" size="11" who="Paul Eggert " />
<person posts="1" size="11" who=" (Kai Henningsen)" />
<person posts="1" size="10" who="Gerald Champagne " />
<person posts="1" size="10" who="&quot;Aron Zeh&quot; " />
<person posts="1" size="8" who="=?iso-8859-1?Q?Rasmus_B=F8g_Hansen?= " />
<person posts="1" size="8" who="&quot;James H. Cloos Jr.&quot; " />
<person posts="1" size="8" who="Kevin Fenzi " />
<person posts="1" size="7" who="Ronald Bultje " />
<person posts="1" size="7" who="" />
<person posts="1" size="7" who="&quot;Suparna Bhattacharya&quot; " />
<person posts="1" size="7" who="Tomasz Rola " />
<person posts="1" size="6" who="" />
<person posts="1" size="6" who="&quot;Stephen Lee&quot; " />
<person posts="1" size="6" who="uupD&amp;SW " />
<person posts="1" size="6" who="Jochen Suckfuell " />
<person posts="1" size="6" who="" />
<person posts="1" size="6" who="Jens Schmidt " />
<person posts="1" size="6" who="Patrick Mansfield " />
<person posts="1" size="6" who="Kevin Curtis " />
<person posts="1" size="5" who="Mark Hindley " />
<person posts="1" size="5" who="Albert Cranford " />
<person posts="1" size="5" who="Stuffed Crust " />
<person posts="1" size="5" who="Bob Miller " />
<person posts="1" size="5" who="&quot;H. J. Lu&quot; " />
<person posts="1" size="5" who="Daniel McNeil " />
<person posts="1" size="5" who="Matthew Wilcox " />
<person posts="1" size="5" who="Stefan Kleyer " />
<person posts="1" size="5" who="Thierry Vignaud " />
<person posts="1" size="4" who="Rudmer van Dijk " />
<person posts="1" size="4" who="&quot;James Inman&quot; " />
<person posts="1" size="4" who="&quot;Mohamed Ghouse , Gurgaon&quot; " />
<person posts="1" size="4" who="Daniel Barlow " />
<person posts="1" size="4" who="&quot;L.C. Chang&quot; " />
<person posts="1" size="4" who="Felipe Alfaro Solana " />
<person posts="1" size="4" who="john stultz " />
<person posts="1" size="4" who="&quot;Robert A. Hayden&quot; " />
<person posts="1" size="4" who="Sean Griffin " />
<person posts="1" size="4" who="Ryan Cumming " />
<person posts="1" size="4" who="&quot;Anders K. Pedersen&quot; " />
<person posts="1" size="4" who="Andrzej Krzysztofowicz " />
<person posts="1" size="4" who="Erich Focht " />
<person posts="1" size="4" who="Emil Eifrem " />
<person posts="1" size="4" who="Jon Grimm " />
<person posts="1" size="4" who="Ernst Lehmann " />
<person posts="1" size="4" who="Newsmail " />
<person posts="1" size="4" who="Michel =?ISO-8859-1?Q?D=E4nzer?= " />
<person posts="1" size="4" who="Bongani " />
<person posts="1" size="4" who="Michael Schlenstedt " />
<person posts="1" size="4" who="Lawrence Greenfield " />
<person posts="1" size="4" who="Harald Welte " />
<person posts="1" size="4" who="Nathaniel " />
<person posts="1" size="4" who="Oliver Neukum " />
<person posts="1" size="3" who="Roger Gammans " />
<person posts="1" size="3" who="niraj gupta " />
<person posts="1" size="3" who="Bart De Schuymer " />
<person posts="1" size="3" who="&quot;Mark H. Wood&quot; " />
<person posts="1" size="3" who="Alasdair Kergon " />
<person posts="1" size="3" who="Matthias Andree " />
<person posts="1" size="3" who="Karthik Arumugham " />
<person posts="1" size="3" who="&quot;Matthew D. Pitts&quot; " />
<person posts="1" size="3" who="Ray Friess " />
<person posts="1" size="3" who="Jim Duchek " />
<person posts="1" size="3" who="Dave Jones " />
<person posts="1" size="3" who="John Levon " />
<person posts="1" size="3" who="Reinhard Moosauer " />
<person posts="1" size="3" who="John Muir Kumph " />
<person posts="1" size="3" who="Hu Gang " />
<person posts="1" size="3" who="Ewan Mac Mahon " />
<person posts="1" size="3" who="&quot;Georg Nikodym&quot; " />
<person posts="1" size="3" who="&quot;Timothy D. Witham&quot; " />
<person posts="1" size="3" who=" (=?iso-8859-1?q?M=E5ns_Rullg=E5rd?=)" />
<person posts="1" size="3" who="" />
<person posts="1" size="3" who="Thorsten Kranzkowski " />
<person posts="1" size="3" who=" (Grendel)" />
<person posts="1" size="3" who="Fabio Massimo Di Nitto " />
<person posts="1" size="3" who="Hiten Pandya " />
<person posts="1" size="3" who="Thomas Winischhofer " />
<person posts="1" size="3" who="A Guy Called Tyketto " />
<person posts="1" size="3" who="Seiichi Nakashima " />
<person posts="1" size="3" who="&quot;Chen, Kenneth W&quot; " />
<person posts="1" size="3" who="James Bottomley " />
<person posts="1" size="3" who="=?iso-8859-1?q?Steven=20Newbury?= " />
<person posts="1" size="3" who="Tom Gall " />
<person posts="1" size="3" who="Jan-Benedict Glaw " />
<person posts="1" size="3" who="&quot;Charles R. Anderson&quot; " />
<person posts="1" size="3" who="Shane Nay " />
<person posts="1" size="3" who="Mark Mielke " />
<person posts="1" size="3" who="Martin Tsachev " />
<person posts="1" size="3" who="&quot;Steve Pratt&quot; " />
<person posts="1" size="3" who="Art Haas " />
<person posts="1" size="3" who="Johann Deneux " />
<person posts="1" size="3" who="Tomas Szepe " />
<person posts="1" size="3" who="Hubertus Franke " />
<person posts="1" size="3" who="Carl-Daniel Hailfinger " />
<person posts="1" size="3" who="David Weinehall " />
<person posts="1" size="3" who="Marek Habersack " />
<person posts="1" size="3" who="=?iso-8859-15?Q?Mirko_D=F6lle?= " />
<person posts="1" size="3" who="Jan Hudec " />
<person posts="1" size="3" who="Chris Friesen " />
<person posts="1" size="3" who="Dave Hansen " />
<person posts="1" size="3" who="CaT " />
<person posts="1" size="3" who="Ivan Gyurdiev " />
<person posts="1" size="3" who="Danny Tholen " />
<person posts="1" size="3" who="Ingo Oeser " />
<person posts="1" size="3" who="James Antill " />
<person posts="1" size="3" who="Bjorn Helgaas " />
<person posts="1" size="3" who="Aldy Hernandez " />
<person posts="1" size="3" who=" (Rogier Wolff)" />
<person posts="1" size="3" who="David Chow " />
<person posts="1" size="3" who="&quot;Bill Rugolsky Jr.&quot; " />
<person posts="1" size="3" who="Badari Pulavarty " />
<person posts="1" size="3" who=" (Mike Castle)" />
<person posts="1" size="3" who="&quot;Chandrasekhar&quot; " />
<person posts="1" size="3" who="Stephen Rothwell " />
<person posts="1" size="2" who="Todd Inglett " />
<person posts="1" size="2" who=" (Dr. Dietmar Jung)" />
<person posts="1" size="2" who="Corporal Pisang " />
<person posts="1" size="2" who="Andy Isaacson " />
<person posts="1" size="2" who="John Kacur " />
<person posts="1" size="2" who="Richard A Nelson " />
<person posts="1" size="2" who="Martin Knoblauch " />
<person posts="1" size="2" who="Paul " />
<person posts="1" size="2" who="Miles Lane " />
<person posts="1" size="2" who="Bruce Cran " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Emil Eifrem " />
<person posts="1" size="2" who="Eli Carter " />
<person posts="1" size="2" who="Oliver Neukum " />
<person posts="1" size="2" who="Heinz Diehl " />
<person posts="1" size="2" who="Craig Thomas " />
<person posts="1" size="2" who="Roger Larsson " />
<person posts="1" size="2" who="Roman Kagan " />
<person posts="1" size="2" who="Christian Reis " />
<person posts="1" size="2" who="&quot;Isabelle, Francois&quot; " />
<person posts="1" size="2" who="Stefan Kleyer " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Alastair Stevens " />
<person posts="1" size="2" who="dalecki " />
<person posts="1" size="2" who="&quot;Michael G. Janicki&quot; " />
<person posts="1" size="2" who="Ghozlane Toumi " />
<person posts="1" size="2" who="&quot;Steve Best&quot; " />
<person posts="1" size="2" who="David Shirley " />
<person posts="1" size="2" who="Jakub Jelinek " />
<person posts="1" size="2" who="Andi Kleen " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Lew Wolfgang " />
<person posts="1" size="2" who="&quot;David D. Hagood&quot; " />
<person posts="1" size="2" who="&quot;Scott Bronson&quot; " />
<person posts="1" size="2" who="root " />
<person posts="1" size="2" who="Ben Greear " />
<person posts="1" size="2" who="Eyal Lebedinsky " />
<person posts="1" size="2" who="&quot;Mark Peloquin&quot; " />
<person posts="1" size="2" who="&quot;Johnny Q. Hacker&quot; " />
<person posts="1" size="2" who="John Weber " />
<person posts="1" size="2" who="Ryan Anderson " />
<person posts="1" size="2" who="Skip Ford " />
<person posts="1" size="2" who="Gerd Knorr " />
<person posts="1" size="2" who="Ross Vandegrift " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Rudmer van Dijk " />
<person posts="1" size="2" who="Vincent Hanquez " />
<person posts="1" size="2" who="&quot;Dandini, Michael A&quot; " />
<person posts="1" size="2" who="Christian Lavoie " />
<person posts="1" size="2" who="&quot;Stephen C. Tweedie&quot; " />
<person posts="1" size="2" who="Jose Luis Domingo Lopez " />
<person posts="1" size="2" who="Felipe W Damasio " />
<person posts="1" size="2" who="Joe DiMartino " />
<person posts="1" size="2" who="Alexander Hoogerhuis " />
<person posts="1" size="2" who="Christopher Leech " />
<person posts="1" size="2" who="Matthias Urlichs " />
<person posts="1" size="2" who="Nathan Conrad " />
<person posts="1" size="2" who="Cliff White " />
<person posts="1" size="2" who="Christian Jaeger " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Geoffrey Lee " />
<person posts="1" size="2" who="Philippe =?ISO-8859-1?B?R3JhbW91bGzp?= " />
<person posts="1" size="2" who="Timothy Murphy " />
<person posts="1" size="2" who="David Schwartz " />
<person posts="1" size="2" who="Kelsey Hudson " />
<person posts="1" size="2" who=" (Jonathan Corbet)" />
<person posts="1" size="2" who="&quot;Daniel Tschan&quot; " />
<person posts="1" size="2" who="Lars Magne Ingebrigtsen " />
<person posts="1" size="2" who="Manik Raina " />
<person posts="1" size="2" who="Krzysiek Taraszka " />
<person posts="1" size="2" who="Jonathan Lundell " />
<person posts="1" size="2" who="Alexander Viro " />
<person posts="1" size="2" who="Franz Sirl " />
<person posts="1" size="2" who="Ian Soboroff " />
<person posts="1" size="2" who="Oleg Drokin " />
<person posts="1" size="2" who="Michal Semler " />
<person posts="1" size="2" who="Lech Szychowski " />
<person posts="1" size="2" who="Richard Zidlicky " />
<person posts="1" size="2" who="Martin Mares " />
<person posts="1" size="2" who="John W Fort " />
<person posts="1" size="2" who="Julian Anastasov " />
<person posts="1" size="2" who="Edgar Toernig " />
<person posts="1" size="2" who="Tomas Szepe " />
<person posts="1" size="2" who="&quot;Michiel Klaver&quot; " />
<person posts="1" size="2" who="Jason Lunz " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Bernd Eckenfels " />
<person posts="1" size="2" who="dean gaudet " />
<person posts="1" size="2" who="Jussi Laako " />
<person posts="1" size="2" who="Benson Chow " />
<person posts="1" size="2" who="Richard Stallman " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Neale Banks " />
<person posts="1" size="2" who="Martin Uecker " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Wade " />
<person posts="1" size="2" who="Russ Allbery " />
<person posts="1" size="2" who="Adam Voigt " />
<person posts="1" size="2" who="&quot;Imran Badr&quot; " />
<person posts="1" size="2" who="Matt Simonsen " />
<person posts="1" size="2" who="&quot;SATHISH.J&quot; " />
<person posts="1" size="2" who="Alexis Deruelle " />
<person posts="1" size="2" who="Andrei Ivanov " />
<person posts="1" size="2" who="Dzmitry Chekmarou " />
<person posts="1" size="2" who="&quot;Nicholas Berry&quot; " />
<person posts="1" size="1" who="jamal " />
<person posts="1" size="1" who="Kyler Laird " />
<person posts="1" size="1" who="" />
<person posts="1" size="1" who="William Thompson " />
<person posts="1" size="1" who="=?iso-8859-1?q?Yours=20Lovingly?= " />
<person posts="1" size="1" who="" />

</stats>

<section
  title="Origins Of The 'GNU/Linux' Naming Debate"
  subject="Alright, I give up.  What does the &quot;i&quot;in &quot;inode&quot; stand for?"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0207.2/0864.html"
  posts="41"
  startdate="18 Jul 2002 14:33:54 -0800"
  enddate="30 Jul 2002 12:58:40 -0800"
>
<topic>Microkernels: Hurd</topic>

<p>In the course of discussion, Rob Landley confessed to being the cause
of Richard Stallman's crusade to call Linux 'GNU/Linux'. Kelsey Hudson had
remarked earlier, <quote who="Kelsey Hudson">as much as i respect the guy
for his contributions to the open source movement, i can't help but ask
myself why he's such a baby about the little things like that.</quote>
And Rob replied:</p>

<quote who="Rob Landley">

<p>Um, because I sort of tried to explain marketing to him, back when I was
a contractor at IBM in late 1998?  (For which I would like to apologize to
the community at large.  I MEANT well...)</p>

<p>Okay, time to come clean.  Back then the fsf web page had a whole "don't
call the OS linux!" section, and I emailed Stallman to object.  Linux was a
recognizable and growing operating system brand name, while the Gnu project
was largely seen as a tool vendor in the wider community and "Hurd" meant
nothing to most people (it could be a game or a spreadsheet for all we knew,
or a floor wax for that matter).  So fighting against the Linux name was
explicitly counterproductive from a marketing standpoint.  If we wanted
to get people to use "Linux", they had probably at least heard of it.
Saying "It's not Linux!" would just confuse them.  Stallman's anti-linux
crusade was diminishing one of free sotware's single biggest assets.</p>

<p>The REASON he wanted to do this, according to his web page, was that the
hurd would replace the linux kernel.  I told him that if he really did want
to position "Gnu Hurd" as an upgrade to "Gnu Linux", as his web page said,
he first had to attach the GNU name to Linux, sort of like "kellog's raisin
bran", "bud lite", or the way the "Turbo" name allowed Borland to sell many
different types of compilers under one family (Turbo Basic, Turbo Pascal,
Turbo C, Turbo C++.  Or Kellog's Rasin Bran, Bud Lite, etc...)</p>

<p>I exchanged three or four emails with him, and he agreed to stop trying
to stop the use of the word Linux and instead promote the GNU organization
more, and highlight its achievements and contributions to Linux.  It seemed
like a good thing at the time...</p>

<p>I would like to apologize to the community at large.  I kind of got
buried in work and dropped my half of the conversation for a month or two,
and then this "GNU/Linux" thing hit the headlines and I winced a lot.  It had
turned into an ego thing and he'd completely missed the marketing point
I'd been trying to make, he had no product to promote except himself and
blowing your own horn has ramifications that deprive it of effectiveness...
Anyway, I emailed him again and tried to go over some of the problems with
his first attempt at marketing, but he was on the road and buried in email,
and generally wasn't listening anymore...</p>

<p>I was also naieve enough back then that I didn't realise the marketing
niche I was pointing him at was already filled by distributions: Red Hat Linux,
Slackware Linux, etc.  The last distribution I'd used at that point was SLS.
:)  I actually thought the FSF was trying to put out a Linux distribution.
(Well they did -- Debian -- but the project forked away and disassociated
itself from them politically.  (Lots of projects seem to do that...)  I think
the FSF's web page was a bit out of date when I was trying to catch back up on
Linux after a long digression into OS/2 and Java.  Although Debian is still
sort of aligned with the FSF, and as such is the only Linux distribution to
listen to stallman enough to slap GNU/ on their official name.  Or to try to
make the Hurd actually run.  I think it was debian's web page that pointed
me back to gnu.org at the time, actually...)</p>

<p>So now you know.  Once again, I am deeply sorry.  At least he stopped
telling people not to use the word "Linux" at all for the name of the OS...</p>

</quote>

</section>

<section
  title="ACPI PCI Driver Patched Up To 2.4.19-rc2-ac2"
  subject="[PATCH] ACPI PCI Hotplug driver update for 2.4.19-rc2-ac2"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0207.2/1071.html"
  posts="3"
  startdate="19 Jul 2002 15:32:56 -0800"
  enddate="26 Jul 2002 14:55:58 -0800"
>
<topic>Hot-Plugging</topic>
<topic>PCI</topic>
<topic>Power Management: ACPI</topic>

<mention>Greg KH</mention>

<p>Greg KH gave a link to <a
href="http://www.kernel.org/pub/linux/kernel/people/gregkh/hotplug/2.4/pci_hp-acpi-2.4.19-rc2-ac2.patch">ACPI
PCI Hotplug driver update</a>, written by Takayoshi KOCHI and tested on IBM
i386, NEC i386, and various ia64 machines. Takayoshi replied with a small
additional patch that had somehow been missed in his original submission. Greg
added it to his tree.</p>

</section>

<section
  title="Support For Kernel Probes"
  subject="[PATCH] Kernel probes for i386 2.5.26"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0207.2/1118.html"
  posts="2"
  startdate="19 Jul 2002 20:42:57 -0800"
  enddate="25 Jul 2002 07:05:11 -0800"
>
<topic>Assembly</topic>
<topic>SMP</topic>

<mention>Vamsi Krishna S </mention>

<p>Rusty Russell posted a patch by Vamsi Krishna S and explained, <quote
who="Rusty Russell">This is a neat patch by Vamsi which allows code to trap
on kernel instructions.  The IBM guys have stuff for non-intrusive testing,
debugging, instrumentation on top of this.  It's also nice to insert assertions
in core code without having to reboot 8)</quote>. Suparna Bhattacharya
replied, <quote who="Suparna Bhattacharya">Here is a somewhat brief writeup
we had available about kernel probes - hope it helps provide a little more
information as suggested by some people offline.</quote> She posted:</p>

<quote who="Suparna Bhattacharya">

<p><i>Kernel Dynamic Probes</i></p>

<p>Kernel Dynamic Probes (kprobes) provides a lightweight interface
for kernel modules to implant probes and register corresponding probe
handlers. A probe is an automated breakpoint that is implanted dynamically
in executing (kernel-space) modules without the need to modify their
underlying source. Probes are intended to be used as an ad hoc service aid
where minimal disruption to the system is required. They are particularly
advocated in production environments where the use of interactive debuggers
is undesirable. kprobes also has substantial applicability in test and
development environments. During test, faults may be injected or simulated
by the probing module. In development, debugging code (for example a printk)
may be easily inserted without having to recompile to module under test.</p>

<p>With each probe, a corresponding probe event handler address is
specified. Probe event handlers run as extensions to the system breakpoint
interrupt handler and are expected to have little or no dependence on system
facilities. Because of this design point, probes are able to be implanted
in the most hostile environments -- interrupt-time, task-time, disabled,
inter-context switch and SMP-enabled code paths -- without adversely skewing
system performance.</p>

<p><i>kprobes Interfaces</i></p>

<p>kprobes provides two interfaces: register_probe and unregister_probe.</p>

<p><i>register_probe:</i></p>

<p>Registration defines the probe location, which must be at an
instruction boundary that precedes any associated opcode
prefixes. It also defines three call-back addresses for the
probing module:</p>

<p>

<ul>

<li>the probe-event handler address, which is called as the probed
instruction is about to execute. On return kprobes will single-step the
probed instruction;</li>

<li>the post-execution handler address, which is called when single-stepping
completes</li>

<li>the fault handler address, which is called if an exception is generated
for any instruction within the fault-handler or when kprobes single-steps
the probed instruction.</li>

</ul>

</p>

<p>register_probe passes a struct kprobe:</p>

<pre>struct kprobe {
       u8 * addr;      /* location of the probe point */
       spinlock_t lock;
       struct list_head list;
       unsigned long status;
        /* Called before addr is executed. */
       kprobe_pre_handler_t pre_handler;
       /* Called after addr is executed, unless... */
       kprobe_post_handler_t post_handler;
        /* ... called if executing addr causes a fault (eg. page fault).
         * Return 1 if it handled fault, otherwise kernel will see it. */
       kprobe_fault_handler_t fault_handler;
       u8 opcode;
};</pre>

<p>addr:<br />
the location of the probepoint, which must be at an instruction
boundary including any associated opcode prefixes - referencing
label in C will guarantee this.</p>

<p>pre_handler:<br />
the function that will be called when the probed instruction
is about to execute.</p>

<p>post_handler:<br />
the function that will be called on completion of successful
execution of the probed instruction</p>

<p>fault_handler:<br />
the function that will be called if any software
exceptions occur</p>

<p>

<ul>

<li>while executing inside the probe_handler</li>
<li>when single-stepping the probed instruction</li>

</ul>

</p>

<p>The user is required to retain this structure in resident memory for as
long as the probe remains active. Some of the fields are used internally
by kprobes and must be initialised to NULL or ZERO. The fields the user
is required to initialise are the addr and the pre_handler fields. The
post_handler and fault_handler are optional.</p>

<p><i>unregister_probe:</i></p>

<p>unregister_probe also requires struct kprobe. The user has to unregister
explicitely all registered probes before removing the probe handling
module.</p>

<p><i>Extensions to Kernel Dynamic Probes</i></p>

<p>Kernel Dynamic Probes has been developed from the full Dynamic Probes
patch. It includes the essential mechanism to allow probes to exist in
kernel space. The RPN Language Interpreter, Watchpoints and User-space probes
extensions, which are part of the Dynamic Probes Package, will be available
as add-on patches from the Dynamic Probes web-site.</p>

<p><a
href="http://oss.software.ibm.com/developerworks/opensource/linux/projects/dprobes/">http://oss.software.ibm.com/developerworks/opensource/linux/projects/dprobes/</a></p>

</quote>

</section>

<section
  title="Kludging Around APIC Problems"
  subject="Summit patch for 2.4.19-rc3-ac2"
  archive=""
  posts="17"
  startdate="22 Jul 2002 20:21:04 -0800"
  enddate="26 Jul 2002 02:31:26 -0800"
>
<topic>SMP</topic>

<mention>Steven Cole</mention>
<mention>Zwane Mwaikambo</mention>

<p>Steven Cole submitted a patch for developers who had noticed a lot of
APIC errors beginning at around the 2.4.19-rc1-ac6 time-frame. A number of
people said this patch nailed the problem for them; but Zwane Mwaikambo
reported SMP-related lockups on that kernel, not necessarily caused by
Steven's patch, but not fixed by it either. He confirmed that the system ran
fine with 2.4.19-rc2, but he didn't have much more information about what
actually went wrong with the broken kernel. James Cleverdon posted a patch
and suggested Zwane give it a try; but Zwane felt some of the patch was too
drastic. Mikael Pettersson said, <quote who="Mikael Pettersson">Drastic is
an understatement. Try "gross". Sane machines running correct code shouldn't
throw local APIC errors. If something's causing errors, that something should
be fixed, not hidden.  I hope that was just a temporary debug hack and not
part of the design...</quote> James explained:</p>

<quote who="James Cleverdon">

<p>On the contrary, when Intel moved the local APIC from a separate chip
onto the CPU around the time of the P54C, they hobbled it.  Formerly, it
could accept and latch any number of interrupts because it contained three
bit vectors that could store all the necessary state info.  The P54C (and
later) version had two latches per interrupt level.  The level was defined
as the top nibble of the interrupt vector.  So, P54Cs could only latch two
interrupts for, say, the 0x31-0x3F range for ISA IRQs.  Too bad if three
0x3X interrupts arrive.  Number 3 cannot be latched.</p>

<p>Intel added new error states to the local APIC and the bus protocol
to allow for interrupts to _not_ be delivered, thanks to the latch limit.
On a busy system with lots of interrupts, you will sometimes see several of
these receive accept errors per day.  There is nothing you can do to fix the
condition, aside from processing all .  It really is more of a warning than
an error.</p>

<p>On our NUMA P6 box, we found that the local APICs would occasionally start
spasming with error interrupts.  An APIC bus analyzer didn't show any kind
of errors on the APIC bus.  They would just weird out and all attempts to
clear the error had no effect.  We never did find a solution to that one or
get an adequate explanation from Intel.  The only kludge that worked was to
turn off the APIC error interrupt.</p>

<p>Naturally, the cleaned up version of the apic_state_dump patch wouldn't
do that, or would make it an option.</p>

</quote>

<p>The discussion petered out here.</p>

</section>

<section
  title="Watchdog API Enhancements Planned"
  subject="Handling NMI in a kernel module"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0207.2/1988.html"
  posts="9"
  startdate="23 Jul 2002 09:37:01 -0800"
  enddate="27 Jul 2002 05:50:56 -0800"
>

<mention>Jonathan Lundell</mention>

<p>Francois Isabelle asked if the i386 kernel exported API to drivers,
to request a non-maskable interrupt (NMI) the way one could already make
an interrupt request (IRQ). His company was working on a dual stage
watchdog, which would watch for and respond to system lockups, and he
wanted to know if the kernel supported this. John Leven replied, <quote
who="John Leven">Not currently, no.</quote> He suggested, <quote who="John
Leven">You can do some horrible hack with sidt + _set_gate() to replace
the NMI trap handler,</quote> but added that he'd love to see a cleaner
solution. Alan Cox also said to Francois, <quote who="Alan Cox">We have
a watchdog API but not yet dual stage stuff. Its becoming a must have for
HA stuff so the API needs extending.</quote> Alan Robertson announced a <a
href="http://lists.tummy.com/mailman/listinfo/watchdogng">new mailing list</a>
to talk about enhancements to the watchdog API. Alan remarked in reply,
<quote who="Alan Cox">I've been tracking other lists. The current state is
very much that we need the dual notifier. I now have some draft code that
allows us to do this even on hardware that doesn't support it, and where the
read() function gets told when an event is about to occur.</quote> Jonathan
Lundell got all hot to see the code, but the discussion petered out.</p>

</section>

<section
  title="Floppy Code Broken For A Long Time In 2.5"
  subject="[BUG] 2.5.27 floppy driver"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0207.3/0056.html"
  posts="9"
  startdate="24 Jul 2002 05:40:26 -0800"
  enddate="25 Jul 2002 22:47:48 -0800"
>
<topic>FS: ext2</topic>

<mention>Diego Calleja</mention>

<p>Nico Schottelius reported that the 2.5.27 kernel was not handling the
floppy drive correctly. Someone replied that it was broken and would stay
broken until someone decided to fix it. Nico suggested just reverting the
code to the most recent working version, 2.5.25, but the same person replied
that the code had been broken by some VFS fixes that had gone in, so it wasn't
just a simple problem of reverting to an earlier state. Diego Calleja pointed
out that the most recent VFS updates were in 2.5.22, and the unnamed person
agreed, saying that the floppy code had been broken for quite awhile, and that
the problem was very well known. Nico replied that he'd been able to use the
floppy code more recently than 2.5.22; but there was no reply. Elsewhere, the
unnamed person said that in his/her experience, the most recent kernel with
working floppy code was 2.5.7; but he/she remarked that going back to such an
early stage of 2.5 development could be quite risky in other ways as well.</p>

<p>Far, far away, under the Subject: <a href="">[PATCH][2.5.28] broken floppy
driver workarounds, take 4</a>, Mikael Pettersson posted a patch and said:</p>

<quote who="Mikael Pettersson">

<p>Here's the 4th version of my patch to "fix" the floppy driver which got
broken by the 2.5.13-2.5.19 and 2.5.28 block dev changes.</p>

<p>In 2.5.28 there was a change in fs/block_dev.c which set the floppy
block dev's size to 0, and this causes ENOSPC errors on writes to the floppy
dev. This 4th version of the patch adds a workaround for this problem.</p>

<p>Partial VFS access _may_ work now. I created an ext2 fs on /dev/fd0 under
2.5.28+this patch, and it fsck'd ok under both 2.5.28 and 2.4.19rc3. However,
when I attempted to put lilo on that floppy the kernel oopsed with a "buffer
layer error at buffer.c:403", so things are still not quite right.</p>

</quote>

</section>

<section
  title="agpgart Maintainership"
  subject="[BK PATCH] agpgart changes for 2.5.27"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0207.3/0174.html"
  posts="4"
  startdate="24 Jul 2002 10:51:05 -0800"
  enddate="25 Jul 2002 03:48:35 -0800"
>

<mention>Rusty Russell</mention>

<p>Greg KH posted a patch from Rusty Russell for the agpgart code, and
remarked, <quote who="Greg KH">Seems that some people think that I'm the
person to send agpgart patches to as I touched it last, when will I ever
learn...</quote> Linus Torvalds replied, <quote who="Linus Torvalds">Heh. "Tag,
you're it".</quote> And Dave Jones added:</p>

<quote who="Dave Jones">

<p>Conspiracy theorists may suggest I had this planned when I convinced you
to push the split-up work. Heh.. Excellent 8-)</p>

<p>Truth be told though, despite agpgart having a maintainer, and Jeff
popping up on dri-devel once a month or so, it's pretty much been hacked
on by everyone and his dog since Jeff last touched it, so I don't think you
have too much to worry about by being "it" 8-)</p>

</quote>

</section>

<section
  title="2.5 Problem-Report Status Page"
  subject="2.5 Problem Reports Status"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0207.3/0195.html"
  posts="2"
  startdate="24 Jul 2002 11:40:15 -0800"
  enddate="25 Jul 2002 09:46:52 -0800"
>
<topic>Disks: IDE</topic>

<p>Thomas Molina gave <a
href="http://members.cox.net/tmolina/kernprobs/status.html">a link</a>
and announced:</p>

<quote who="Thomas Molina">

<p>Here is a followup on a little project I've been playing around with
for the past few days.  This project is to track problem reports, oops,
bugs, etc for the devleopment kernel.  Hopefully it will prove useful.
Several points about this:</p>

<p>

<ul>

<li>I'm NOT going to track the various typos, thinkos, and minor syntax errors.
I'm aiming more for things such as the IDE problem, the broken flock, and
odd memory corruption problems which entail more extended discussion than a
simple one-line code fix.  It's going to be more of a judgement call as to
what is included and what isn't.</li>

<li>In the extended discussions I plan on omitting various bits I consider
flamage not pertinent to the subject.  If anyone has a gripe with my editing,
please contact me off-list.</li>

<li>I received some feedback saying that I ought to merely point at archived
threads for fixes, etc.  I considered that, but it seems that an edited
discussion might be more useful.  This is especially evident in cases where
the flow of messages go from point to point.  In this case editing out
headers and superfluous attributions makes it look better to my eyes.</li>

<li>It was also suggested that I'm merely duplicating existing TODO lists
and other material.  Maybe.  One thing it has done was make me think more
than superficially about some issues I hadn't paid attention to before.</li>

<li>To keep the list "clean" I plan on archiving previously fixed issues, only
brining forward to a new kernel release report those issues which haven't been
"closed."  An item's status can be open (discussion continues, no generally
agreed upon solution available), proposed fix (a patch is available and is
being tested and discussed),  tested fix (generally agreed upon and in a
major maintaners -- aa,ac,dj -- patchset and ready for merging), and closed
when it is integrated into the next Linus-blessed version.</li>

</ul>

</p>

</quote>

<p>Daniel Phillips replied, <quote who="Daniel Phillips">so long as you have
the energy, go for it.</quote></p>

</section>

<section
  title="New Module Interface"
  subject="[PATCH][RFC] new module interface"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0207.3/0201.html"
  posts="11"
  startdate="24 Jul 2002 12:02:36 -0800"
  enddate="28 Jul 2002 03:57:56 -0800"
>
<topic>Kernel Build System</topic>

<p>Roman Zippel announced:</p>

<quote who="Roman Zippel">

<p>The patch below is for 2.4 but it's easily ported to 2.5, beside of this I
think the core is stable and will allow a more flexible module handling
in the future. After updating to 2.5 and updating some more archs I will
submit the patch officially, so any feedback now would be very welcome.
(The patch requires no new modutils, although a new version could avoid
some workarounds, but that can wait.)</p>

<p>This patch implements a new module interface. The most important change is
probably that the usercount is not part of the module structure anymore.
If the module code needs it, it asks the module for it. That count doesn't
has to be accurate, only the return value of the exit functions decides
about the unloading of the module.
This also means no kernel structures have to be polluted with module
pointers, the module structure is basically now private to the module
code, no normal module needs to mess with it. This also means
MOD_INC_USE_COUNT/MOD_DEC_USE_COUNT/MOD_IN_USE are now finally really
obsolete. Modules have to maintain their own usecount, but this usually
less painful than using a module pointer (see fs example below). In other
situation such a count already exists, e.g. a proc like interface could
use the i_count field of the inode (stop() unlinks the entry, exit()
would test if i_count became 1).
Below I converted affs and the fs code to demonstrate the new interface.
So a module is defined like this:</p>

<pre>DEFINE_MODULE
        .start =        start_affs_fs,
        .stop =         stop_affs_fs,
        .exit =         exit_affs_fs,
        .usecount =     usecount_affs_fs,
DEFINE_MODULE_END</pre>

<p>This defines a structure, which is automatically registered at module
init. A structure is more flexible than lots of function entries. insmod
has to know about all these functions, where as above structure is
automatically initialized when the module is linked. New fields can be
added easily, e.g. new fixup sections can be added without bothering
insmod.</p>

<p>On the other hand the old interfaces still work (even a direct
init_module() call), it's just not possible to unload such modules.</p>

<p>One user visible difference is that /proc/modules now includes builtin
modules. It requires a small kbuild change, as it needs unique module
names. I'm not completely happy with this part yet, but it shows what is
basically possible. More important is the difference between builtin
modules and loaded modules becomes less.</p>

<p>Some more boring implementation details:</p>

<p>

<ul>

<li>get_kernel_syms syscall is gone, it's not needed by modutils anymore,
  only klogd is still using it, but it can live without it and should
  rather be updated.</li>

<li>new macros mod_for_each_locked/mod_for_done_locked to iterate over the
  modules list</li>

<li>__MODULE_STRING is replaced with __stringify</li>

<li>BKL is replaced with a semaphore</li>

<li>get_mod_name/put_mod_name is replaced with getname/putname</li>

</ul>

</p>

</quote>

<p>Rusty Russell asked what kernel the patch was against, and Roman
said 2.4.18. They were both working in the same area, and discussed some
implementation details. The discussion came round to the kbuild controvercy
when Rusty remarked, <quote who="Rusty Russell">I need that too: the mythical
"KBUILD_MODNAME".  Both Keith and Kai promised it to me...</quote> Keith Owens
replied, <quote who="Keith Owens">KBUILD_OBJECT has been in kbuild 2.5 since
April 5 (kbuild-2.5-core-1).  It is not my fault if Linus won't take it and
Kai will not implement it.</quote> Meanwhile Kai Germaschewski also said
to Rusty, <quote who="Kai Germaschewski">I told you that I have the code,
and that I can provide it to you as soon as you need it. You did never ask
for it, though. Do you need it now?</quote> Rusty said that would be great,
and Kai posted the code.</p>

</section>

<section
  title="aic7xxx Developer Disconnect Over Hotplug Fixes"
  subject="[PATCH] aic7xxx driver doesn't release region"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0207.3/0212.html"
  posts="10"
  startdate="24 Jul 2002 12:32:54 -0800"
  enddate="25 Jul 2002 07:47:16 -0800"
>
<topic>Hot-Plugging</topic>
<topic>PCI</topic>
<topic>Power Management: ACPI</topic>

<p>Takayoshi KOCHI posted a fix to the 2.4 and 2.5 aic7xxx driver, to
allow the driver to release its memory and I/O regions. Without the patch,
attempting to hotplug the device would fail. It had been tested on an IA32
server with ACPI PCI hotplug, and been reported to work. Justin T. Gibbs
replied that this problem had already been fixed in the driver. He said,
<quote who="Justin T. Gibbs">I don't recall when exactly this was fixed in
the aic7xxx driver, but probably 6.2.5 or so.  The 2.5.X kernel must not
be using a recent version of the driver.  Marcelo's tree has 6.2.8 which
definitely does not require this patch (won't even apply).</quote> Takayoshi
apologized for not examining the latest kernel pre-patches, but Jens Axboe
chastized Justin, <quote who="Jens Axboe">You make it sounds as if someone
would be updating it for you. The version that is in 2.5 is the version that
you last updated it to, end of story.</quote> Justin Snapped back:</p>

<quote who="Justin T. Gibbs">

<p>You make it sound like I have ever done any developement for 2.5.
I haven't.  Someone else did the port of the aic7xxx to 2.5.  End of
story. 8-)</p>

<p>Unfortunately, I haven't had any spare time to play with 2.5.  I have
faithfully maintained the 2.4 driver and will look at 2.5 once the time to
do so presents itself.</p>

</quote>

<p>Jens asked if Justin would mind if Jens went ahead and updated the 2.5
port, and Justin said, <quote who="Justin T. Gibbs">Did you ask when you did
the first port? 8-) In otherwords... be my guest.</quote> Jens thanked him,
but added, <quote who="Jens Axboe">In all fairness, the first port _had_ to
be done from my point of view since I needed _something_ to test the changes
on. And to defend myself even further, I didn't have time to ask maintainers
permission before Linus pulled the changes in.  I can probably come up with
a handful more reasons if needed :-)</quote> Justin said, <quote who="Justin
T. Gibbs">This is opensource.  Once the code goes out, I have limited control
over what people do with it.  This is by design and expected.  There's no need
to defend yourself since you didn't do anything wrong.</quote> To which Jens
replied, <quote who="Jens Axboe">Well in theory you are right. But I always
like to pass changes on to the maintainer for submission, and I expect others
to do likewise. The maintainer usually has the better grasp of the code and
can make the better call on what to include, reject, etc. Even though it's
open source it doesn't have to be anarchy.</quote> End of thread.</p>

</section>

<section
  title="2.5.28 Released; Status Of IrDA, IDE, And SCSI; Development Philosophy"
  subject="Linux-2.5.28"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0207.3/0219.html"
  posts="94"
  startdate="24 Jul 2002 13:13:49 -0800"
  enddate="29 Jul 2002 16:50:54 -0800"
>
<topic>Disks: IDE</topic>
<topic>Disks: SCSI</topic>
<topic>Framebuffer</topic>
<topic>Kernel Release Announcement</topic>
<topic>PCI</topic>
<topic>SMP</topic>
<topic>USB</topic>
<topic>Version Control</topic>

<mention>Matthew Dharm</mention>
<mention>James Bottomley</mention>
<mention>Doug Ledford</mention>
<mention>Alessandro Suardi</mention>
<mention>Paul Larson</mention>
<mention>Marcin Dalecki</mention>

<p>Linus Torvalds announced 2.5.28, and said:</p>

<quote who="Linus Torvalds">

<p>The most fundamental part of this has already been discussed a lot
and posted to the kernel list, including a lot of fixes (all hopefully
integrated). That's obviously the removal of the global irq lock. In the
short term (famous last words) that breaks a number of SMP configurations,
but fixing them should not be horribly hard.</p>

<p>A lot of other stuff here too - the regular USB updates, fbdev updates,
m68k and ppc64 updates, IDE fix, and a sync-up with Al. Serial lawyer all
shook up (the irq lock kind of forced that one, but it's certainly been
pending long enough..)</p>

</quote>

<p>Paul Larson reported trouble compiling that kernel, and Linus replied:</p>

<quote who="Linus Torvalds">

<p>Yes, a number of drivers won't compile on SMP because they want the global
lock (that is gone). This includes the cmd640 IDE driver, and the parallel
port driver (and a largish number of others too, but I think those two are
the really common ones).</p>

<p>It should all work the same way it always did on UP, and hopefully the
straggling drivers will be converted to use local spinlocks soon (and in
some cases the global irq lock might not even be needed at all)</p>

</quote>

<p>Elsewhere, however, Alessandro Suardi reported trouble on his
uniprocessor system, in the IrDA code. Jean Tourrilhes replied, <quote
who="Jean Tourrilhes">IrDA is not going to get fixed soon. Over the time
I've been fixing the IrDA stack, I've slowly fixed some of most dangerous
locking problems, but fixing the remaining code will involve some serious
re-work and is unfortunately not just about sprinking a few spinlocks there
and there.</quote> Linus replied to this:</p>

<quote who="Linus Torvalds">

<p>Actually, the way to emulate cli/sti behaviour is not to "sprinkle"
spinlocks, you can generally do it with _one_ spinlock per subsystem.</p>

<p>So the straightforward way to port away from cli/sti is to add one spinlock
which takes their place for that subsystem, and then get that lock on entry
to subsystem interrupts and timer events, and in all places where there used
to be a cli/sti.</p>

<p>It gets a bit more complicated partly because you could nest cli/sti, and
you can't nest spinlocks, but on the whole none of it is "rocket science".</p>

<p>Of course, doing it _right_ (rather than try to just translate the
semantics of cli/sti fairly directly) can be a lot more work. But even a
straight translation improves on what used to be, since different subsystems
will now be independent, and since it is easier later on to split the one
lock up on a as-needed basis.</p>

</quote>

<p>But Jean replied that the one-spinlock approach wouldn't work for
IrDA. He added, <quote who="Jean Tourrilhes">here the problem is that the
whole locking design is broken. I know perfectly that the hashbin locking is
totally unsafe and it's a miracle that it work at all. And I'm not sure if I
will ever get something 100% safe.</quote> There was a bit more discussion,
but the sub-thread petered out inconclusively.</p>

<p>Elsewhere, Daniel Egger noticed that Linus' announcement only listed IDE as
having been updated, but didn't list what the changes were. Linus said there
had been plenty of disucssion on the list, <quote who="Linus Torvalds">And
since none of the discussion was civil, it didn't get a changelog. But
you can search it out yourself.</quote> Daniel replied, <quote who="Daniel
Egger">Especially since the IDE code at the moment is not really something I
would trust uncoditionally a bit more comentary would be adequate IMHO, even
if it's just a: "Fixed race introduced in IDE-97, see flamewar"...</quote>
Linus replied, <quote who="Linus Torvalds">Most of the IDE stuff is FUD
and misinformation. I've run every single 2.5.x kernel on an IDE system
("penguin.transmeta.com" has everything on IDE), and the main reported
2.5.27 corruption was actually from my BK tree apparently due to the IRQ
handling changes.</quote> He added, <quote who="Linus Torvalds">The thing
I dislike is how people who apparently haven't even read the discussions,
and didn't bother to look up the full changelog feel that they are perfectly
fine to spread FUD and misinformation about the IDE layer.  Do we have issues
there? Yes. But there are actually _more_ problems with people dissing the
work than with the code itself.</quote></p>

<p>Bartlomiej Zolnierkiewicz said, <quote who="Bartlomiej Zolnierkiewicz">I
wish it was misinformation.</quote> He added, <quote who="Bartlomiej
Zolnierkiewicz">the thing I dislike is how people who apparently haven't
read carefully every ide-clean patch, and didn't bother to look up the full
track of changes (2.4 -> 2.5) feel that they are perfectly fine to make such
statements ;-).</quote> Daniel said to Linus, <quote who="Daniel Egger">I
appreciate Martins work and even more your word on it that it's pretty
stable.  Keep on the good work and let us end this thread for good.</quote>
But Andries Brouwer, also in reply to Linus, said:</p>

<quote who="Andries Brouwer">

<p>Linus, Linus, how can you say something so naive?  I need not tell you that
one user without problems does not imply that nobody will have problems.</p>

<p>A few people reported lost filesystems. Many more reported mild filesystem
damage. And now you also report mild filesystem damage.</p>

<p>FUD? Fear? Yes, the fear is justified for whoever does not have backups.
Uncertainty? Yes, when the filesystem is damaged again, it is not quite
clear what causes it. Doubt? Yes, many people doubt whether they can afford
to run 2.5.recent.</p>

<p>This evening I ran vanilla 2.5.29 and was rewarded with mild filesystem
damage.  91 files in /lost+found. Nothing. A few kernel versions ago it was
three orders of magnitude worse.</p>

<p>IDE? 2.4.17 and 2.5.27+Jens are stable for me in ordinary use.  IRQ? Quite
possible.  My third candidate is USB. Systems without USB are clearly more
stable.</p>

</quote>

<p>Linus said that he wasn't trying to say that nobody would have problems
with IDE. He said, <quote who="Linus Torvalds">there _are_ problems with IDE,
but that the real problem with IDE is that some people aren't even willing
to help despite the fact that we do have a maintainer that actually can
work with people.</quote> He added, <quote who="Linus Torvalds">I realize
that so many people are probably used to the fact that IDE maintainers do
not take patches from the outside that people have kind of given up on even
working on IDE, but it doesn't help to have people only be negative (and btw,
I'm definitely not talking about you - you've been exceedingly _positive_
in that you're still willing to test and report on problems. I'm talking
about people who don't even bother to do bug-reports, but only trash-talk
the maintenance).</quote></p>

<p>Linus went on to say that the filesystem damage people had reported had
not been due to the IDE layer, even though IDE had been blamed for it. He
went on:</p>

<quote who="Linus Torvalds">

<p>And THAT is part of the problem. I don't know why, but the IDE subsystem
brings out the worst in people.</p>

<p>This is, btw, one reason why I hate mid layers. People blame them for
everything, and fixing it for one setup breaks it for another.</p>

</quote>

<p>Elsewhere, Marcin Dalecki posted a SCSI patch, and Jens Axboe pointed
out some problems. Marcin agreed, saying he'd just cut-and-pasted from
other code, and Jens replied, <quote who="Jens Axboe">But the crap still got
merged, sigh...  Yet again an excellent point of why stuff like this should go
through the maintainer. Apparently Linus blindly applies this stuff.</quote>
Linus replied:</p>

<quote who="Linus Torvalds">

<p>Ehh, since there is no proactive maintainer for SCSI, I don't have much
choice, do I?</p>

<p>SCSI has been maintainerless for the last few years. Right now three
people work on it to some degree (Doug Ledford, James Bottomley and you),
but I don't get timely patches, and neither does apparently anybody else.</p>

<p>Case in point: I was debugging some USB storage issues with Matthew Dharm
yesterday, and he sent me patches to the SCSI subsystem that he claims were
supposedly considered valid on the scsi mailing list back in May.</p>

<p>Guess what? I've not seen the patches from any of the three people I
consider closest to being maintainers.</p>

<p>So your "should go through the maintainer" complaint is obviously a bunch
of bull. Feel free to step up to the plate, but before you do, don't throw
rocks in glass houses.</p>

</quote>

<p>Andries replied, <quote who="Andries Browuer">In the absence of a single
active maintainer, peer review is a good alternative.</quote> And Linus
replied:</p>

<quote who="Linus Torvalds">

<p>I agree, but you still want to have somebody who actually steps up to
the plate after the peer review has taken place, and sends me the patch..</p>

<p>And yes, if it's not one of the regular lieutenants, that does mean that
me applying it will depend a bit more on just how much time I have. I would
obviously prefer that the SCSI maintainer wouldn't necessarily sync directly
with me, but with somebody I work with anyway - as long as it's reasonably
timely.</p>

<p>(The _good_ news is that there haven't actually been all that many reasons
to maintain SCSI for a while - most of the maintenance has actually been
due to the generic block layer changes, which Jens has naturally been very
good about. The rest has _mostly_ been about updating specific drivers to
the PCI DMA interface (and various one-liners for the block layer changes).</p>

</quote>

<p>He added, <quote who="Linus Torvalds">Jens is actually documented as being
the SCSI maintainer, but that is probably because he is the block device
maintainer and he ended up maintaining the more fundamental changes. I've seen
James Bottomley more as the "change SCSI internals" guy, and Doug mentioned
that he will have more time to work on 2.5.x not that long ago, so I do
think all three consider themselves at least partial maintainers already.
I certainly take patches from all three.</quote> Dave Jones added:</p>

<quote who="Dave Jones">

<p>*nods* Both Jens and Doug were invaluable at times when I bought forward
a bunch of stuff from 2.4, (and later scooped up various other small SCSI
bits from assorted places).  With a lack of much understanding in this area,
(and lack of motivation to dig too deeply -- I don't even own any SCSI hard
disks/controllers except for some ancient cpqarray thats rarely powered on),
pushing the various bits onto you with meaningful comments attached became
quite hard work, and at times, impossible without further explanation from
Jens or Doug.</p>

<p>Thankfully, Doug did an excellent job at weeding out the crap bits I had
merged, and pushing on the good tried-n-tested bits.</p>

<p>So they both get my vote. James I think is actually doing some of the grunt
work which means offloading the 'syncing/pushing to Linus' fun onto one of
the others is probably a good idea if they're not opposed to doing it.</p>

</quote>

<p>In Andries' same post, he said, <quote who="Andries Brouwer">You killed
the idea of maintainers yourself, proclaiming that you did not work with
maintainers but with lieutenants.</quote> Rob Landley replied:</p>

<quote who="Rob Landley">

<p>Linus didn't "kill the idea of maintainers", he just went to a four tier
hierarchy for scalability reasons.</p>

<p>Here's my understanding of the current developent infrastructure.  Anybody
who wants to disagree with this feel free, otherwise there should probably
be some kind of FAQ entry or update to Documentation/SubmittingChanges.</p>

<p>Developers submit to maintainers.  Maintainers submit to lieutenants.
Lieutenants submit to Linus.  Each level can take stuff from anyone below
them if they want to, but only the layer IMMEDIATELY below them is owed any
sort of explanation as to why a patch was NOT accepted.</p>

<p>I.E. If anybody but a lieutenant submits a patch to Linus, and he drops
it, there's not much likelihood of an explanation why.  If a lieutenant signs
off on a patch and forwards it to Linus, if it gets rejected he'll probably
say why it was rejected.  (It could be his mailbox runneth over, but there
shouldn't be the "I submitted this a dozen times and never heard anything"
problem when Lieutenants submit to Linus.  In an ideal world, anyway. :)</p>

<p>This is, basically, what's special about lieutenants.  They are the ONLY
people to whom Linus owes any kind of explanation when a patch gets rejected.
 (The explanation may not be much more than "I don't like this, I'm not going
to apply it, so there", but at least they aren't left hanging endlessly.
At the very least it's closure.)</p>

<p>Similarly, lieutenants should reply to the maintainers who report to them
when they reject patches the maintainer has signed off on.  And maintainers
should reply to individual developers who submit patches to them (by email;
they may not see it if it's just posted on the list).  These replies are
not only common courtesy, they help the system work.  </p>

<p>So if a random developer wants to get a patch to Linus, and Linus doesn't
just snatch it out of the ether, the way to proceed is find the appropriate
maintainer, and get their opinion of the patch.  The developer needs to
work with the maintainer until the patch is accepted by that maintainer:
they need to fix anything the maintainer finds wrong with it, and if the
maintainer says the whole thing is a bad idea, trying to "go over their heads"
to a lieutenant is unlikely to work.  (They have a wonderful excuse to ignore
you, which is the least effort solution on their part.  No you can't pester
them into submission, you'll just wind up in an email auto-delete file.)</p>

<p>The maintainer may want changes, they may want peer review on a specific
mailing list (sometimes linux-kernel, sometimes not), they may want benchmark
results, they may want you to download and run a specific stress-testing
suite...  Or they may be happy with it as is, or they may just say "no"
to the whole idea and you have to go try another approach entirely.</p>

<p>Then, once a developer has gotten the maintainer to sign off on a patch
("looks good to me"), the developer and/or the maintainer can submit it to the
appropriate lieutenant, who is in charge of a larger part of the kernel and
will most likely find a fresh batch of things wrong with the patch, so the
process is repeated at the new level.  (Knowing which lieutenant to forward
developers with patches to is part of a maintainer's job.)  When going for
a lieutenant's blessing, it's still the developer's job to fix the patches.
The maintainer was just passing judgement, now the lieutenant is.  Neither is
under any obligation to do your work for you.  They find problems, but it's
up to the developer to fix them.  They may be enthused enough by your idea to
take it and run with it, but there's no guarantee of this, and they usually
have a to-do list as long as your arm (and that's in a very small font)
well before your patch enters the picture.</p>

<p>Again, the lieutenant can veto the entire idea of your patch (the
maintainer's approval does not mean their lieutenant will approve), or
raise any number of objections.  The lieutenant's approval is needed before
proceeding, so the developer needs to fix anything the lieutenant finds
wrong with the patch, regardless of what the maintainer thought.</p>

<p>Then once the lieutenant is appeased and signs off of it, the patch
goes to Linus.  The lieutenant should probably be the one to forward it
(cc:ing the developer) or else Linus probably won't even notice it (his
in-box runneth over).</p>

<p>Trivial, obvious bugfixes can sometimes bypass this using the trivial
patch manager (something like trivial@rustcorp.com, check the list archives.
Rusty Russel runs it).  Think of him as a "Lieutenant Jr. Grade", he accepts
directly from developers, but only if it's a really obviously correct bug
fix.</p>

<p>Bitkeeper helps this a bit: you can see when a patch goes in, so you
get faster positive feedback.  And once it's in somebody's bitkeeper tree
it may trickle upward without too much more active push from the developers
(until something is found to be wrong with it).  But for negative feedback
(that it was seen and rejected, and why) a developer still has to go through
channels.</p>

<p>The advantage of all this is twofold:</p>

<p>

<ol>

<li>Developers aren't left hanging endlessly with nobody responding to their
patch submissions.  At each point, you know who to bug next to get an answer.
(Maybe not the answer you want, but an answer.)  This saves developers a
lot of time and aggravation.</li>

<li>By the time a patch get to Linus, it's already been reviewed by two
competent developers (somebody he directly trusts and somebody else they
trust), the obvious cleanups have been done, and if they thought it needed
wider peer review they'll have already suggested it before giving their
approval.  (Some of them even run their own trees for testing purposes.)
This saves Linus a lot of time and aggravation.  (He will still reject a
lot of these patches.  Or require changes to be made, just like the first
two levels.)</li>

</ol>

</p>

<p>The reason some people think that maintainership is now meaningless is
that Linus doesn't respond directly to maintainers.  Because Linus appoints
lieutenants, and the lieutenants appoint maintainers under them, Linus may
never even have heard of some of the maintainers, let alone trust their
judgement.  But maintainers are needed to connect random unknown developers
with lieutanants, so the lieutenants don't get overwhelmed.  As long as the
lieutenants listen to their maintainers, and Linus listens to his lieutenants,
the system works fine.</p>

</quote>

<p>There was no reply.</p>

</section>

<section
  title="Port Of 'Strict VM Overcommit' To 2.5"
  subject="[PATCH] 2.5.28: VM strict overcommit"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0207.3/0278.html"
  posts="3"
  startdate="24 Jul 2002 16:29:43 -0800"
  enddate="25 Jul 2002 00:18:14 -0800"
>
<topic>Virtual Memory</topic>

<mention>Alan Cox</mention>
<mention>Hugh Dickins</mention>
<mention>Andrew Morton</mention>
<mention>Linus Torvalds</mention>

<p>Robert Love submitted to Linus Torvalds and Andrew Morton:</p>

<quote who="Robert Love">

<p>Here again is a port of Alan's VM strict overcommit to the 2.5 kernel,
with the new policy design Alan and I discussed.</p>

<p>This adds strict address-space accounting to enforce address-space limits
and consequently never OOM.  All memory failures should be pushed to the
allocation routines.</p>

<p>Obviously overcommit is preferred for most so the default is the standard
behavior.  Strict overcommit is controllable via sysctl.  See the included
documentation.</p>

<p>I would like to get this into 2.5 to see more testing and provide a base
for some of the shmem / overcommit fixes Hugh Dickins as been working on.
In the default configuration, behavior should be unchanged.</p>

<p>Patch is against 2.5.28, please apply.</p>

</quote>

<p>Andrew had some problems with the patch, but Alan Cox felt the patch was
ready. The thread ended inconclusively.</p>

</section>

<section
  title="Header Files And The Kernel Application Binary Interface"
  subject="Header files and the kernel ABI"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0207.3/0329.html"
  posts="18"
  startdate="24 Jul 2002 22:28:37 -0800"
  enddate="31 Jul 2002 13:37:20 -0800"
>
<topic>FS: initramfs</topic>
<topic>FS: ramfs</topic>
<topic>Klibc</topic>

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

<quote who="H. Peter Anvin">

<p>I have had a thought grinding in my head for a while, and wanted to throw
it out for everyone to think about...</p>

<p>In the libc4/libc5 days, we attempted to use kernel headers in user space.
This was a total mess, not the least because the kernel headers tended to
pull in a lot of other kernel headers, and the datatypes were unsuitable to
have spead all across userspace.</p>

<p>In glibc, the official rule is "don't use kernel headers."  This causes
problems, because certain aspects of the kernel ABI is only available through
the include files, and reproducing them by hand is tedious and error-prone.</p>

<p>I'm in the process of writing a very tiny libc for initramfs, and will
likely have to deal with how to use the kernel ABI as well.</p>

<p>It seems to me that a reasonable solution for how to do this is not for
user space to use kernel headers, but for user space and the kernel to share
a set of common ABI description files[1].  These files should be highly
stylized, and only describe things visible to user space.  Furthermore,
if they introduce types, they should use the already-established __kernel_
namespace, and of course __s* and __u* could be used for specific types.</p>

<p>This means that we would be able to get rid of #if(n)def __KERNEL__ in
the main kernel header files, because there would be a separation by file
location -- something in the main kernel include files could include the
ABI description files, but the opposite should never be true.</p>

<p>I would like to propose that these files be set up in the #include
namespace as &lt;linux/abi/*&gt;, with &lt;linux/abi/arch/*&gt; for any
architecture-specific support files (I do believe, however, that those files
should only be included by files in the linux/abi/ root.  This probably would
be a symlink to ../asm/abi in the kernel sources, unless we change the kernel
include layout.)  The linux/ namespace is universally reserved for the kernel,
and unlike &lt;abi/*&gt; I don't know of any potential conflicts.  I was
considered &lt;kabi/*&gt;, but it seems cleaner to use existing namespace.</p>

<p>If people think this is an idea, I will try to set up the infrastructure
as part of my work on klibc, although I'm definitely not going to be able
to migrate every portion of every include file that needs to be migrated
all by myself.</p>

</quote>

<p>There was a lot of initial enthusiasm for this idea, but a few days later
Brad Hards said:</p>

<quote who="Brad Hards">

<p>Well the initial enthusiasm appears to have passed, and nothing is
happening.</p>

<p>Is there interest in getting together to resolve this issue?</p>

<p>I note that the next major conference appears to be Linux Kongress
(Koln/Cologne) in early September. Maybe we can get some glibc /
other-libraries people there, and make some progress.</p>

<p>If there is some interest (post off-list if preferred), I'll contact the
organisers and try to get a BoF together for this.</p>

<p>I'll look at linux.conf.au as an additional opportunity when time gets
a bit closer.</p>

</quote>

<p>There was no reply.</p>

</section>

<section
  title="LVM Update For 2.4"
  subject="LVM 1.0.5 patch for Linux 2.4.19-rc3"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0207.3/0463.html"
  posts="8"
  startdate="25 Jul 2002 05:39:44 -0800"
  enddate="26 Jul 2002 02:36:37 -0800"
>
<topic>Disk Arrays: LVM</topic>
<topic>Ioctls</topic>
<topic>SMP</topic>

<p>Heinz Mauelshagen announced:</p>

<quote who="Heinz Mauelshagen">

<p>have send an LVM 1.0.5 patch to Marcelo directly which addresses:</p>

<p>

<ul>

<li>an OBO error accessing the vg array</li>

<li>SMP lock fixes</li>

<li>using blk_ioctl()</li>

<li>indenting</li>

</ul>

</p>

<p>It is available at: &lt;<a
href="http://people.sistina.com/~mauelshagen/lvm_patches/lvm_1.0.5+_25.07.2002.patch">http://people.sistina.com/~mauelshagen/lvm_patches/lvm_1.0.5+_25.07.2002.patch</a>&gt;</p>

</quote>

<p>Christoph Hellwig asked, <quote who="Christoph Hellwig">Any estimate when
Stephen's non-broken pvmove implementaion will be merged?</quote> And Heinz
replied, <quote who="Heinz Mauelshagen">Probably next month</quote>
[August] <quote who="Heinz Mauelshagen">if I get time for that.</quote></p>

</section>

<section
  title="Generic RTC Driver"
  subject="[PATCH] A generic RTC driver [0/3]"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0207.3/0531.html"
  posts="1"
  startdate="25 Jul 2002 09:33:25 -0800"
>
<topic>Real-Time</topic>
<topic>SMP</topic>
<topic>Version Control</topic>

<mention>Paul Mackerras</mention>
<mention>Geert Uytterhoeven</mention>

<p>Tom Rini posted code to implement a generic real-time clock (RTC) driver,
and explained:</p>

<quote who="Tom Rini">

<p>This is essentially the same driver I've sent 3 time previously, except
it's been broken down into 3 patches now, and it works on i386 (and should
work on alpha) now.</p>

<p>Patch 1 is the current version of the driver (switched to C99-style
initializers, done in the current m68k CVS tree) and needed changes to
select/compile it in general.  I had previously asked the m68k community if
anyone objected to this being submitted by me, and I got Richard Zidlicky's
(who's at the top of the file) approval, as well as Geert Uytterhoeven's
approval.</p>

<p>Patch 2 is the PPC portion of the patch, which creates
include/asm-ppc/rtc.h.  This has been in the PPC bitkeeper tree for over
a month now.  I can have Paul Mackerras send this to you instead, if you
prefer.</p>

<p>Patch 3 is my own slight bit of work.  This changes set_rtc_time(struct
*rtc_time) to return an int instead of void.  This was done so that
the arch-specific code here could do additional checks on the time and
return an error if needed.  This then introduces include/asm-generic/rtc.h,
include/asm-i386/rtc.h and include/asm-alpha/rtc.h.  include/asm-generic/rtc.h
contains the get_rtc_time and set_rtc_time logic that is in drivers/char/rtc.c
and has been tested on SMP i386.  This also modifies include/asm-ppc/rtc.h
to return -ENODEV if no rtc hardware is present.</p>

<p>And now onto the history of this driver.</p>

<p>This has been in the m68k tree for a number of years now, so the general
code behind it is quite sound.  This has also been abstracted to the point
where it works on other archs (mainly due to m68k/PPC hybrid machines).
This is quite useful since a number of archs cannot use drivers/char/rtc.c
because they have very different hardware, or other issues.</p>

<p>This should also be useful on MIPS, who at one point in the past were
about to copy the PPC rtc driver (drivers/macintosh/rtc.c) and quite probably
useful on other archs as well.</p>

<p>Based on some private feedback, the parisc-linux people have been using
the 2.4 version of this driver for a while, so getting it to work on 2.5
for them should be a trivial matter (it's currently in their tree, untested
as other issues need to be resolved first).  I believe with some additional
enhancements, ia64 will make use of this as well.  And if the MIPS community
ever did make an rtc driver similar to drivers/macintosh/rtc.c, they should
be able to use this one rather trivially.</p>

</quote>

<p>There was no reply.</p>

</section>

<section
  title="Thread-Local Storage For 2.5"
  subject="[announce, patch] Thread-Local Storage (TLS) support for Linux, 2.5.28"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0207.3/0612.html"
  posts="9"
  startdate="25 Jul 2002 09:35:34 -0800"
  enddate="28 Jul 2002 12:54:23 -0800"
>
<topic>SMP</topic>

<mention>Oleg Nesterov</mention>

<p>Ingo Molnar implemented a new system call, sys_set_thread_area(), to provide
x86 TLS (Thread Local Storage) support, a fast and efficient way to store
per-thread local data. He described:</p>

<quote who="Ingo Molnar">

<p>proper TLS support in compilers (and glibc/pthreads) is a bit problematic
on the x86 platform. There's only 8 general purpose registers available,
so on x86 we have to use segments to access the TLS. The approach used by
glibc so far was to set up a per-thread LDT entry to describe the TLS.
Besides the generic unrobustness of LDTs, this also introduced a limit:
the maximum number of LDT entries is 8192, so the maximum number of threads
per application is 8192.</p>

<p>this patch does it differently - the kernel keeps a specific per-thread
GDT entry that can be set up and modified by each thread:</p>

<blockquote>

<p>     asmlinkage int sys_set_thread_area(unsigned int base,
               unsigned int limit, unsigned int flags)</p>

</blockquote>

<p>the kernel, upon context-switch, modifies this GDT entry to match that
of the thread's TLS setting. This way user-space threaded code can access
per-thread data via this descriptor - by using the same, constant %gs (or %gs)
selector. The number of TLS areas is unlimited, and there is no additional
allocation overhead associated with TLS support.</p>

<p>the biggest problem preventing the introduction of this concept was Linux's
global shared GDT on SMP systems. The patch fixes this by implementing a
per-CPU GDT, which is also a nice context-switch speedup, 2-task lat_ctx
context-switching got faster by about 5% on a dual Celeron testbox. [ Could
it be that a shared GDT is fundamentally suboptimal on SMP? perhaps updating
the 'accessed' bit in the DS/CS descriptors causes some sort locked memory
cycle overhead? ]</p>

<p>the GDT layout got simplified:</p>

<p>
 *   0 - null<br />
 *   1 - Thread-Local Storage (TLS) segment<br />
 *   2 - kernel code segment<br />
 *   3 - kernel data segment<br />
 *   4 - user code segment              &lt;==== new cacheline<br />
 *   5 - user data segment<br />
 *   6 - TSS<br />
 *   7 - LDT<br />
 *   8 - APM BIOS support               &lt;==== new cacheline<br />
 *   9 - APM BIOS support<br />
 *  10 - APM BIOS support<br />
 *  11 - APM BIOS support<br />
 *  12 - PNPBIOS support                &lt;==== new cacheline<br />
 *  13 - PNPBIOS support<br />
 *  14 - PNPBIOS support<br />
 *  15 - PNPBIOS support<br />
 *  16 - PNPBIOS support                &lt;==== new cacheline<br />
 *  17 - not used<br />
 *  18 - not used<br />
 *  19 - not used
</p>

<p>set_thread_area() currently recognizes the following flags:</p>

<p>
  #define TLS_FLAG_LIMIT_IN_PAGES         0x00000001<br />
  #define TLS_FLAG_WRITABLE               0x00000002<br />
  #define TLS_FLAG_CLEAR                  0x00000004
</p>

<p>

<ul>

<li>in theory we could avoid the 'limit in pages' bit, but i wanted to preserve
the flexibility to potentially enable the setting of byte-granularity stack
segments for example. And unlimited segments (granularity = pages, limit =
0xfffff) might have a performance advantage on some CPUs. We could also
automatically figure out the best possible granularity for a given limit -
but i wanted to avoid this kind of guesswork. Some CPUs might have a plus
for page-limit segments - who knows.</li>

<li>The 'writable' flag is straightforward and could be useful to some
applications.</li>

<li>The 'clear' flag clears the TLS. [note that a base 0 limit 0 TLS is in
fact legal, it's a single-byte segment at address 0.]</li>

</ul>

</p>

<p>(the system-call does not expose any other segment options to user-space,
priviledge level is 3, the segment is 32-bit, etc. - it's using safe and
sane defaults.)</p>

<p>NOTE: the interface does not allow the changing of the TLS of another thread
on purpose - that would just complicate the interface (and implementation)
unnecesserily. Is there any good reason to allow the setting of another
thread's TLS?</p>

<p>NOTE2: non-pthreads glibc applications can call set_thread_area() to
set up a GDT entry just below the end of stack. We could use some sort of
default TLS area as well, but that would hard-code a given segment.</p>

<p>i fixed a number of unclean items in our GDT/IDT handling as well:</p>

<p>

<ul>

<li>the 'gdt' pointer is completely unnecessery, it introduces an additional
redirection.</li>

<li>ditto the 'idt' pointer.</li>

<li>this also enabled simpler setting of the GDT/IDT descriptors.</li>

<li>on UP the GDT got smaller in fact, by a few bytes :-)</li>

<li>cleaned up LDT loading: load_LDT_desc() now loads the (constant) LDT
selector. A pity that we have to do this - but it's necessery to flush the
LDT shadow descriptors.</li>

<li>the thread context-switching hotpath included a call to a non-inlined
function - set_ldt_desc() - this function is inlined now.</li>

</ul>

</p>

<p>the patch compiles, boots &amp; works just fine on UP and SMP x86 boxes.
Comments and suggestions are welcome,</p>

</quote>

<p>Oleg Nesterov had some nits to pick with the patch, and they hashed them
out together for a little while. No major changes were introduced.</p>

</section>

<section
  title="User-Mode-Linux 2.5.28 Released"
  subject="UML 2.5.28"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0207.3/0562.html"
  posts="1"
  startdate="25 Jul 2002 12:30:19 -0800"
>
<topic>Disks: SCSI</topic>
<topic>User-Mode Linux</topic>

<p>Jeff Dike announced:</p>

<quote who="Jeff Dike">

<p>UML has been updated to 2.5.28 and UML 2.4.18-44.  The changes since
2.5.27 include:</p>

<p>

<ul>

<li>A config reorganization and Makefile cleanups</li>

<li>UML processes can pass notifications to mconsole clients via
/proc/mconsole</li>

<li>SCSI now works.  The only low-level drivers available right
now is the in-memory scsi_debug driver.</li>

<li>A batch of honeypot bugs were fixed</li>

<li>I fixed some problems with hostfs, but it still doesn't work.</li>

</ul>

</p>

<p>Since UML didn't make 2.5.27, I'll be sending this patch in to Linus.</p>

<p>The patch is available at<br />
        <a href="http://uml-pub.ists.dartmouth.edu/uml/uml-patch-2.5.28-1.bz2">http://uml-pub.ists.dartmouth.edu/uml/uml-patch-2.5.28-1.bz2</a></p>

<p>For the other UML mirrors and other downloads, see<br />
        <a href="http://user-mode-linux.sourceforge.net/dl-sf.html">http://user-mode-linux.sourceforge.net/dl-sf.html</a></p>

<p>Other links of interest:<br />

        The UML project home page : <a
        href="http://user-mode-linux.sourceforge.net">http://user-mode-linux.sourceforge.net</a><br
        />
        The UML Community site : <a href="http://usermodelinux.org">http://usermodelinux.org</a></p>

</quote>

<p>There was no reply.</p>

</section>

<section
  title="Help Sought For Linux Weekly News"
  subject="Linux Weekly News dying - any help?"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0207.3/0679.html"
  posts="7"
  startdate="26 Jul 2002 01:28:46 -0800"
  enddate="27 Jul 2002 15:51:27 -0800"
>

<mention>Russell King</mention>
<mention>John Bradford</mention>

<p>Bert Hubert was distressed to learn that Linux Weekly News was closing down.
He said, <quote who="Bert Hubert">We bought some advertising on LWN but can of
course not keep them alive ourselves. Does anybody here have ideas on how to
keep them in business?  See <a href="http://lwn.net">http://lwn.net</a></quote>
John Bradford said he'd be happy to contribute to the site as a volunteer
if someone would host the domain. Russell King said he felt sure someone
would be willing to donate space on a server, but Daniel Phillips replied,
<quote who="Daniel Phillips">Jon points out that salaries are the problem.
There seems to be a shortfall of $150,000, or perhaps a little more, in that
department.</quote> Bert also said to Russell:</p>

<quote who="Bert Hubert">

<p>It is not the server. I have a server for them. I think many do not
realise how much time Jon &amp; friends spend on making LWN, and it is
precisely this *time* that sets them apart from everything else.</p>

<p>Compare them to a Linux dedicated Theregister.co.uk - real journalism
with analyses that go beyond what is provided by CmdrTaco (entertaining
though he may be) and their like.</p>

<p>In order to make LWN, they need to find a way to give them the time to
work on it. They can't do it next to a day job.</p>

</quote>

<p>And Rik van Riel added:</p>

<quote who="Rik van Riel">

<p>Absolutely. You cannot do a news site of LWN quality with 100 volunteers
that all spend 2 hours a week getting informed.</p>

<p>Instead, you need a few people that are really well informed.  This costs
money, because these people won't have time to do other things that pay
their bills.</p>

<p>I'm donating some money right now. If it doesn't save them for a bit more
time I'll just consider it overdue subscription fees and a thank you...</p>

<p><a
href="http://old.lwn.net/corp/donate/">http://old.lwn.net/corp/donate/</a></p>

</quote>

</section>

<section
  title="Support For SiS IDE ATA 133 In 2.4 Kernels"
  subject="[PATCH] SiS IDE ATA 133 support"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0207.3/0693.html"
  posts="4"
  startdate="26 Jul 2002 02:05:51 -0800"
  enddate="27 Jul 2002 00:31:20 -0800"
>
<topic>Disks: IDE</topic>

<mention>Daniel Egger</mention>

<p>Lionel Bouton announced that Lui-Chen Chang from SiS had implemented ATA133
support for SiS IDE chipsets. He posted the original patch against 2.4.19-rc3,
and his own version against 2.4.19-rc3-ac3. In a later post, he added, <quote
who="Lionel Bouton">the rc3-ac3 patch is already running on my ECS K7S5A and
the rc3 patch has been tested on 961 and 962 southbridges by Lei-Chun.</quote>
He asked for other folks to test the code, and Daniel Egger said he would.</p>

</section>

<section
  title="Supporting Many SCSI Disks In 2.4 And 2.5"
  subject="[PATCH] sd_many done right (1/5)"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0207.3/0743.html"
  posts="9"
  startdate="26 Jul 2002 07:45:33 -0800"
  enddate="27 Jul 2002 16:42:35 -0800"
>
<topic>Disk Arrays: EVMS</topic>
<topic>Disk Arrays: LVM</topic>
<topic>Disk Arrays: RAID</topic>
<topic>Disks: IDE</topic>
<topic>Disks: SCSI</topic>
<topic>FS: driverfs</topic>

<mention>Alexander Viro</mention>

<p>Kurt Garloff posted some patches for 2.4, to support more than 128 SCSI
disks by default, and optionally more than 256. The driver handled this by
dynamically allocating resources as each disk was attached to the system. He
gave <a href="http://www.suse.de/~garloff/linux/scsi-many/">a link</a> and said
that the patch <quote who="Kurt Garloff">does implement some infrastructure
that is useful: We extend the format of /proc/scsi/scsi to report the
attached high-level drivers.  This can be used by userspace applications to
dynamically create device nodes or to talk to the corresponding sg device
(which otherwise is non- trivial to find out!) and inquire extra information
such as serial number or WWID.</quote></p>

<p>Alexander Viro looked at the patch and found that although it might work
for 2.4, it would never get into 2.5 in the same form. Kurt replied, <quote
who="Kurt Garloff">The sd parts can and should be ported to 2.5, I think.
The /proc/scsi/scsi extensions and other stuff I wrote to support it,
won't be needed, as we have driverfs in 2.5.  And, of course, the device
number management will be solved in a more general way, but I do not yet
see how.</quote> Andreas Dilger replied:</p>

<quote who="Andreas Dilger">

<p>Actually, one interesting aspect of the EVMS vs. device-mapper argument
going on that has totally been missed is that EVMS can do management of ALL
disk block devices.</p>

<p>At startup time it "consumes" all of the disk block devices in order to
generate the various mappings (LVM, RAID, etc) and at the end it spits out
the resulting devices as EVMS major devices.  This includes devices that
have not been remapped, like hdXY or sdMN.  EVMS has facilities to ensure
that devices get repeatable major/minor numbers if needed, but they are
allocated on an as-needed basis. </p>

<p>Currently EVMS only has a single major number, but it is my understanding
that they could easily take over all of the IDE and SCSI major numbers.
We would not have to worry about sparse device number allocation anymore,
and could have thousands of disks/partitions without any problems.</p>

</quote>

<p>Christoph Hellwig said that of course EVMS did management of all disk
block devices, because it attempted to duplicate the Linux block layer. <quote
who="Christoph Hellwig">But it's everything but a good idea,</quote> he said.
Kurt replied that he didn't want to get into an EVMS versus block layer
debate since he didn't know whether EVMS did what Christoph claimed; but
he did say, <quote who="Kurt Garloff">But the idea of having a number of
majors assigned to disks, no matter what the driver below is looks certainly
like a good idea. With the current approach, we'll need way too many majors,
even if we'd have some more bits in the future. Why not have a pool of disk
majors and sd, hd, dasd, rd (DAC960), the IDE-Raids, and ... allocate some
of these as needed.</quote> Christoph replied:</p>

<quote who="Christoph Hellwig">

<p>Linus wants this, and he stated that again on the kernel summit.  But to
do this porperly (= not the EVMS way) it needs preparation.  Al currently does
lots of work in that area to make the block drivers largely independent of the
major number.  Once the drivers don't need the major number anymore internally
the only that needs sorting out is userlevel backwards-compatinlity.</p>

<p>I'm pretty sure the preparation will be finished for 2.6, also I can't
comment whether the unified disk major will be done.</p>

</quote>

</section>

<section
  title="devfs Update"
  subject="[PATCH] devfs v215 available"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0207.3/1175.html"
  posts="1"
  startdate="28 Jul 2002 10:01:59 -0800"
>
<topic>FS: devfs</topic>

<p>Richard Gooch announced:</p>

<quote who="Richard Gooch">

<p>Version 215 of my devfs patch is now available from:</p>

<p><a
href="http://www.atnf.csiro.au/~rgooch/linux/kernel-patches.html">http://www.atnf.csiro.au/~rgooch/linux/kernel-patches.html</a></p>

<p>The devfs FAQ is also available here.</p>

<p>Patch directly available from:</p>

<p><a
href="ftp://ftp.us.kernel.org/pub/linux/kernel/people/rgooch/v2.5/devfs-patch-current.gz">ftp://ftp.us.kernel.org/pub/linux/kernel/people/rgooch/v2.5/devfs-patch-current.gz</a></p>

<p>AND:</p>

<p><a
href="ftp://ftp.atnf.csiro.au/pub/people/rgooch/linux/kernel-patches/v2.5/devfs-patch-current.gz">ftp://ftp.atnf.csiro.au/pub/people/rgooch/linux/kernel-patches/v2.5/devfs-patch-current.gz</a></p>

<p>NOTE: kernel 2.5.1 and later require devfsd-v1.3.19 or later.</p>

<p>This is against 2.5.28. Highlights of this release:</p>

<p>

<ul>

<li>Created &lt;devfs_find_and_unregister&gt;</li>

<li>Switched many functions from &lt;devfs_find_handle&gt; to
&lt;devfs_find_and_unregister&gt;</li>

<li>Switched many functions from &lt;devfs_find_handle&gt; to
&lt;devfs_get_handle&gt;</li>

</ul>

</p>

</quote>

<p>There was no reply.</p>

</section>

<section
  title="New PC-Speaker Driver"
  subject="[ANNOUNCE] New PC-Speaker driver"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0207.3/1360.html"
  posts="1"
  startdate="29 Jul 2002 01:29:51 -0800"
>
<topic>Sound: OSS</topic>

<mention>David Woodhouse</mention>

<p>Stas Sergeev announced:</p>

<quote who="Stas Sergeev">

<p>For all those people who still don't have a sound card I want to introduce
a pc-speaker driver.  There were some other pc-speaker drivers floating over
the net, but AFAIK no one is really finished and usable.</p>

<p>My driver is originally based on Michael Beck and David Woodhouse driver,
but it is havily reworked and pretends to be 100% OSS compatible producing
nearly the best sound one can ever get from pc-speaker.  Well, there is
(currently) no intention to get it into the mainstream kernel so don't treat
it too seriously.  However any comments or bugreports are appreciated.</p>

<p>The latest patch for 2.4.18 kernel is available here:</p>

<p><a
href="http://www.geocities.com/stssppnn/pcsp.html">http://www.geocities.com/stssppnn/pcsp.html</a></p>

</quote>

<p>There was no reply.</p>

</section>

<section
  title="Status Of /proc/pci"
  subject="RFC: /proc/pci removal?"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0207.3/1394.html"
  posts="7"
  startdate="29 Jul 2002 04:17:17 -0800"
  enddate="31 Jul 2002 09:50:05 -0800"
>
<topic>PCI</topic>

<p>Russell King asked, <quote who="Russell King">I seem to vaguely remember
that a while ago (2.3 days?) there was discussion about removing /proc/pci in
favour of the lspci output, however there doesn't seem much in google groups
about it (and marc seems useless with non-alphanumeric searches.)  Can anyone
remember the consensus?</quote> Dave Jones remarked, <quote who="Dave
Jones">ISTR Linus was quite attached to it, so it got un-obsoleted.</quote>
And Martin Mares added:</p>

<quote who="Martin Mares">

<p>Exactly.  I've marked it as obsolete years ago, but when I wanted to rip
it out, Linus said he likes /proc/pci and it has to stay.</p>

<p>I still think that it's an extremely ugly interface, especially because
it requires the kernel to contain the list of vendor and device names.</p>

</quote>

</section>

<section
  title="HP Diva Support For 2.5.29"
  subject="[PATCH] 2.5.29 serial update"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0207.3/1424.html"
  posts="1"
  startdate="29 Jul 2002 07:03:28 -0800"
>

<mention>Matthew Wilcox</mention>
<mention>Russell King</mention>

<p>Russell King announced a new batch of <a
href="http://ftp.linux.org.uk/pub/linux/rmk/serial-2.5.29.diff">serial
driver changes</a> to 2.5.29. The main feature was to add HP Diva support
by Matthew Wilcox. There was no reply.</p>

</section>

<section
  title="64-Bit PowerPC Maintainership"
  subject="[TRIVIAL] Anton Blanchard is 2.5 PPC64 maintainer"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0207.3/1592.html"
  posts="3"
  startdate="29 Jul 2002 18:43:45 -0800"
  enddate="30 Jul 2002 09:43:46 -0800"
>
<topic>MAINTAINERS File</topic>

<mention>Anton Blanchard</mention>

<p>Rusty Russell posted a trivial patch to the MAINTAINERS file, to list
Anton Blanchard as the 64-bit PowerPC port maintainer for 2.5 kernels instead
of David Engebretsen. He said, <quote who="Rusty Russell">Anton is the one
all the mail goes to, and who sends the patches to Linus.  David is the
2.4 maintainer.</quote> Todd Inglett replied:</p>

<quote who="Todd Inglett">

<p>I think you ought to clear this with Dave.  He's been swamped with 2.4
work, but I don't think he has ever planned to give up maintainership just
because this is 2.5.</p>

<p>There's no denying that Anton's been doing lots of work keeping 2.5 ppc64
up-to-date but that doesn't automatically mean maintainership should swap.</p>

</quote>

<p>And Tom Gall also said to Rusty, <quote who="Tom Gall">Dave
continues to be the overall maintainer for ppc64.  See <a
href="http://linuxppc64.org">linuxppc64.org</a>.</quote></p>

</section>

<section
  title="Sparc32 Maintainership"
  subject="[TRIVIAL] Mark sparc32 unmaintained in 2.5"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0207.3/1593.html"
  posts="1"
  startdate="29 Jul 2002 18:44:12 -0800"
>

<mention>Rusty Russell</mention>

<p>Rusty Russell, after checking with David Miller, posted a patch to list
the Sparc32 port as unmaintained in 2.5. There was no reply.</p>

</section>

<section
  title="BitKeeper Documentation"
  subject="Simple BK HOWTO"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0207.3/1637.html"
  posts="5"
  startdate="30 Jul 2002 03:24:05 -0800"
  enddate="31 Jul 2002 05:11:31 -0800"
>
<topic>Ottawa Linux Symposium</topic>
<topic>Version Control</topic>

<mention>Val Henson</mention>

<p>Krzysiek Taraszka asked for some simple BitKeeper documentation, and some
folks pointed him to Documentation/BK-usage; Dave Jones added:</p>

<quote who="Dave Jones">

<p>The BK test drive is useful - <a
href="http://www.bitkeeper.com/Test.html">http://www.bitkeeper.com/Test.html</a></p>

<p>See also the slides etc from the talk Val Henson gave at OLS on her page -
<a href="http://www.nmt.edu/~val/">http://www.nmt.edu/~val/</a></p>

</quote>

</section>

<section
  title="Modutils 2.4.19 Available"
  subject="Announce: modutils 2.4.19 is available"
  archive=""
  posts="1"
  startdate="31 Jul 2002 03:01:28 -0800"
>

<mention>Richard Hirst</mention>
<mention>Bill Nottingham</mention>

<p>Keith Owens announced modutile 2.4.19, and said:</p>

<quote who="Keith Owens">

<p>Changelog extract</p>

<p>

<ul>

<li>Correct ia64 SEGREL relocations.  Fixes incorrect unwind data for ia64
modules.</li>

<li>Remove 64 bit warnings.</li>

<li>New aliases.  Bill Nottingham.</li>

<li>Add R_PARISC_PCREL22F.  Richard Hirst.</li>

<li>Remove flex warning.</li>

</ul>

</p>

<p>IA64 users who debug modules are strongly urged to upgrade to this
release.</p>

</quote>

<p>There was no reply.</p>

</section>

<section
  title="Status Of -dj Tree"
  subject="why no new 2.5-dj patch ?"
  archive=""
  posts="1"
  startdate="31 Jul 2002 04:51:08 -0800"
>
<topic>Version Control</topic>

<p>Dave Jones said:</p>

<quote who="Dave Jones">

<p>I'm fed up of answering the same questions over and over, so I figured
I'd post this here.</p>

<p>Most common question I'm getting right now seems to be summed up as
"Why haven't I done a 2.5-dj since .27 ?" (Yup, a whole 2 point releases,
and people are breaking into a sweat) </p>

<p>

<ul>

<li>Due to the huge driver breakage during .28/.29/.30tobe, Compilation
issues aside, I've not had much luck in even getting the last few kernels
to boot on most of my test boxes.  If I don't get a 2.5-dj booting on all
my test boxes, I won't make it available.</li>

<li>Lack of time.  I've been busy with x86-64, and other projects.</li>

<li>Vacation.  As of Friday, I'm taking time out for a real holiday for the
whole week for the first time in a year. Ie, no net connection.</li>

</ul>

</p>

<p>The last point marks an important change in the way I've been
working up until now. I spent a while trying to figure out how to
take a holiday, and not have to come back to a nightmare resync. FSF
purists will hate me for it, but I've started playing with BitKeeper
again, and it's working out.  (The curious can look around at <a
href="http://linux-dj.bkbits.net">http://linux-dj.bkbits.net</a>)</p>

<p>I've put off pushing bits to Linus this week to deliberatly make life
more difficult for myself syncing his latest tree with mine, to see if bk
really will work out. So far what usually takes me the better part of an
hour I can now do in 10 minutes.</p>

<p>So when I come back, resyncing should be a lot less painful than it used
to be, and I'll start looking at pushing some of the bits that have been
hanging around for a while towards Linus.</p>

<p>One final point: Due to me being away for a week, I won't be merging
anything new to my tree 8) Feel free to still send it, and I'll pick it up
when I return.</p>

</quote>

<p>There was no reply.</p>

</section>

<section
  title="2.4.19-rc4 Released"
  subject="Linux 2.4.19-rc4"
  archive=""
  posts="2"
  startdate="31 Jul 2002 13:20:02 -0800"
  enddate="31 Jul 2002 21:40:39 -0800"
>
<topic>SMP</topic>

<p>Marcelo Tosatti put out 2.4.19-pre4 and said, <quote who="Marcelo
Tosatti">Since some critical problems appeared (mainly the d_unhash() SMP race)
here is rc4.</quote> Rudmer van Dijk reported some warning during compilation,
but there was no further discussion.</p>

</section>

<section
  title="Stream Control Transmission Protocol Update"
  subject="[ANNOUNCE] new lksctp release lksctp-2_5_29-0_5_0"
  archive=""
  posts="1"
  startdate="31 Jul 2002 13:38:28 -0800"
>

<p>Jon Grimm announced:</p>

<quote who="Jon Grimm">

<p>Linux Kernel SCTP Release lksctp-2_5_29-0_5_0 is now available for
download.</p>

<p>The lksctp project was created to develop a Linux kernel implementation
of the SCTP transport protocol.</p>

<p>For more information, as well as, source tarballs and patches, please
visit:</p>

<p><a
href="http://www.sourceforge.net/projects/lksctp/">http://www.sourceforge.net/projects/lksctp/</a></p>

<p>The linux-2.5.29 based patch can be downloaded directly from:</p>

<p><a
href="http://prdownloads.sourceforge.net/lksctp/lksctp-2_5_29-0_5_0.patch?download">http://prdownloads.sourceforge.net/lksctp/lksctp-2_5_29-0_5_0.patch?download</a></p>

</quote>

<p>There was no reply.</p>

</section>

</kc>

