<?xml version="1.0" ?>

<kc>

<title>Kernel Traffic</title>

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

<issue num="182" date="01 Sep 2002 23:00:00 -0800" />

<stats posts="1514" size="7271" contrib="423" multiples="221" lastweek="164">

<person posts="60" size="165" who="Alan Cox " />
<person posts="47" size="130" who="Thunder from the hill " />
<person posts="42" size="266" who="Oliver Xymoron " />
<person posts="38" size="169" who="Andre Hedrick " />
<person posts="26" size="122" who="Greg Banks " />
<person posts="26" size="84" who="Christoph Hellwig " />
<person posts="24" size="55" who="&quot;David S. Miller&quot; " />
<person posts="23" size="70" who="Robert Love " />
<person posts="22" size="119" who="Peter Samuelson " />
<person posts="22" size="70" who="Russell King " />
<person posts="20" size="67" who="Linus Torvalds " />
<person posts="18" size="86" who="Erik Andersen " />
<person posts="17" size="130" who="Vojtech Pavlik " />
<person posts="17" size="66" who="Ed Sweetman " />
<person posts="17" size="50" who="Roman Zippel " />
<person posts="15" size="66" who="&quot;Richard B. Johnson&quot; " />
<person posts="15" size="47" who="Benjamin Herrenschmidt " />
<person posts="15" size="45" who="Tomas Szepe " />
<person posts="14" size="54" who="James Simmons " />
<person posts="13" size="69" who="Ingo Molnar " />
<person posts="12" size="45" who="Stephen Tweedie " />
<person posts="12" size="39" who="Greg KH " />
<person posts="12" size="37" who="&quot;Peter T. Breuer&quot; " />
<person posts="12" size="30" who="" />
<person posts="11" size="194" who="Peter Chubb " />
<person posts="11" size="79" who="Luca Barbieri " />
<person posts="11" size="74" who="Rusty Russell " />
<person posts="11" size="47" who="Andrea Arcangeli " />
<person posts="11" size="41" who="&quot;Mala Anand&quot; " />
<person posts="11" size="37" who="Pavel Machek " />
<person posts="11" size="33" who="Rik van Riel " />
<person posts="10" size="281" who="Alan Cox " />
<person posts="10" size="55" who="Andrew Morton " />
<person posts="10" size="27" who="&quot;Stephen C. Biggs&quot; " />
<person posts="10" size="24" who="Daniel Phillips " />
<person posts="9" size="255" who="Albert Cranford " />
<person posts="9" size="41" who="William Lee Irwin III " />
<person posts="9" size="38" who="&quot;Martin J. Bligh&quot; " />
<person posts="9" size="34" who="Marco Colombo " />
<person posts="8" size="76" who="Hanna Linder " />
<person posts="8" size="61" who="Christoph Hellwig " />
<person posts="8" size="25" who="Benjamin LaHaise " />
<person posts="8" size="23" who="Jean-Luc Coulon " />
<person posts="8" size="22" who="Geert Uytterhoeven " />
<person posts="8" size="18" who="Chris Wedgwood " />
<person posts="7" size="38" who="" />
<person posts="7" size="25" who="Andreas Dilger " />
<person posts="7" size="24" who="Hugh Dickins " />
<person posts="7" size="21" who="Sam Ravnborg " />
<person posts="7" size="21" who="Andi Kleen " />
<person posts="7" size="17" who="" />
<person posts="6" size="118" who="Dominik Brodowski " />
<person posts="6" size="108" who="Lightweight Patch Manager " />
<person posts="6" size="99" who="Mauricio Pretto " />
<person posts="6" size="71" who="&quot;Brueggeman, Steve&quot; " />
<person posts="6" size="32" who="Daniel Egger " />
<person posts="6" size="30" who="Jeff Garzik " />
<person posts="6" size="28" who="" />
<person posts="6" size="26" who="Felix Seeger " />
<person posts="6" size="25" who="Doug Ledford " />
<person posts="6" size="25" who="george anzinger " />
<person posts="6" size="22" who="Sean Neakums " />
<person posts="6" size="20" who="Andries Brouwer " />
<person posts="6" size="18" who="Dag Nygren " />
<person posts="6" size="15" who="&quot;Daniel I. Applebaum&quot; " />
<person posts="6" size="14" who="Zwane Mwaikambo " />
<person posts="6" size="14" who="" />
<person posts="5" size="54" who="Juergen Sawinski " />
<person posts="5" size="20" who="Kai Germaschewski " />
<person posts="5" size="17" who="Kai Germaschewski " />
<person posts="5" size="17" who="Trond Myklebust " />
<person posts="5" size="16" who="Mike Dresser " />
<person posts="5" size="15" who="jamal " />
<person posts="5" size="15" who="Holger Schurig " />
<person posts="5" size="14" who=" (David Wagner)" />
<person posts="5" size="14" who="Stephen Rothwell " />
<person posts="5" size="13" who="Richard Gooch " />
<person posts="4" size="52" who="Frank Davis " />
<person posts="4" size="52" who="john stultz " />
<person posts="4" size="29" who="Matthew Dobson " />
<person posts="4" size="24" who="Jens Wiesecke " />
<person posts="4" size="20" who="" />
<person posts="4" size="16" who="&quot;Adam J. Richter&quot; " />
<person posts="4" size="16" who="Dave Hansen " />
<person posts="4" size="15" who="Greg Ungerer " />
<person posts="4" size="15" who="Andris Pavenis " />
<person posts="4" size="14" who="Paul Mackerras " />
<person posts="4" size="14" who="Chris Friesen " />
<person posts="4" size="14" who="Arnd Bergmann " />
<person posts="4" size="13" who="" />
<person posts="4" size="13" who="Manfred Spraul " />
<person posts="4" size="13" who="&quot;H. Peter Anvin&quot; " />
<person posts="4" size="12" who="Kelsey Hudson " />
<person posts="4" size="12" who="Dan Kegel " />
<person posts="4" size="12" who="Itai Nahshon " />
<person posts="4" size="12" who="Tom Rini " />
<person posts="4" size="12" who="Willy Tarreau " />
<person posts="4" size="11" who="&quot;Randy.Dunlap&quot; " />
<person posts="4" size="11" who="Adrian Bunk " />
<person posts="4" size="11" who="Gregoire Favre " />
<person posts="4" size="10" who="Matthew Wilcox " />
<person posts="4" size="10" who="Jonathan Lundell " />
<person posts="4" size="10" who="&quot;Stephen C. Tweedie&quot; " />
<person posts="3" size="27" who="Stephane Wirtel " />
<person posts="3" size="24" who=" (Holger Grosenick)" />
<person posts="3" size="24" who="&quot;Shirley Ma&quot; " />
<person posts="3" size="23" who="Martin =?iso-8859-15?q?K=F6bele?= " />
<person posts="3" size="21" who="Rudmer van Dijk " />
<person posts="3" size="21" who="Suparna Bhattacharya " />
<person posts="3" size="18" who="Petr Vandrovec " />
<person posts="3" size="15" who="mingming cao " />
<person posts="3" size="13" who="" />
<person posts="3" size="13" who="Grega Fajdiga " />
<person posts="3" size="13" who="Joachim Breuer " />
<person posts="3" size="12" who="Samuel Flory " />
<person posts="3" size="11" who="Jean Tourrilhes " />
<person posts="3" size="11" who="" />
<person posts="3" size="11" who="Alex Riesen " />
<person posts="3" size="11" who="&quot;Paolo Ciarrocchi&quot; " />
<person posts="3" size="11" who="Yoann Vandoorselaere " />
<person posts="3" size="10" who="&quot;Barry K. Nathan&quot; " />
<person posts="3" size="10" who="Gabriel Paubert " />
<person posts="3" size="10" who="Martin Wilck " />
<person posts="3" size="10" who="Jan Harkes " />
<person posts="3" size="10" who="Heinz Diehl " />
<person posts="3" size="10" who="Jeff Chua " />
<person posts="3" size="10" who="Cliff White " />
<person posts="3" size="9" who="Ben Greear " />
<person posts="3" size="9" who=" (Eric W. Biederman)" />
<person posts="3" size="9" who="henrique " />
<person posts="3" size="9" who="Thomas Molina " />
<person posts="3" size="9" who="Anssi Saari " />
<person posts="3" size="8" who="&quot;Wessler, Siegfried&quot; " />
<person posts="3" size="8" who="Volker Kuhlmann " />
<person posts="3" size="8" who="David Mosberger " />
<person posts="3" size="8" who="Pavel Machek " />
<person posts="3" size="8" who="Silvio Cesare " />
<person posts="3" size="8" who="Richard Zidlicky " />
<person posts="3" size="8" who="Oliver Neukum " />
<person posts="3" size="8" who="Kerenyi Gabor " />
<person posts="3" size="8" who="Jan Hudec " />
<person posts="3" size="8" who="Madhavi " />
<person posts="3" size="7" who="Christophe Devalquenaire " />
<person posts="3" size="7" who="Pete Zaitcev " />
<person posts="3" size="7" who="Corey Minyard " />
<person posts="3" size="7" who="Gerald Teschl " />
<person posts="3" size="7" who="Francois Romieu " />
<person posts="2" size="50" who="Marc-Christian Petersen " />
<person posts="2" size="37" who="Lars Marowsky-Bree " />
<person posts="2" size="35" who="Tim Hockin " />
<person posts="2" size="31" who="&quot;John L. Males&quot; " />
<person posts="2" size="28" who="Juan Gomez " />
<person posts="2" size="21" who="Bernard Paris " />
<person posts="2" size="18" who="Theodore Ts'o " />
<person posts="2" size="16" who="Erik Steffl " />
<person posts="2" size="15" who="" />
<person posts="2" size="14" who="Tom " />
<person posts="2" size="12" who="Nicholas Miell " />
<person posts="2" size="12" who="Tommi Kyntola " />
<person posts="2" size="11" who="Eric Weigle " />
<person posts="2" size="10" who="Bill Unruh " />
<person posts="2" size="10" who="&quot;H. J. Lu&quot; " />
<person posts="2" size="10" who="Steffen Persvold " />
<person posts="2" size="9" who="Daniel Jacobowitz " />
<person posts="2" size="8" who="&quot;Heater, Daniel (IndSys, GEFanuc, VMIC)&quot; " />
<person posts="2" size="8" who="Alan Stern " />
<person posts="2" size="8" who="David Ford " />
<person posts="2" size="8" who="Maurice Volaski " />
<person posts="2" size="8" who="Rob Speer " />
<person posts="2" size="7" who="Keith Owens " />
<person posts="2" size="7" who="Bill Hartner " />
<person posts="2" size="7" who="Rogier Wolff " />
<person posts="2" size="7" who="Jaroslav Kysela " />
<person posts="2" size="7" who="Anton Altaparmakov " />
<person posts="2" size="7" who="David Howells " />
<person posts="2" size="7" who="&quot;Timothy D. Witham&quot; " />
<person posts="2" size="6" who="Eyal Lebedinsky " />
<person posts="2" size="6" who="James Bourne " />
<person posts="2" size="6" who="Allan Duncan " />
<person posts="2" size="6" who="Kai-Boris Schad " />
<person posts="2" size="6" who="Remco Post " />
<person posts="2" size="6" who="Mike Touloumtzis " />
<person posts="2" size="6" who="Pavel Machek " />
<person posts="2" size="6" who="Gilad Ben-Yossef " />
<person posts="2" size="6" who="&quot;James H. Cloos Jr.&quot; " />
<person posts="2" size="6" who="Steven Cole " />
<person posts="2" size="6" who="&quot;Dr. David Alan Gilbert&quot; " />
<person posts="2" size="6" who="Yedidyah Bar-David " />
<person posts="2" size="6" who="Tim Waugh " />
<person posts="2" size="6" who="Dave McCracken " />
<person posts="2" size="6" who=" (bill davidsen)" />
<person posts="2" size="6" who="&quot;Henning P. Schmiedehausen&quot; " />
<person posts="2" size="6" who="Andrew Rodland " />
<person posts="2" size="6" who="Robert Schwebel " />
<person posts="2" size="6" who="Marc Dietrich " />
<person posts="2" size="6" who="Larry McVoy " />
<person posts="2" size="6" who=" (Chris Schwemmer)" />
<person posts="2" size="6" who="David Weinehall " />
<person posts="2" size="5" who="Arador " />
<person posts="2" size="5" who="Alexander Viro " />
<person posts="2" size="5" who="Stephen Samuel " />
<person posts="2" size="5" who="&quot;Grover, Andrew&quot; " />
<person posts="2" size="5" who="=?ISO-8859-1?Q?Fr=E9d=E9ric_L=2E_W=2E_Meunier?= " />
<person posts="2" size="5" who="&quot;Luck, Tony&quot; " />
<person posts="2" size="5" who="&quot;louie miranda&quot; " />
<person posts="2" size="5" who="David Gibson " />
<person posts="2" size="5" who="Markus Plail " />
<person posts="2" size="5" who="Paul Larson " />
<person posts="2" size="5" who="Zheng Jian-Ming " />
<person posts="2" size="5" who="&quot;James Hayhurst&quot; " />
<person posts="2" size="5" who="Justin Heesemann " />
<person posts="2" size="5" who=" (=?iso-8859-1?q?M=E5ns_Rullg=E5rd?=)" />
<person posts="2" size="4" who="" />
<person posts="2" size="4" who="Ron Henry " />
<person posts="2" size="4" who="Bernd Eckenfels " />
<person posts="2" size="4" who="Helge Hafting " />
<person posts="2" size="4" who="" />
<person posts="2" size="4" who="Vincent Hanquez " />
<person posts="2" size="4" who="kris " />
<person posts="2" size="4" who="Jeff Dike " />
<person posts="2" size="3" who="" />
<person posts="1" size="36" who="root " />
<person posts="1" size="35" who="&quot;Ryan Underwood&quot; " />
<person posts="1" size="34" who="&quot;T. Ryan Halwachs&quot; " />
<person posts="1" size="24" who="" />
<person posts="1" size="23" who="&quot;Gene Gomez&quot; " />
<person posts="1" size="23" who="Robin Cook " />
<person posts="1" size="23" who="James Morris " />
<person posts="1" size="22" who="Nagy Tibor " />
<person posts="1" size="16" who="Corrado Cappello " />
<person posts="1" size="16" who="Wakko Warner " />
<person posts="1" size="16" who="Tommi Tervo " />
<person posts="1" size="13" who="&quot;Guillaume Boissiere&quot; " />
<person posts="1" size="12" who="&quot;J.G.&quot; " />
<person posts="1" size="11" who="&quot;Jasper Verberk&quot; " />
<person posts="1" size="11" who="Art Haas " />
<person posts="1" size="10" who="DevilKin " />
<person posts="1" size="9" who="Marcelo Tosatti " />
<person posts="1" size="8" who="Andreas Romeyke " />
<person posts="1" size="8" who="" />
<person posts="1" size="8" who="Hans Verkuil " />
<person posts="1" size="8" who="Antonino Daplas " />
<person posts="1" size="7" who="John Gardiner Myers " />
<person posts="1" size="7" who="Ivan Kokshaysky " />
<person posts="1" size="7" who="&quot;Jason C. Pion&quot; " />
<person posts="1" size="6" who="waco chime " />
<person posts="1" size="6" who="=?ISO-8859-1?Q?G=E9rard_Roudier?= " />
<person posts="1" size="6" who="Larry McVoy " />
<person posts="1" size="6" who="&quot;Dan Egli&quot; " />
<person posts="1" size="5" who="Danny Cox " />
<person posts="1" size="5" who="Nivedita Singhvi " />
<person posts="1" size="5" who="&quot;Nakajima, Jun&quot; " />
<person posts="1" size="5" who="&quot;John D. Coleman&quot; " />
<person posts="1" size="5" who="David Balazic " />
<person posts="1" size="5" who="&quot;Peter Wong&quot; " />
<person posts="1" size="5" who="Salvador Eduardo Tropea " />
<person posts="1" size="5" who="Joel Jaeggli " />
<person posts="1" size="5" who="jw schultz " />
<person posts="1" size="5" who="" />
<person posts="1" size="5" who="=?ISO-8859-1?Q?=DEeref?= Tufan =?ISO-8859-1?Q?=DEen?= " />
<person posts="1" size="4" who="Muli Ben-Yehuda " />
<person posts="1" size="4" who="Jan Marek " />
<person posts="1" size="4" who="&quot;Ben Ngombo&quot; " />
<person posts="1" size="4" who="Piotr Roszatycki " />
<person posts="1" size="4" who="&quot;Warner, Bill (IndSys, GEFanuc, VMIC)&quot; " />
<person posts="1" size="4" who="Rick Lindsley " />
<person posts="1" size="4" who="Nicolas Turro " />
<person posts="1" size="4" who="Athanasius " />
<person posts="1" size="4" who="" />
<person posts="1" size="4" who="Banai Zoltan " />
<person posts="1" size="4" who="Federico Carminati " />
<person posts="1" size="4" who="" />
<person posts="1" size="4" who="&quot;H.Rosmanith (Kernel Mailing List)&quot; " />
<person posts="1" size="4" who="Peter Schuller " />
<person posts="1" size="4" who="Andrey Nekrasov " />
<person posts="1" size="4" who="Kendrick Hamilton " />
<person posts="1" size="3" who="Dmitri " />
<person posts="1" size="3" who="Stefan Smietanowski " />
<person posts="1" size="3" who="Thomas Cataldo " />
<person posts="1" size="3" who="&quot;Charles Cedeno&quot; " />
<person posts="1" size="3" who="Narancs v1 " />
<person posts="1" size="3" who="Mat Harris " />
<person posts="1" size="3" who="Daniel Mose " />
<person posts="1" size="3" who="Matthew Dharm " />
<person posts="1" size="3" who="&quot;Zephaniah E\. Hull&quot; " />
<person posts="1" size="3" who="Rusty Trivial Russell " />
<person posts="1" size="3" who="david parsons " />
<person posts="1" size="3" who="&quot;Lahti Oy&quot; " />
<person posts="1" size="3" who="Mark Hounschell " />
<person posts="1" size="3" who="&quot;Martin Schwidefsky&quot; " />
<person posts="1" size="3" who="Vincent Hanquez " />
<person posts="1" size="3" who="Marcus Alanen " />
<person posts="1" size="3" who="Iain " />
<person posts="1" size="3" who="Padraig Brady " />
<person posts="1" size="3" who="Robert Olsson " />
<person posts="1" size="3" who="Bob McElrath " />
<person posts="1" size="3" who="Andreas Schwab " />
<person posts="1" size="3" who="Federico Di Gregorio " />
<person posts="1" size="3" who="Patrick Mochel " />
<person posts="1" size="3" who="Arpi " />
<person posts="1" size="3" who="Patrick Mansfield " />
<person posts="1" size="3" who="Peter Whiting " />
<person posts="1" size="3" who="J Sloan " />
<person posts="1" size="3" who="&quot;kosta&quot; " />
<person posts="1" size="3" who="David Brownell " />
<person posts="1" size="3" who="&quot;Ulf-Andre Gramstad&quot; " />
<person posts="1" size="3" who="Chuck Lever " />
<person posts="1" size="3" who="Petr Konecny " />
<person posts="1" size="3" who="Alex Romosan " />
<person posts="1" size="3" who=" (Pavel =?iso-8859-2?q?Jan=EDk?=)" />
<person posts="1" size="3" who="Bill Davidsen " />
<person posts="1" size="3" who="David Lang " />
<person posts="1" size="3" who="Mike " />
<person posts="1" size="3" who="Ingo Oeser " />
<person posts="1" size="3" who="Greg KH " />
<person posts="1" size="3" who="Abramo Bagnara " />
<person posts="1" size="3" who="Lionel Bouton " />
<person posts="1" size="3" who="&quot;Anders K. Pedersen&quot; " />
<person posts="1" size="3" who="Luca Giuzzi " />
<person posts="1" size="3" who="Hans Reiser " />
<person posts="1" size="3" who="Brian Gerst " />
<person posts="1" size="3" who="Ani Joshi " />
<person posts="1" size="3" who="John Alvord " />
<person posts="1" size="3" who="&quot;Stuart MacDonald&quot; " />
<person posts="1" size="3" who="Rasmus Andersen " />
<person posts="1" size="3" who="Bernd Eckenfels " />
<person posts="1" size="3" who="&quot;Nir Soffer&quot; " />
<person posts="1" size="3" who="Axel Siebenwirth " />
<person posts="1" size="3" who="Denis Vlasenko " />
<person posts="1" size="3" who="Phil Jackson " />
<person posts="1" size="3" who="Oskar Schirmer " />
<person posts="1" size="2" who="Matt Bernstein " />
<person posts="1" size="2" who="David Madore " />
<person posts="1" size="2" who="&quot;Fruhwirth Clemens&quot; " />
<person posts="1" size="2" who="&quot;Stephen Biggs&quot; " />
<person posts="1" size="2" who="Dieter =?iso-8859-15?q?N=FCtzel?= " />
<person posts="1" size="2" who="Florian Weimer " />
<person posts="1" size="2" who="Paul Mackerras " />
<person posts="1" size="2" who="Matti Aarnio " />
<person posts="1" size="2" who="David Woodhouse " />
<person posts="1" size="2" who="Adam Kropelin " />
<person posts="1" size="2" who="&quot;Petr Vandrovec&quot; " />
<person posts="1" size="2" who="Volker Kuhlmann " />
<person posts="1" size="2" who="Jose Luis Domingo Lopez " />
<person posts="1" size="2" who="J Sloan " />
<person posts="1" size="2" who="Marc-Christian Petersen " />
<person posts="1" size="2" who="Bill Currie " />
<person posts="1" size="2" who="Troy Wilson " />
<person posts="1" size="2" who="Mark Atwood " />
<person posts="1" size="2" who="&quot;=?iso-8859-1?Q?qwerty314?=&quot; " />
<person posts="1" size="2" who="Horst von Brand " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Jesper Juhl " />
<person posts="1" size="2" who="Lucio Maciel " />
<person posts="1" size="2" who="Hank Leininger " />
<person posts="1" size="2" who="DervishD " />
<person posts="1" size="2" who="Gerald Britton " />
<person posts="1" size="2" who="Jamie Lokier " />
<person posts="1" size="2" who="Gerhard Mack " />
<person posts="1" size="2" who="Billy Harvey " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Jonathan Amery " />
<person posts="1" size="2" who="Eric Lemoine " />
<person posts="1" size="2" who="Roger Larsson " />
<person posts="1" size="2" who="Lukasz Trabinski " />
<person posts="1" size="2" who="Con Kolivas " />
<person posts="1" size="2" who="Donald Becker " />
<person posts="1" size="2" who="Matthias Andree " />
<person posts="1" size="2" who="Olivier Galibert " />
<person posts="1" size="2" who="Ruth Ivimey-Cook " />
<person posts="1" size="2" who="&quot;jools&quot; " />
<person posts="1" size="2" who="&quot;Ulf-Andre Gramstad&quot; " />
<person posts="1" size="2" who="Eric Lammerts " />
<person posts="1" size="2" who="Rohan Deshpande " />
<person posts="1" size="2" who="gerg " />
<person posts="1" size="2" who="Peter Wintulich " />
<person posts="1" size="2" who="&quot;Seong Moon&quot; " />
<person posts="1" size="2" who="Paul P Komkoff Jr " />
<person posts="1" size="2" who="Pawel Kot " />
<person posts="1" size="2" who="Ryan Cumming " />
<person posts="1" size="2" who="nejhdeh " />
<person posts="1" size="2" who="Frank v Waveren " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="&quot;Reed, Timothy A&quot; " />
<person posts="1" size="2" who="Philipp Matthias Hahn " />
<person posts="1" size="2" who="Roger Luethi " />
<person posts="1" size="2" who="Mike Galbraith " />
<person posts="1" size="2" who="Bergs " />
<person posts="1" size="2" who="Jeroen Vreeken " />
<person posts="1" size="2" who="Brian Gerst " />
<person posts="1" size="2" who="Ralf Baechle " />
<person posts="1" size="2" who="&quot;Jon Burgess&quot; " />
<person posts="1" size="2" who="Gcc k6 testing account " />
<person posts="1" size="2" who="&quot;Omar&quot; " />
<person posts="1" size="2" who="Thunder from the hill " />
<person posts="1" size="2" who="sridhar vaidyanathan " />
<person posts="1" size="2" who="Ferda Bulut " />
<person posts="1" size="2" who="dean gaudet " />
<person posts="1" size="2" who="Lincoln Dale " />
<person posts="1" size="2" who="Ben Castricum " />
<person posts="1" size="2" who="dtonks " />
<person posts="1" size="2" who="Ralf Baechle " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Aleksandar Kacanski " />
<person posts="1" size="2" who="Frederic Roussel " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="&quot;Bloch, Jack&quot; " />
<person posts="1" size="2" who="Narasimhan " />
<person posts="1" size="2" who="&quot;net reel&quot; " />
<person posts="1" size="2" who="Shaya Potter " />
<person posts="1" size="2" who="&quot;Sales Department&quot; " />
<person posts="1" size="2" who="Louis Garcia " />
<person posts="1" size="2" who="&quot;sanket rathi&quot; " />
<person posts="1" size="2" who="Michael Bellion " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Petko Manolov " />
<person posts="1" size="1" who="Daniel Sterling " />
<person posts="1" size="1" who="raoul s " />
<person posts="1" size="1" who="Hanno =?ISO-8859-1?Q?B=F6ck?= " />
<person posts="1" size="1" who="Giuliano Pochini " />
<person posts="1" size="1" who="&quot;chen, xiangping&quot; " />
<person posts="1" size="1" who="" />

</stats>

<section
  title="Config Policy"
  subject="Linux 2.4.20-pre1"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0208.0/1217.html"
  posts="128"
  startdate="06 Aug 2002 15:29:52 -0800"
  enddate="24 Aug 2002 04:43:57 -0800"
>
<topic>Disks: SCSI</topic>
<topic>Kernel Build System</topic>
<notopic>Disks</notopic>

<p>In the course of discussion, Linus Torvalds made some comments (quoted
below) about his requirements for a config system. In the middle of the
thread, Peter Samuelson had posted a patch against 2.4.20-pre1, to fix up the
kconfig language, which, as Greg Banks said in his reply, had been <quote
who="Greg Banks">held together with spit and string.</quote> But Greg felt
Peter's changes might be too invasive for the 2.4 tree even if the patch was
great. Peter replied that his changes were <quote who="Peter Samuelson">trivial
enough, and easy enough to test, that I think it could go in 2.4, yes.
Obviously xconfig would need to be dealt with in sync with the others,
which I'm not doing during the prototyping / idea-mongering stage.</quote>
But Greg said, <quote who="Greg Banks">I think you're underestimating the
Gordian knot that is the CML1 corpus.</quote></p>

<p>The patch itself (among other things) made the need for '$' in front of
dependency names optional instead of required. At one point Peter explained,
<quote who="Peter Samuelson">The main motivation for dropping the '$' was
to make possible the "" == "n" semantics.</quote> To this, Greg said, <quote
who="Greg Banks">Changing the existing semantics, regardless of how broken we
all agree they are, is asking for a world of trouble.</quote> He went on:</p>

<quote who="Greg Banks">

<p>To pick an example, in 2.5.29 drivers/ide/Config.in:17 is</p>

<p>   dep_tristate '    SCSI emulation support' CONFIG_BLK_DEV_IDESCSI $CONFIG_ATAPI $CONFIG_BLK_DEV_IDE $CONFIG_SCSI</p>

<p>But at this point in the menu tree for 14 of 17 architectures, CONFIG_SCSI
has not yet been defined.  The result is that CONFIG_BLK_DEV_IDESCSI only
works in "make config" and "make allyesconfig" precisely because of the
semantic that you wish to change.</p>

</quote>

<p>Peter said this was a bug in his code, and if Greg posted a list of all the
ones he found, Peter would go through and patch them. Greg said there were
thousands of occurrences, spread throughout 17 architectures. Sam Ravnborg
suggested, <quote who="Sam Ravnborg">How about extending the language (side
effect) to automagically append (EXPERIMENTAL) or (OBSOLETE) to the menu line,
if dependent on those special tags?</quote></p>

<p>Peter and Greg both agreed this was a good idea, an Greg pointed out that
CML2 had used that implementation as well. But Greg added, <quote who="Greg
Banks">The trouble is actually achieving that in shell-based parsers where
shell code cannot tell whether $CONFIG_EXPERIMENTAL has been used in a
condition.</quote> Sam said, <quote who="Sam Ravnborg">Remembering the CML2 war
there were no serious objections about
shifting away from shell based parsers (but certainly a lot about the
alternative selected).</quote> He asked, <quote who="Sam Ravnborg">Where comes
the requirement that we shall keep the existing shell
based config parsers?</quote> And Linus replied:</p>

<quote who="Linus Torvalds">

<p>I use them exclusively.</p>

<p>It is far and away the most convenient parsing - just to do "make oldconfig"
(possibly by making changes by hand to the .config file first).</p>

<p>As far as I'm personally concerned, the shell parsers are the _only_
parser that really matter. So if you want to replace them with something else,
that something else had better be pretty much perfect and not take all that
long to build.</p>

</quote>

</section>

<section
  title="Generating Random Numbers"
  subject="[PATCH] (0/4) Entropy accounting fixes"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0208.2/0316.html"
  posts="73"
  startdate="17 Aug 2002 18:15:22 -0800"
  enddate="23 Aug 2002 12:16:59 -0800"
>
<topic>PCI</topic>
<topic>Random Number Generation</topic>
<topic>SMP</topic>
<topic>USB</topic>
<notopic>Real-Time</notopic>

<p>Oliver Xymoron announced:</p>

<quote who="Oliver Xymoron">

<p>I've done an analysis of entropy collection and accounting in current
Linux kernels and founds some major weaknesses and bugs. As entropy
accounting is only one part of the security of the random number
device, it's unlikely that these flaws are compromisable, nonetheless
it makes sense to fix them.  </p>

<p>

<ul>

<li>Broken analysis of entropy distribution</li>
<li>Spoofable delta model</li>
<li>Interrupt timing independence</li>
<li>Ignoring time scale of entropy sources</li>
<li>Confusion of unpredictable and merely complex sources and trusting the
  latter</li>
<li>Broken pool transfers</li>
<li>Entropy pool can be overrun with untrusted data</li>

</ul>

</p>

<p>Net effect: a typical box will claim to generate 2-5 _orders of magnitude_
more entropy than it actually does.</p>

<p>Note that entropy accounting is mostly useful for things like the
generation of large public key pairs where the number of bits of
entropy in the key is comparable to the size of the PRNG's internal
state. For most purposes, /dev/urandom is still more than strong
enough to make attacking a cipher directly more productive than
attacking the PRNG.</p>

<p>The following patches against 2.5.31 have been tested on x86, but
should compile elsewhere just fine.</p>

<p>I've tried to cover some of the issues in detail below:</p>

<h1 align="center">Broken analysis of entropy distribution</h1>

<p>(I know the topic of entropy is rather poorly understood, so here's a couple
 useful pieces of background for kernel folks:</p>

<p> Cryptanalytic Attacks on Pseudorandom Number Generators
 Kelsey, Schneier, Wagner, Hall
 www.counterpane.com/pseudorandom_number.pdf</p>

<p> Cryptographic Randomness from Air Turbulence in Disk Drives
 D. Davis, R. Ihaka, P.R. Fenstermacher
 http://world.std.com/~dtd/random/forward.ps)</p>

<h2 align="center">Mathematically defining entropy</h2>

<p> For a probability distribution P of samples K, the entropy is:</p>

<p>  E = sum (-P(K) * log2 P(K))</p>

<p> For a uniform distribution of n bits of data, the entropy is
 n. Anything other than a uniform distribution has less than n bits of
 entropy.</p>

<h2 align="center">Non-Uniform Distribution Of Timing</h2>

<p> Unfortunately, our sample source is far from uniform. For starters, each
 interrupt has a finite time associated with it - the interrupt latency.
 Back to back interrupts will result in samples that are periodically
 spaced by a fixed interval.</p>

<p> A priori, we might expect a typical interrupt to be a Poisson
 process, resulting in a gamma-like distribution. It would also have
 zero probability up to some minimum latency, have a peak at minimum
 latency representing the likelihood of back-to-back interrupts, a
 smooth hump around the average interrupt rate, and an infinite tail.</p>

<p> Not surprisingly, this distribution has less entropy in it than a
 uniform distribution would. Linux takes the approach of assuming the
 distribution is "scale invariant" (which is true for exponential
 distributions and approximately true for the tails of gamma
 distributions) and that the amount of entropy in a sample is in
 relation to the number of bits in a given interrupt delta.</p>

<p> Assuming the interrupt actually has a nice gamma-like distribution
 (which is unlikely in practice), then this is indeed true. The
 trouble is that Linux assumes that if a delta is 13 bits, it contains
 12 bits of actual entropy. A moment of thought will reveal that
 binary numbers of the form 1xxxx can contain at most 4 bits of
 entropy - it's a tautology that all binary numbers start with 1 when
 you take off the leading zeros. This is actually a degenerate case of
 Benford's Law (http://mathworld.wolfram.com/BenfordsLaw.html), which
 governs the distribution of leading digits in scale invariant
 distributions.</p>

<p> What we're concerned with is the entropy contained in digits
 following the leading 1, which we can derive with a simple extension
 of Benford's Law (and some Python):</p>

<pre>    def entropy(l):
        s=0
        for pk in l:
            if pk: s=s+(-pk*log2(pk))
        return s

    def benford(digit, place=0, base=10):
        if not place:
            s=log(1+1.0/digit)
        else:
            s=0
            for k in range(base**(place-1), (base**place)):
                s=s+log(1+1.0/(k*base+digit))
                print k,s

        return s/log(base)

    for b in range(3,16):
        l=[]
        for k in range(1,(2**(b-1))-1):
            l.append(benford(k,0,2**(b-1)))
        print "%2d %6f" % (b, entropy(l))</pre>

<p> Which gives us:</p>

<p>     3 1.018740<br />
     4 2.314716<br />
     5 3.354736<br />
     6 4.238990<br />
     7 5.032280<br />
     8 5.769212<br />
     9 6.468756<br />
    10 7.141877<br />
    11 7.795288<br />
    12 8.433345<br />
    13 9.059028<br />
    14 9.674477<br />
    15 10.281286</p>

<p> As it turns out, our 13-bit number has at most 9 bits of entropy, and
 as we'll see in a bit, probably significantly less.</p>

<p> All that said, this is easily dealt with by lookup table.</p>

<h1 align="center">Interrupt Timing Independence</h1>

<p> Linux entropy estimate also wrongly assumes independence of different
 interrupt sources. While SMP complicates the matter, this is
 generally not the case. Low-priority interrupts must wait on high
 priority ones and back to back interrupts on shared lines will
 serialize themselves ABABABAB. Further system-wide CLI, cache flushes
 and the like will skew -all- the timings and cause them to bunch up
 in predictable fashion.</p>

<p> Furthermore, all this is observable from userspace in the same way
 that worst-case latency is measured.</p>

<p> To protect against back to back measurements and userspace
 observation, we insist that at least one context switch has occurred
 since we last sampled before we trust a sample.</p>

<h1 align="center">Questionable Sources and Time Scales</h1>

<p> Due to the vagarities of computer architecture, things like keyboard
 and mouse interrupts occur on their respective scanning or serial
 clock edges, and are clocked relatively slowly. Worse, devices like
 USB keyboards, mice, and disks tend to share interrupts and probably
 line up on USB clock boundaries. Even PCI interrupts have a
 granularity on the order of 33MHz (or worse, depending on the
 particular adapter), which when timed by a fast processor's 2GHz
 clock, make the low six bits of timing measurement predictable.</p>

<p> And as far as I can find, no one's tried to make a good model or
 estimate of actual keyboard or mouse entropy. Randomness caused by
 disk drive platter turbulence has actually been measured and is on
 the order of 100bits/minute and is well correlated on timescales of
 seconds - we're likely way overestimating it.</p>

<p> We can deal with this by having each trusted source declare its clock
 resolution and removing extra timing resolution bits when we make samples.</p>

<h1 align="center">Trusting Predictable or Measurable Sources</h1>

<p> What entropy can be measured from disk timings are very often leaked
 by immediately relaying data to web, shell, or X clients.  Further,
 patterns of drive head movement can be remotely controlled by clients
 talking to file and web servers. Thus, while disk timing might be an
 attractive source of entropy, it can't be used in a typical server
 environment without great caution.</p>

<p> Complexity of analyzing timing sources should not be confused with
 unpredictability. Disk caching has no entropy, disk head movement has
 entropy only to the extent that it creates turbulence. Network
 traffic is potentially completely observable.</p>

<p> (Incidentally, tricks like Matt Blaze's truerand clock drift
 technique probably don't work on most PCs these days as the
 "realtime" clock source is often derived directly from the
 bus/PCI/memory/CPU clock.)</p>

<p> If we're careful, we can still use these timings to seed our RNG, as
 long as we don't account them as entropy.</p>

<h1 align="center">Batching</h1>

<p> Samples to be mixed are batched into a 256 element ring
 buffer. Because this ring isn't allowed to wrap, it's dangerous to
 store untrusted samples as they might flood out trusted ones.</p>

<p> We can allow untrusted data to be safely added to the pool by XORing
 new samples in rather than copying and allowing the pool to wrap
 around. As non-random data won't be correlated with random data, this
 mixing won't destroy any entropy.</p>

<h1 align="center">Broken Pool Transfers</h1>

<p> Worst of all, the accounting of entropy transfers between the
 primary and secondary pools has been broken for quite some time and
 produces thousands of bits of entropy out of thin air.</p>

</quote>

<p>Linus Torvalds was skeptical. To Oliver's claim of two to five orders of
magnitude more entropy, Linus replied:</p>

<quote who="Linus Torvalds">

<p>On the other hand, if you are _too_ anal you won't consider _anything_
"truly random", and /dev/random becomes practically useless on things that
don't have special randomness hardware.</p>

<p>To me it sounds from your description that you may well be on the edge
of "too anal". Real life _has_ to be taken into account, and not accepting
entropy because of theoretical issues is _not_ a good idea.</p>

<p>Quite frankly, I'd rather have a usable /dev/random than one that runs
out so quickly that it's unreasonable to use it for things like generating
4096-bit host keys for sshd etc.</p>

<p>In particular, if a machine needs to generate a strong random number,
and /dev/random cannot give that more than once per day because it refuses
to use things like bits from the TSC on network packets, then /dev/random
is no longer practically useful.</p>

<p>Theory is theory, practice is practice. And theory should be used to
_analyze_ practice, but should never EVER be the overriding concern.  </p>

<p>So please also do a writeup on whether your patches are _practical_. I
will not apply them otherwise.</p>

</quote>

<p>Oliver replied, <quote who="Oliver Xymoron">My box has been up for about
the time it's taken to write this email and it's already got a full entropy
pool. A 4096-bit public key has significantly less than that many bits of
entropy in it (primes thin out in approximate proportion to log2(n)).</quote>
He went on:</p>

<quote who="Oliver Xymoron">

<p>Let me clarify that 2-5 orders thing. The kernel trusts about 10 times
as many samples as it should, and overestimates each samples' entropy by
about a factor of 10 (on x86 with TSC) or 1.3 (using 1kHz jiffies).</p>

<p>The 5 orders comes in when the pool is exhausted and the pool xfer function
magically manufactures 1024 bits or more the next time an entropy bit (or
.1 or 0 entropy bits, see above) comes in.</p>

</quote>

<p>He concluded, <quote who="Oliver Xymoron">The patches will be a nuisance
for anyone who's currently using /dev/random to generate session keys on
busy SSL servers. But</quote> [...]  <quote who="Oliver Xymoron">with the
old code, they were fooling themselves anyway. /dev/urandom is appropriate
for such applications, and this patch allows giving it more data without
sacrificing /dev/random.</quote> And he added that only people using
/dev/random to generate session keys on busy SSL servers would find his
patches a nuisance.</p>

<p>Linus took a look at the code, and said, <quote who="Linus Torvalds">No,
it appears to be a nuisanse even for people who have real issues, ie just
generating _occasional_ numbers on machines that just don't happen to run
much user space programs.</quote> He said that Oliver's code threw out a
lot of entropy sources that should have been kept. He spent another twenty
minutes looking at the code and replied to himself, saying:</p>

<quote who="Linus Torvalds">

<p>Hmm.. After more reading, it looks like (if I understood correctly),
that since network activity isn't considered trusted -at-all-, your average
router / firewall / xxx box will not _ever_ get any output from /dev/random
what-so-ever. Quite regardless of the context switch issue, since that
only triggers for trusted sources. So it was even more draconian than I
expected.</p>

<p>Are you seriously trying to say that a TSC running at a gigahertz cannot
be considered to contain any random information just because you think you
can time the network activity so well from the outside?</p>

<p>Oliver, I really think this patch (which otherwise looks perfectly fine)
is just unrealistic. There are _real_ reasons why a firewall box (ie one
that probably comes with a flash memory disk, and runs a small web-server
for configuration) would want to have strong random numbers (exactly for
things like generating host keys when asked to by the sysadmin), yet you
seem to say that such a user would have to use /dev/urandom.</p>

<p>If I read the patch correctly, you give such a box _zero_ "trusted"
sources of randomness, and thus zero bits of information in /dev/random.
It obviously won't have a keyboard or anything like that.</p>

<p>This is ludicrous.</p>

</quote>

<p>Alan Cox interjected:</p>

<quote who="Alan Cox">

<p>The current policy has always been not to trust events that are
precisely externally controllable. Oliver hasn't changed the network
policy there at all.</p>

<p>Its probably true there are low bits of randomness available from such
sources providing we know the machine has a tsc, unless the I/O APIC is
clocked at a divider of the processor clock in which case our current
behaviour is probably much saner.</p>

</quote>

<p>Oliver also replied to Linus, saying Linus' points were not false, but
that anyone who had the problem of zero trusted sources of entropy on their
system with his patch, would have had the same problem before. His patch
only made that explicit. But Linus said:</p>

<quote who="Linus Torvalds">

<p>Be realistic. This is what I ask of you. We want _real_world_ security, not
a completely made-up-example-for-the-NSA-that-is-useless-to-anybody- else.</p>

<p>All your arguments seem to boil down to "people shouldn't use /dev/random
at all, they should use /dev/urandom".</p>

<p>Which is just ridiculous.</p>

</quote>

<p>But elsewhere, he qualified, <quote who="Linus Torvalds">I suspect that
Oliver is 100% correct in that the current code is just _too_ trusting. And
parts of his patches seem to be in the "obviously good" category.</quote></p>

</section>

<section
  title="SCTP Under Linux"
  subject="no subject"
  posts="4"
  startdate="19 Aug 2002 13:29:26 -0800"
  enddate="22 Aug 2002 08:30:15 -0800"
>

<mention>Henning P. Schmiedehausen</mention>

<p>Jack Bloch asked if there were any plans to do an SCTP (Stream
Control Transmission Protocol) implementation as described in <a
href="http://www.faqs.org/rfcs/rfc2960.html">RFC 2960</a> under Linux. David S.
Miller replied, <quote who="David S. Miller">It's done, I'm going to merge it
in the next week or so into 2.5.x Search the list archives for the SCTP project
site as I don't have the URL handy.</quote> Henning P. Schmiedehausen gave
a link to <a href="http://www.sctp.de/">http://www.sctp.de/</a>, and Philipp
Matthias gave a link to the <a href="http://www.sf.net/projects/lksctp">SCTP
project page</a> on Sourceforge.</p>

</section>

<section
  title="Hyperthreading"
  subject="Hyperthreading"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0208.2/0967.html"
  posts="20"
  startdate="21 Aug 2002 03:32:33 -0800"
  enddate="26 Aug 2002 11:00:35 -0800"
>
<topic>Hyperthreading</topic>
<topic>SMP</topic>

<mention>Ingo Molnar</mention>

<p>Timothy A Reed asked what kernel configuration options were needed in order
to make use of hyperthreading. James Bourne replied:</p>

<quote who="James Bourne">

<p>As long as you have a P4 and use the P4 support you will get hyperthreading
with 2.4.19 (CONFIG_MPENTIUM4=y).  2.4.18 you have to also turn it on with
a lilo option of acpismp=force on the kernel command line.</p>

<p>You might want to balance IRQs across the cpus.  Ingo Molnar
has created patches for this, which I've put on my website at <a
href="http://www.hardrock.org/kernel/">http://www.hardrock.org/kernel/</a>.</p>

<p>hyperthreading will give you some performance boostes, but *only* if
you have many runable processes a majority of the time, or very heavily
threaded applications running on the system.  (an example would be running
4 setiathome clients on a dual processor system).</p>

</quote>

<p>Hugh Dickins added, <quote who="Hugh Dickins">You do need CONFIG_SMP and a
processor capable of HyperThreading, i.e. Pentium 4 XEON; but CONFIG_MPENTIUM4
is not necessary for HT, just appropriate to that processor in other
ways.</quote> James said he'd been under the impressiong that the P4 XEON
was the only processor capable of hyperthreading. Kelsey Hudson replied,
<quote who="Kelsey Hudson">This is currently correct, although I believe
Intel has plans to release a Hyperthreading-capable version of its desktop
P4.</quote> There followed some speculation that other processors were capable
of hyperthreading, but had it disabled. Alan Cox remarked at one point:</p>

<quote who="Alan Cox">

<p>If you want to know the full HT capabilities of the processor you need
to read cpuid 1 and check ebx bits 16-23.</p>

<p>There has been some interesting speculation as to whether you can enable
HT by undocumented mtrrs on cpus that have "ht" but claim not to be doing
HT. Clearly the value returned is settable somewhere but I've seen no proof
yet than you can enable HT on non PIV Xeons this way.</p>

</quote>

</section>

<section
  title="ALSA Update For 2.5"
  subject="[PATCH] ALSA 0.9.0rc3"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0208.2/1043.html"
  posts="3"
  startdate="21 Aug 2002 10:21:05 -0800"
  enddate="23 Aug 2002 00:57:15 -0800"
>
<topic>I2C</topic>
<topic>Ioctls</topic>
<topic>PCI</topic>
<topic>SMP</topic>
<topic>Sound: ALSA</topic>
<topic>USB</topic>
<topic>Version Control</topic>

<mention>David S. Miller</mention>

<p>Jaroslav Kysela announced:</p>

<quote who="Jaroslav Kysela">

<p>Linus, please, apply these patches with latest ALSA code to 2.5
tree:</p>

<p>Plain patch:<br />
------------</p>

<p><a href="ftp://ftp.alsa-project.org/pub/kernel-patches/alsa-1.489.1.1.patch.gz">ftp://ftp.alsa-project.org/pub/kernel-patches/alsa-1.489.1.1.patch.gz</a><br />
<a href="ftp://ftp.alsa-project.org/pub/kernel-patches/alsa-1.501.patch.gz">ftp://ftp.alsa-project.org/pub/kernel-patches/alsa-1.501.patch.gz</a></p>

<p>BK send/receive format (including nice per file comments/changelogs):<br />
---------------------------------------------------------------------</p>

<p><a href="ftp://ftp.alsa-project.org/pub/kernel-patches/alsa-1.489.1.1.bk.gz">ftp://ftp.alsa-project.org/pub/kernel-patches/alsa-1.489.1.1.bk.gz</a><br />
<a href="ftp://ftp.alsa-project.org/pub/kernel-patches/alsa-1.501.bk.gz">ftp://ftp.alsa-project.org/pub/kernel-patches/alsa-1.501.bk.gz</a></p>

<p>BK linux-sound repository<br />
-------------------------</p>

<p>bk pull <a href="http://linux-sound.bkbits.net/main">http://linux-sound.bkbits.net/main</a></p>

<p>ChangeSets: 1.489.1.1 and 1.501</p>

<p>Web: <a href="http://linux-sound.bkbits.net">http://linux-sound.bkbits.net</a></p>

<p>Description:
------------</p>

<p>ALSA 0.9.0rc3 release</p>

<pre>* fixes for x86-64
* fixed ioctl32 wrapper
* removed compatibility __NO_VERSION__ defines
* C99-like structure initializers for all code
* Control interface
  - fixed read() behaviour
* PCM interface
  - added support for more PCM formats (up to 512)
    - added 24-bit formats for USB audio
  - removed drain call from the snd_pcm_close() function, data are
    always dropped
  - added support for Scatter-Gather DMA
  - added SBUS DMA support by David S. Miller &lt;davem@redhat.com&gt;
* Timer interface
  - fixed kmod behaviour for system timers
  - fixed read() behaviour
* RawMidi interface
  - fixed read() behaviour
* Sequencer interface
  - reset the timer at continue if not initialized yet
  - check the possible infinite loop in priority queues
  - fixed deadlock at snd_seq_timer_start/stop
* intel8x0 driver
  - fixed pci id of AMD8111
* via686 driver
  - added Scatter-Gather DMA support
  - fixes in AC97 codec initialization
* opti92x/93x driver
  - overall fixes
* via8233 driver
  - fixed playback of mono samples
  - added Scatter-Gather DMA support
* EMU10K1/Audigy driver
  - added Scatter-Gather DMA support for playback
  - added workaround for capture (ring buffer pointer)
* NM256 driver
  - fixed the lock up on NM256 ZX (Dell Latitude Cpt)
* CS46xx driver
  - added support for new DSP images
  - experimental rear and SPDIF outputs
* added snd-usbaudio and snd-usbmidi driver
* ymfpci driver
  - fixed GPIO read/write
  - added snd_rear_switch option
* ice1712 driver
* fixed SMP dead-lock (CS8427 I2C code)
* HDSP driver
  - overall code improvement
* CS4236 driver
  - new ISA PnP ID
* CS4281 driver
  - added the power management code
* PPC Keywest
  - fixed the initialization of driver
* serial-u16550
  - added support for generic adapter
* renamed dt0197h -> dt019x driver
* ac97 code
  - added VIA and Conexant codecs
  - added AD1981A codec from Analog Devices
  - added the ids for ITE chips
  - separated codec specific initialization</pre>

</quote>

<p>Christoph Hellwig asked, <quote who="Christoph Hellwig">Any chance
you could stop that BK megachangeset and instead do one changeset per cvs
commit?</quote> Jaroslav replied, <quote who="Jaroslav Kysela">I'll do more
frequent syncing with the kernel tree in the future (I assume per week),
but creating changesets per CVS commit is too overkill from the maintaince
view. Everybody interested in ALSA development might watch our CVSLOG mailing
list (archived) or use our CVS.</quote></p>

</section>

<section
  title="Preventing Multiple Oopsen From Overwriting Each Others"
  subject="[PATCH] printk simultaneous oops disentangling"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0208.2/1154.html"
  posts="3"
  startdate="22 Aug 2002 04:09:18 -0800"
  enddate="22 Aug 2002 07:57:29 -0800"
>
<topic>SMP</topic>

<p>David Howells posted a patch and said, <quote who="David Howells">Here's a
patch to stop multiple simultaneous oopses on an SMP system from interleaving
with and overwriting bits of each other. It only permits lock breaking if
the printk lock is held by the same CPU.</quote> Benjamin LaHaise objected,
<quote who="Benjamin LaHaise">This is still wrong.  It should attempt to
acquire the locks with a timeout before trampling on them, as there may
be a printk or other console output in progress on the other cpu.</quote>
But he thought better of it a few minutes later, and said instead, <quote
who="Benjamin LaHaise">The patch is actually right, but bust_spinlocks still
blindly stops on locks that may not need to be stomped on.</quote></p>

</section>

<section
  title="First-Come-First-Served Locking For POSIX And Flock Locks"
  subject="[PATCH] An option to make fcntl &amp; flock locks fair"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0208.2/1164.html"
  posts="1"
  startdate="22 Aug 2002 06:18:48 -0800"
>
<topic>POSIX</topic>

<mention>Shlomi Fish</mention>

<p>Matthew Wilcox posted a patch and explained, <quote who="Matthew
Wilcox">Shlomi Fish asked about including first-come, first-served style
locking for posix and flock locks.  After some back-and-forth, we came up
with the following patch which seems unintrusive enough to bother including.
Personally, I doubt the utility of this, but someone might have an application
for it, and the code's already written.</quote></p>

</section>

<section
  title="Header Files Touched During Compilation"
  subject="is kernel compilation supposed to change header file timestamps?"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0208.2/1187.html"
  posts="3"
  startdate="22 Aug 2002 08:41:19 -0800"
  enddate="22 Aug 2002 09:31:56 -0800"
>
<topic>Kernel Build System</topic>

<p>Chris Friesen said, <quote who="Chris Friesen">I noticed the other day that
on a kernel compile, the timestamps of some files are changed.  The funny thing
is that all the changed ones are header files, but not all header files are
modified.  Is this expected behaviour?</quote> Sam Ravnborg replied, <quote
who="Sam Ravnborg">I assume you are compiling a 2.4 kernel, in which case
this is expected behaviour.  For the 2.5 kernel kbuild has been changed such
that header files are no longer 'touched' during the compile process.</quote>
And George Anzinger added that in the 2.4 case, <quote who="George Anzinger">it
has to do with how dependencies are propagated from header file to header file
(i.e. where a header file includes another).</quote></p>

</section>

<section
  title="Serial Driver Maintainership And Status"
  subject="serial driver maintaner"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0208.2/1274.html"
  posts="2"
  startdate="22 Aug 2002 15:15:19 -0800"
  enddate="23 Aug 2002 05:23:48 -0800"
>
<topic>Maintainership</topic>

<mention>Russell King</mention>

<p>Someone asked about the serial driver. The maintainer hadn't updated the
web page in a long time, and the poster had some hardware he/she wanted to
support. But he/she didn't want to do the work unless there was some chance
it might be accepted into the driver. Without a maintainer, that looked
doubtful. Stuart MacDonald replied, <quote who="Stuart MacDonald">Ted doesn't
seem to be maintaining it anymore. If you look in the linux-kernel archive
you'll find that Russell King is doing a rewrite for 2.5/6 anyway.</quote>
He added, <quote who="Stuart MacDonald">Update the driver, make a patch and
send it to the list. If it's good likely it will be included.  You may want
to check out linux-serial also.</quote></p>

</section>

<section
  title="Relaxing ext3 Error Handling To Avoid False Positives"
  subject="[Patch 1/2] 2.4.20-pre4/ext3: Handle dirty buffers encountered unexpectedly."
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0208.2/1275.html"
  posts="3"
  startdate="22 Aug 2002 15:19:36 -0800"
  enddate="23 Aug 2002 02:10:58 -0800"
>
<topic>Bug Tracking</topic>
<topic>FS: ext3</topic>

<p>Stephen Tweedie posted a patch and explained:</p>

<quote who="Stephen Tweedie">

<p>Ext3's internal debugging has always assumed that it was illegal for
there to be parallel IO on a buffer-head which it is trying to modify.
That's reasonable --- if there is an IO collision, we end up with IOs hitting
disk out-of-order wrt the journal, so we lose recovery guarantees.</p>

<p>However, there are two cases where the test is a little over-zealous.
If user space is performing inherently non-transactional writes (eg. tune2fs
adding a label to a live filesystem and writing to the buffered device
superblock location) then we can hit the ext3 assertion.</p>

<p>More seriously, since 2.4.11 the page cache can lock a buffer_head for
read even if the bh is already under journal control.  The tune2fs bug is
very rare: there have been no reports of it in Bugzilla or ext3-users lists,
and only one on 2.5 on linux-kernel.  But now, a dump(8) on a live filesystem
can also give rise to the same condition, and in testing, dump + fs activity
reproduces the assertion-failure VERY rapidly.</p>

<p>This patch changes the jbd get-write-access code to take the buffer_head
lock before testing the uptodate and dirty state of a bh, and relaxes the
handling of unexpectedly-dirty buffers to be a printk warning, not a fatal
error.  The lock will cure the dump(8) interaction, and the warning means
that we will still spot out-of-order writes, while not taking the whole
kernel down if we collide with a tune2fs(8).</p>

<p>The patch also removes a small potential hole in the recovery guarantees.
It is not safe for a transaction to steal buffers from checkpoint mode
until after that transaction has committed.  Otherwise, a reboot at the
wrong moment might find the old copy of the buffer in the journal had been
removed from the recovery set before the new copy was written.</p>

</quote>

</section>

<section
  title="New IPMI Driver For 2.4 And 2.5"
  subject="[patch] New version of IPMI driver"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0208.2/1290.html"
  posts="1"
  startdate="22 Aug 2002 18:32:42 -0800"
>

<p>Corey Minyard announced:</p>

<quote who="Corey Minyard">

<p>I've split up the driver, creating working 2.4.19 and 2.5.31 versions
of the driver (and even tested them!) and split the emulation code into a
separate patch.</p>

<p>I also noticed that 2.5.31 timer interrupts occur at 1ms instead of 10ms,
so it should provide acceptable speed without high-res timers.  2.4 without
high-res timers or interrupts will still be very slow.</p>

<p>I have not yet tested interrupts, because I don't have a card that supports
them (it's on its way).  However, that's pretty straightforward.</p>

<p>The web page is <a
href="http://home.attbi.com/~minyard">http://home.attbi.com/~minyard</a></p>

<p>Please, try it out and tell me what you think.  Again, I'm shooting for
getting this in the mainstream kernel.</p>

</quote>

</section>

<section
  title="Submitting Documentation Patches"
  subject="Documentation Maintainer"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0208.2/1359.html"
  posts="5"
  startdate="23 Aug 2002 04:14:04 -0800"
  enddate="23 Aug 2002 09:19:01 -0800"
>
<topic>FS</topic>

<mention>Alexander Viro</mention>

<p>Vincent Hanquez wanted to submit a documentation patch for some filesystem
code, and asked who the current maintainer was. Alan Cox said, <quote
who="Alan Cox">Generally the maintainer of the code the documentation covers,
or the author on the file. If you aren't sure send it to the list.</quote>
Someone else said that for filesystem docs, Alexander Viro was the place to
send patches.</p>

</section>

<section
  title="Status Of DRM Driver In 2.4 And 2.5"
  subject="[PATCH] Intel 830m backport (2.5 -&gt; 2.4)"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0208.2/1377.html"
  posts="5"
  startdate="23 Aug 2002 05:32:28 -0800"
  enddate="23 Aug 2002 08:08:17 -0800"
>
<topic>Virtual Memory</topic>

<mention>Marcelo Tosatti</mention>
<mention>Alan Cox</mention>
<mention>Rik van Riel</mention>

<p>Federico Di Gregorio posted a patch and announced:</p>

<quote who="Federico Di Gregorio">

<p>this is my first try at a kernel patch, i hope i am doing everything right;
if not, please just tell me. (i sent this patch to both the drm maintainer and
the linux-kernel ML. should i send 2.4 patches directly to marcelo? mm..)</p>

<p>anyway, this is just a backport of the 2.5 DRM driver for Intel 830M to
the 2.4 series. It is against 2.4.19 but, consisting only of added files
it should work clean on later kernels (tested on 2.4.20pre). The patch is
quite big (67252 bytes) and can be downloaded from:</p>

<p><a
href="http://people.initd.org/fog/linux-2.4.19-i830.diff">http://people.initd.org/fog/linux-2.4.19-i830.diff</a></p>

</quote>

<p>But Christoph Hellwig said:</p>

<quote who="Christoph Hellwig">

<p>Please don't do this.  The 2.5 drm code is a piece of shit and even
crappier than the one in 2.4.</p>

<p>Alan, is there any chance you could send marcelo the -ac drm code?</p>

</quote>

<p>Alan Cox invited Christoph to untangle the drm code from its rmap macro
dependencies and send it to Marcelo Tosatti himself. But Rik van Riel said that
those dependencies had been merged into 2.4 months before. Christoph said:</p>

<quote who="Christoph Hellwig">

<p>I've uploaded a patch that updates the mainline drm code to -ac, fixes
all compiler warnings and removes the remaining LINUX_VERSION_CODE checks
after most have already been removed in -ac.</p>

<p>It's at <a
href="http://verein.lst.de/~hch/misc/linux-2.4.20-pre4-drm.patch">http://verein.lst.de/~hch/misc/linux-2.4.20-pre4-drm.patch</a></p>

</quote>

</section>

<section
  title="BitKeeper License Change"
  subject="RFC: BK license change"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0208.2/1478.html"
  posts="4"
  startdate="23 Aug 2002 16:39:35 -0800"
  enddate="24 Aug 2002 07:11:41 -0800"
>
<topic>Patents</topic>
<topic>Version Control</topic>

<p>Larry McVoy announced:</p>

<quote who="Larry McVoy">

<p>No, we're not GPLing it but we are making a few adjustments and wanted
to make sure that it was an improvement, not a regression, in the eyes of
the free users.  Sorry for the intrusion, I'll be as brief as possible.</p>

<p>You can read the new license at <a
href="http://www.bitkeeper.com/bkl.txt">http://www.bitkeeper.com/bkl.txt</a>
but I'll summarize the changes here.</p>

<blockquote>

<p>3(a) Propagation to openlogging.org.  The old license insisted that
     you log your changes within 7 days; several people pointed out that
     they are spending their dotcom dollars sitting on an island hacking the
     kernel and they may not have connectivity every 7 days.  Or something.
     We upped the limit to 21 days, that should be enough, I have to believe
     that you check your mail every three weeks if you are doing work.</p>

<p>3(c) Maintaining Open Source.  Our intent was that the free use of
     BitKeeper was for the purpose of helping the open source community;
     it was not to provide commercial users a free product.  We have had
     a number of cases where managers up to VPs have told their engineers
     "just don't put anything useful in the checkin comments and then we can
     use it for free".  Not what we had in mind.  So we're adding a clause
     which says that we reserve the right to insist that you make your
     repositories available on a public port within 15 days of the request.</p>

<p>     We understand that lots of legit open source users have very good
     reasons for not wanting their changes made public, e.g., they are working
     on a security fix.  We are absolutely not going to ask these sorts of
     repositories be forced out in the open and if you are concerned about
     that we can work out some sort of written agreement to that effect.
     We're very much committed to supporting open source development, in
     particular the Linux kernel and even more specifically Linus, he's a
     critical resource.</p>

<p>     The only people we're going after are those people who are clearly
     not part of the open source community.  We thought about saying we
     would only enforce this if they were working on source which did not
     have an open source license and rejected it for the following reason:
     there are commercial companies working on open source, using BitKeeper
     to do so, and not sharing their changes for as long as they can to get a
     competitive edge in the marketplace.  There is nothing wrong with that
     under the terms of the GPL, but we don't have to support what we view
     as commercial activity for free.  Open means open, it's about sharing,
     not money, in our opinion.</p>

<p>     It's a hard nut to crack, you can't just say "it's free if you are
     doing everything out in the open" because there are legit reasons
     for hiding.  There also commercial reasons for hiding and our view is
     that if that is what you are doing, you should be paying for the tools.
     BK is free as a way to help people help each other.</p>

<p>4.4. Remove the $20,000 support clause.  We had a clause that said that we
     could shut you down if you cost us more than $20K in support.  This was
     a widely hated clause and we're aware of that.  It was there as a way to
     try and shut down those people who were really commercial.  Since the
     previous change will effectively do that, we don't need this clause.
     That removes the fear that we'll shut down bkbits or the kernel's use
     of BK.</p>

</blockquote>

<p>That's it on the licensing stuff.  Since I'm here, here's some BK
status.</p>

<p>We're in discussions with a very Linux friendly hosting service (4000
Linux servers hosted) to move bkbits.net and openlogging.org to their site
in exchange for BK licenses.  This should make the bkbits.net service have
more bandwidth and the benefit of a an extremely well connected and well run
hosting environment.  We don't need the bandwidth, BK is super stingy with
bandwidth, but it's cool to have bkbits.net in an air conditioned, UPSed,
multi peered environment instead of my office.  We're psyched about this,
it's a good thing.</p>

<p>We're working on closing the first commercial deal which we can tie to the
use of BK by the kernel team.  If this actually happens, I'm going to take
$25K of the deal and "give" it to Linus as "BK bucks" which he can spend.
What means is that he has $25K to spend on BK features that he wants.
This is above and beyond stuff that we're doing already, it's a way to give
him the power to insist that we do some work that we wouldn't do otherwise.
In general, we'd like to make a policy of doing this sort of thing.  To date,
we can't credit the open source use of BK with any commercial business.
If that changes, that's good for us but it should also be good for the
kernel.</p>

</quote>

<p>David Parsons said of item 3(c), <quote who="David Parsons">This addendum
is somewhat [1] annoying, because I switched over to BK for _everything_
a couple of years ago and now I've got a moderately large body of stuff that
is NOT open source (my resume, my dns, little proofs of concept projects that
I did for people.  I've not made one red penny off any of this [particularly
since the economy has gone south and put me out of work for the past year.
But I'm still not opensourcing my resume.]) that's under bitkeeper.  If I
upgrade to a bk that uses the new license, then I get to play the exciting
game of ``break the new license and defraud my former employers'' [2], which
is about as appealing as Linus's alternative approach to resolving software
patent issues.</quote></p>

<p>Sam Ravnborg had no comments about the license change, but did say:</p>

<quote who="Sam Ravnborg">

<p>I have a feature request.  The view of changesets on bkbits is usefull,
but the sorting does not give the full picture.</p>

<p>Follow this example:<br />
bk pull http://linux.bkbits.net/linux-2.5</p>

<p>

<ul>

<li>Do some editing</li>

<li>Check in changes</li>

<li>Test the changes a few days</li>

<li>Submit the cset(s) to Linus</li>

</ul>

</p>

<p>Linus do a bk pull from my repository</p>

<p>When accessing bkbits via the web interface, the canges are listed sorted
after the time I did the modifications, not when Linus actually did the bk
pull, so they may be preceeded by maybe 100 cset's.</p>

<p>Is it possible somehow to sort the cset(s) according to the time they were
applied to the local tree, and not when they were originally committed?</p>

</quote>

<p>Larry replied:</p>

<quote who="Larry McVoy">

<p>If this is a correct statement of what you want, we're building it:</p>

<blockquote>

<p>    Instead of seeing events in time order of creation, you want to
    see the events in order of arrival in a particular repository.</p>

</blockquote>

<p>I agree that the current view is useless when what you want to know is
when did this change finally make it into the tree?</p>

<p>We're working on a "stack" of incoming events.  BK/Web will use this to
give you the display you want and bk undo will be able to use this to
roll your repository backwards by "popping" the stack.  You could do</p>

<pre>        while true
        do      bk undo -sf
        done</pre>

<p>and when it gets done, you'll have no repository, it will have popped it  
away.  bk unpull will just be come a special case of popping the stack.</p>

</quote>

</section>

<section
  title="Some Benchmarks From 2.4 And 2.5"
  subject="dbench test"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0208.3/0085.html"
  posts="1"
  startdate="24 Aug 2002 11:16:28 -0800"
>

<p>Paolo Ciarrocchi reported:</p>

<quote who="Paolo Ciarrocchi">

<p>I've just ran a few test "dbench" based against:</p>

<p>

<ul>

<li>2.4.18</li>
<li>2.4.18 + compressed cache -0.24pre3</li>
<li>2.4.19</li>
<li>2.5.31</li>

</ul>

</p>

<p>Ok, I know that dbench is not a "good" test,  
but it should be at least a good stress test.   
I got neither oops nor BUG().</p>

<p>Each test has been ran twice.
Here it goes the results:</p>

<pre>2.4.18
Istances Throughput
8        25.1022
16       20.3833
24       18.0078
32       13.6657

2.4.18 -0.24pre3 (64MiB of cc)
Istances Throughput
8        28.5116
16       27.5003
24       24.6963
32       16.423

2.4.19
Istances Throughput
8        25.5343
16       20.7133
24       16.2473
32       14.2351

2.5.31
Istances Throughput
8        30.6827
16       18.2236
24       14.6759
32       12.7659</pre>

</quote>

</section>

<section
  title="Status Of khttpd In 2.4 And 2.5"
  subject="[PATCH] khttpd crash fix, take 3"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0208.3/0233.html"
  posts="3"
  startdate="25 Aug 2002 19:29:08 -0800"
  enddate="26 Aug 2002 03:21:55 -0800"
>
<topic>Web Servers</topic>

<mention>Alan Cox</mention>

<p>Dan Kegel posted a patch against 2.4 and said:</p>

<quote who="Dan Kegel">

<p>Alan Cox accepted my recent patch to fix a checker warning in khttpd,
but not my earlier patch to fix an oops in khttpd.</p>

<p>That earlier patch must have hit some bogon filter... hmm.  Yes.
It contained extraneous whitespace and style changes, was complex, and
had a poor description.  So, here's a cleaner one with a better description.</p>

<p>This patch fixes four problems in khttpd:</p>

<p>

<ol>

<li>An oops in DecodeHeader where Buffer[CPUNR] is NULL, happened whenever a
worker thread was restarted after being stopped.  (The worker thread frees
its buffer on exit, but the manager thread neglected to allocate a buffer
for the worker thread when restarting it.)</li>

<li>A bug that caused worker threads to be spuriously restarted once on
startup (this made the previous bug much worse).</li>

<li>The end-user had to do a "sleep 1" after stopping the daemon before
restarting it.  This was not documented, and was rather confusing.</li>

<li>There was no entry in /usr/src/linux/Documentation for khttpd, and
beginning users sometimes could not find the documentation.</li>

</ol>

</p>

<p>(An earlier version that fixes only the first two is at <a
href="http://marc.theaimsgroup.com/?l=linux-kernel&amp;m=102068445316516&amp;w=2">http://marc.theaimsgroup.com/?l=linux-kernel&amp;m=102068445316516&amp;w=2</a>
) I can separate this patch into three or four pieces if need be.</p>

<p>Please let me know if this patch gets blocked by any bogon filters...</p>

</quote>

<p>Christoph Hellwig asked, <quote who="Christoph Hellwig">BTW: would you
step up as khttpd maintainer? It seems no ones else cares for it and it's
always good to have someone to drop patches/complaints at,</quote> but there
was no reply. Elsewhere in the midst of a different thread under the Subject:
<a href="">Linux 2.4.20-pre4-ac2</a>, Christoph remarked, <quote who="Christoph
Hellwig">khttpd is gone in 2.5</quote>.</p>

</section>

<section
  title="Enhancements To md Multipath In 2.4"
  subject="[PATCH] Enhancement to md multipath in 2.4"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0208.3/0276.html"
  posts="1"
  startdate="26 Aug 2002 04:06:07 -0800"
>
<topic>Disk Arrays: RAID</topic>
<topic>Ioctls</topic>

<mention>Jens Axboe</mention>

<p>Lars Marowsky-Bree posted a patch and announced:</p>

<quote who="Lars Marowsky-Bree">

<p>Jens Axboe did most of the work on this; I only stressed it a bit and fixed
some bugs in it. As he is currently on vacation, I would still like to present
it to you and solicit comments on it.</p>

<p>It compiles and passes my test script, so it can't be all wrong, I hope ;-) It
certainly isn't worse than the current code.</p>

<p>I've also done a small patch to mdadm to allow access to the new functionality
provided.</p>

<p>The enhancements include:</p>

<p>

<ul>

<li>Read &amp; write balancing with front and tail merging of requests,
otherwise picks least used path. (Done by Jens)</li>

<li>Paths can be set to either active or spare; a spare path will be used
in place of a failed active path but otherwise be disabled.</li>

<li>

<p>A path can be manually "cleared" (marked non-faulty). This is explicitly
only implemented for multipathing because it makes no sense for the other
RAID levels where this is definetely the job of the recovery process.</p>

<p>Automatic reprobing of failed paths was deliberately not implemented; this
can be done in user space, and the kernel shouldn't use live requests to do
so.</p>

</li>

<li>Some special cases in md.c for multipath were removed / fixed.</li>

<li>md will now enable all paths it finds during autorun. This leads to
"funny" messages ("Device changed to [07:04] from [00:00]" etc), but they
can be safely ignored.</li>

<li>

<p>Nested md devices are now also auto-detected; important for RAID1 on top of   
multipath for example, required for a true disaster resilient configuration.
However, this isn't yet working perfectly and is subject to ongoing work
;-)</p>

<p>(If anyone has hints here, I would be grateful)</p>

</li>

<li>Killed some code which made no sense for the multipath module; ie,
code related to the md recovery.</li>

<li>The downside: We needed to add 3 additional ioctl()s for this.</li>

</ul>

</p>

<p>Patch attached.</p>

<p>Of course, this is still subject to the general comments about the block
device error handling in 2.4.</p>

</quote>

</section>

<section
  title="Allow Loop Devices To Fail On Demand In 2.4"
  subject="[PATCH] loop device failing on demand (2.4)"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0208.3/0274.html"
  posts="1"
  startdate="26 Aug 2002 04:06:42 -0800"
>

<mention>Jens Axboe</mention>

<p>Lars Marowsky-Bree posted a patch and said:</p>

<quote who="Lars Marowsky-Bree">

<p>The attached small patch allows to "fail" a loop device on demand. Any
further request to the loop device will simply fail.</p>

<p>Even though it of course doesn't simulate the failures one might see
in the field, it is kind of handy for automated tests, for example for
multipath I/O.</p>

<p>Done by Jens Axboe. The reason why I am sending it: I need it most and
he is on vacation.</p>

</quote>

</section>

<section
  title="Status Of Tux2"
  subject="TUX2 fiulesystem"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0208.3/0332.html"
  posts="7"
  startdate="26 Aug 2002 09:40:09 -0800"
  enddate="28 Aug 2002 15:14:48 -0800"
>
<topic>FS</topic>
<topic>Patents</topic>
<topic>Web Servers</topic>

<p>Frederic Roussel asked:</p>

<quote who="Frederic Roussel">

<p>Mr Daniel Phillips started the TUX2 filesystem project some time ago.
The links to `tux2' are either dead or quite old.</p>

<p>Does any kernel developer know about the status of that project ?</p>

</quote>

<p>Daniel Phillips replied:</p>

<quote who="Daniel Phillips">

<p>It's well down my list of priorities because of uncertainties due to
the U.S. patent system.</p>

<p>Does anybody want to know if patent chill exists, and is it hurting
open source?  The answer is yes.</p>

</quote>

<p>Someone asked what the patent issues were surrounding Tux2, and Hank
Leininger replied:</p>

<quote who="Hank Leininger">

<p>I'm guessing Daniel is referring to NetApp/WAFL issues.  NetApp's WAFL
filesystem (IIRC) implements something which is kinda sorta if-you-squint-
your-eyes philosophically similar to tux2's phase tree.  Only</p>

<p>

<ol>

<li>It isn't *really* all that similar</li>
<li>Daniel has prior art going back to the 1980's   </li>
<li>NetApp has more lawyers on staff than Daniel does</li>

</ol>

</p>

<p>Daniel, did I get it vaguely right?</p>

</quote>

<p>Daniel Phillips replied, <quote who="Daniel Phillips">That about sums
it up.</quote></p>

</section>

<section
  title="Hotplug Scripts Updated"
  subject="[ANNOUNCE] 2002-08-26 release of hotplug scripts"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0208.3/0338.html"
  posts="2"
  startdate="26 Aug 2002 10:07:30 -0800"
  enddate="26 Aug 2002 10:52:58 -0800"
>
<topic>Disks: SCSI</topic>
<topic>Hot-Plugging</topic>
<topic>USB</topic>
<topic>Virtual Memory</topic>

<mention>David Brownell</mention>

<p>Greg KH announced:</p>

<quote who="Greg KH">

<p>I've just packaged up the latest Linux hotplug scripts into a release,
which can be found at:</p>

<p><a
href="http://sourceforge.net/project/showfiles.php?group_id=17679">http://sourceforge.net/project/showfiles.php?group_id=17679</a></p>

<p>Or from your favorite kernel.org mirror at:</p>

<p><a
href="ftp://ftp.us.kernel.org/pub/linux/utils/kernel/hotplug/hotplug-2002_08-26.tar.gz">kernel.org/pub/linux/utils/kernel/hotplug/hotplug-2002_08-26.tar.gz</a></p>

<p>I've also packaged up a Red Hat 7.3 based rpm:</p>

<p><a
href="ftp://ftp.us.kernel.org/pub/linux/utils/kernel/hotplug/hotplug-2002_08-26-1.noarch.rpm">kernel.org/pub/linux/utils/kernel/hotplug/hotplug-2002_08-26-1.noarch.rpm</a></p>

<p>The source rpm is available if you want to rebuild it for other distros
at:</p>

<p><a
href="ftp://ftp.us.kernel.org/pub/linux/utils/kernel/hotplug/hotplug-2002_08_26-1.src.rpm">kernel.org/pub/linux/utils/kernel/hotplug/hotplug-2002_08_26-1.src.rpm</a></p>

<p>The main web site for the linux-hotplug project can be found at:</p>

<p><a href="http://linux-hotplug.sf.net/">http://linux-hotplug.sf.net/</a></p>

<p>which contains lots of documentation on the whole linux-hotplug process.
There are also links to kernel patches, not currently in the main kernel
tree, that provide hotplug functionality to new subsystems (like CPU, SCSI,
Memory, etc.)</p>

<p>The main changes in this release are the following:</p>

<p>

<ul>

<li>fix for USB hotplugging to search /etc/hotplug/usb/*.usermap</li>

</ul>

</p>

<p>Here's the changes (and who made them) from the last release:</p>

<blockquote>

<p>    Changes from David Brownell</p>

<p>

<ul>

<li>load_drivers(): variables are local, and doesn't try
usbmodules unless the $DEVICE file exists (it'd fail)</li>

<li>update hotplug.8 manpage to mention Max'patch</li>

<li>patch from Max Krasnyanskiy, now  usb hotplugging also
searches /etc/hotplug/usb/*.usermap</li>

</ul>

</p>

<p>   Changes from Fumitoshi UKAI</p>

<p>

<ul>

<li>etc/hotplug/hotplug.functions: grep -q redirect to /dev/null
closes: debian Bug#145484</li>

</ul>

</p>

</blockquote>

</quote>

</section>

<section
  title="Hyperthreading In 2.5"
  subject="[patch] &quot;fully HT-aware scheduler&quot; support, 2.5.31-BK-curr"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0208.3/0449.html"
  posts="4"
  startdate="26 Aug 2002 17:44:23 -0800"
  enddate="28 Aug 2002 17:28:16 -0800"
>
<topic>Hyperthreading</topic>
<topic>SMP</topic>
<topic>Version Control</topic>

<mention>Jun Nakajima</mention>
<mention>Linus Torvalds</mention>

<p>Ingo Molnar posted a patch and announced:</p>

<quote who="Ingo Molnar">

<p>symmetric multithreading (hyperthreading) is an interesting new concept
that IMO deserves full scheduler support. Physical CPUs can have multiple
(typically 2) logical CPUs embedded, and can run multiple tasks 'in parallel'
by utilizing fast hardware-based context-switching between the two register
sets upon things like cache-misses or special instructions.  To the OSs the
logical CPUs are almost undistinguishable from physical CPUs. In fact the
current scheduler treats each logical CPU as a separate physical CPU - which
works but does not maximize multiprocessing performance on SMT/HT boxes.</p>

<p>The following properties have to be provided by a scheduler that wants
to be 'fully HT-aware':</p>

<p>

<ul>

<li>

<p>HT-aware passive load-balancing: the irq-driven balancing has to be
per-physical-CPU, not per-logical-CPU.</p>

<p>Otherwise it might happen that one physical CPU runs 2 tasks, while another
physical CPU runs no threads. The stock scheduler does not recognize
this condition as 'imbalance' - to the scheduler it appears as if the
first two CPUs had 1-1 task running, the second two CPUs had 0-0 tasks
running. The stock scheduler does not realize that the two logical CPUs
belong to the same physical CPU.</p>

</li>

<li>

<p>'active' load-balancing when a logical CPU goes idle and thus causes a
physical CPU imbalance.</p>

<p>This is a mechanism that simply does not exist in the stock 1:1
scheduler - the imbalance caused by an idle CPU can be solved via the normal
load-balancer. In the HT case the situation is special because the source
physical CPU might have just two tasks running, both runnable - this is a
situation that the stock load-balancer is unable to handle - running tasks are
hard to be migrated away. But it's essential to do this - otherwise a physical
CPU can get stuck running 2 tasks, while another physical CPU stays idle.</p>

</li>

<li>

<p>HT-aware task pickup.</p>

<p>When the scheduler picks a new task, it should prefer all tasks that
share the same physical CPU - before trying to pull in tasks from other
CPUs. The stock scheduler only picked tasks that were scheduled to that
particular logical CPU.</p>

</li>

<li>

<p>HT-aware affinity.</p>

<p>Tasks should attempt to 'stick' to physical CPUs, not logical CPUs.</p>

</li>

<li>

<p>HT-aware wakeup.</p>

<p>again this is something completely new - the stock scheduler only knows
about the 'current' CPU, it does not know about any sibling [== logical CPUs
on the same physical CPU] logical CPUs. On HT, if a thread is woken up on a
logical CPU that is already executing a task, and if a sibling CPU is idle,
then the sibling CPU has to be woken up and has to execute the newly woken
up task immediately.</p>

</li>

</ul>

</p>

<p>the attached patch (against 2.5.31-BK-curr) implements all the above
HT-scheduling needs by introducing the concept of a shared runqueue:
multiple CPUs can share the same runqueue. A shared, per-physical-CPU
runqueue magically fulfills all the above HT-scheduling needs. Obviously
this complicates scheduling and load-balancing somewhat (see the patch for
details), so great care has been taken to not impact the non-HT schedulers
(SMP, UP). In fact the SMP scheduler is a compile-time special case of the
HT scheduler. (and the UP scheduler is a compile-time special case of the
SMP scheduler)</p>

<p>the patch is based on Jun Nakajima's prototyping work - the lowlevel
x86/Intel bits are still those from Jun, the sched.c bits are newly implemented
and generalized.</p>

<p>There's a single flexible interface for lowlevel boot code to set
up physical CPUs: sched_map_runqueue(cpu1, cpu2) maps cpu2 into cpu1's
runqueue. The patch also implements the lowlevel bits for P4 HT boxes for
the 2/package case.</p>

<p>(NUMA systems which have tightly coupled CPUs with a smaller cache and
protected by a large L3 cache might benefit from sharing the runqueue as
well - but the target for this concept is SMT.)</p>

<p>some numbers:</p>

<p>compiling a standalone floppy.c in an infinite loop takes 2.55 seconds
per iteration. Starting up two such loops in parallel, on a 2-physical,
2-logical (total of 4 logical CPUs) P4 HT box gives the following numbers:</p>

<p>  2.5.31-BK-curr:     - fluctuates between 2.60 secs and 4.6 seconds.</p>

<p>  BK-curr + sched-F3: - stable 2.60 sec results.</p>

<p>the results under the stock scheduler depends on pure luck: which CPUs
get the tasks scheduled. In the HT-aware case each task gets scheduled on
a separate physical CPU, all the time.</p>

<p>compiling the kernel source via "make -j2" [under-utilizes CPUs]:</p>

<p>  2.5.31-BK-curr:              45.3 sec</p>

<p>  BK-curr + sched-F3:          41.3 sec</p>

<p>ie. a ~10% improvement. The tests were the best results picked from lots of
(&gt;10) runs. The no-HT numbers fluctuate much more (again the randomness
effect), so the average compilation time in the no-HT case is higher.</p>

<p>saturated compilation "make -j5" results are roughly equivalent, as
expected - the one-runqueue-per-CPU concept works adequately when the number
of tasks is larger than the number of logical CPUs. The stock scheduler works
well on HT boxes in the boundary conditions: when there's 1 task running,
and when there's more nr_cpus tasks running.</p>

<p>the patch also unifies some of the other code and removes a few more
#ifdef CONFIG_SMP branches from the scheduler proper.</p>

<p>(the patch compiles/boots/works just fine on UP and SMP as well, on the
P4 box and on another PIII SMP box as well.)</p>

</quote>

<p>Rusty Russell was happy to see this, as it meant he wouldn't have to
do the implementation himself. But for Ingo's statement that "Tasks should
attempt to 'stick' to physical CPUs, not logical CPUs," Rusty replied:</p>

<quote who="Rusty Russell">

<p>Linus disagreed with this before when I discussed it with him, and with
the current (stupid, non-portable, broken) set_affinity syscall he's right.</p>

<p>You don't know if someone said "schedule me on cpu 0" because they really
want to be scheduled on CPU 0, or because they really *don't* want to be
scheduled on CPU 1 (where something else is running).  You can't just assume
they are equivalent if they are the same physical CPU.</p>

<p>My modified set_affinity syscall (which takes a "include/exclude" flag)
allows the arch to make this decision (eventually) since you know what the
user wants (it also means that you know what to do if they give you a short
bitmap, or a new cpu comes online/goes offline).</p>

</quote>

<p>Ingo replied that he didn't make assumptions on why a particular CPU was
chosen to receive a process. He said, <quote who="Ingo Molnar">There's also a
fair amount of code in the kernel that relies on binding threads to particular
CPUs, the patch does not break that in any way.</quote> And as far as Linus
Torvalds' opinion, Ingo countered, <quote who="Ingo Molnar">actually, affinity
still works just fine, users can bind tasks to logical CPUs as well. What
i meant was the affinity logic of the scheduler (ie.  affinity decisions
done by the scheduler), not the externally visible affinity API.</quote>
This made sense to Rusty, who promised to go read the patch more carefully.</p>

</section>

<section
  title="uClinux Update For 2.5"
  subject="[PATCH]: linux-2.5.31uc1 (MMU-less patches)"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0208.3/0513.html"
  posts="1"
  startdate="27 Aug 2002 07:21:38 -0800"
>

<p>Greg Ungerer announced:</p>

<quote who="Greg Ungerer">

<p>A new 2.5.31 MMU-less patch, linux-2.5.31uc1.  Just a minor update,
couple of small fixes.</p>

<p>Get it at the usual place:</p>

<p><a
href="http://www.uclinux.org/pub/uClinux/uClinux-2.5.x/">http://www.uclinux.org/pub/uClinux/uClinux-2.5.x/</a></p>

</quote>

</section>

<section
  title="Some Developer Interaction"
  subject="[PATCH] XFree v4.2.x DRM/DRI Support for 2.4.20-pre4"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0208.3/0595.html"
  posts="8"
  startdate="27 Aug 2002 12:54:50 -0800"
  enddate="27 Aug 2002 20:29:10 -0800"
>

<mention>Marc-Christian Petersen</mention>

<p>Marc-Christian Petersen posted a patch, and Christoph Hellwig said:</p>

<quote who="Christoph Hellwig">

<p>Don't do this.   Alan already has a sane version in his tree which I've
made ready for and sent to Marcelo.  It wouldn't hurt if you read lkml..</p>

<p>The patch you posted is the crap directly from the XFfree repo and backs
out kernel changes.  It might be enough for a random collection of junk patches
but certainly does not meet the quality criteria for official kernels.</p>

</quote>

<p>Willy Tarreau replied:</p>

<quote who="Willy Tarreau">

<p>why do you always feel the need to discourage people who offer their
contribution ? Your two first sentences are quite enough to let Marc-Christian
understand that his patch isn't as good as YOURS. The rest of the mail is
pure gratuitous insults, just like every other mail you send these times
(except those in which you compliment yourself). Since a few weeks, each
time I see a mail from you, before opening it, I ask to myself "well, who
is he killing today ?".</p>

<p>Perhaps you're fed up with crap in the kernel, but IMHO that's not this
way that you'll get rid of it. This list is a developper's list, so it tends
to be constructive by nature. So please be a little more tolerant with other
people, particularly when they are contributing.</p>

</quote>

<p>Christoph replied, <quote who="Christoph Hellwig">It's not MY patch.
It's Alan &amp; Arjans works, and I stated that clearly in the thread
a few days ago, where someone posted a patch to bring the XFree crap in.
I expect from someone who thinks of himself as kerneltree maintainer that he
atleast follows lkml, and watching the most important secondary tree (-ac)
won't hurt either.</quote> David Lang said:</p>

<quote who="David Lang">

<p>for crying out loud, earlier this week we had a post from some of the
network maintainers chastising someone becouse they only sent the patch to
the kernel list and not to the network list becouse many of the developers
don't read the kernel list.</p>

<p>if core kernel developers are telling people they don't read L-K then
a new person sending in a patch and not reading L-K all the time is very
reasonable. you can't have it both ways.</p>

<p>as for the -ac being the most important secondary tree, that's a matter
of opinion, in many cases it is, but in many cases a lot of stuff shows up
in it that never will make it to the main tree as well.</p>

</quote>

<p>And Willy also said to Christoph, <quote who="Willy Tarreau">I'm sorry not
to agree with you, but with the high number of messages, not everyone has the
time to catch them all. It has happened that I missed a thread for several
days, and noticed it while being quite advanced in the discussion (OK, I'm
not a kernel tree maintainer, but I'm interested in what's being done). And I
didn't notice this XFree patch either, and I read nearly all messages. You're
lucky if you have all this time to spare here, really.</quote> But Randy
Dunlap remarked, <quote who="Randy Dunlap">Yes, Christoph must spend as much
time per day as Alan does on lk email and patches, but that's a good thing.
I certainly don't spend as much time as they do.</quote></p>

</section>

<section
  title="XFS Update For 2.5"
  subject="[PATCH] XFS core for 2.5.32"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0208.3/0667.html"
  posts="1"
  startdate="27 Aug 2002 17:12:22 -0800"
>
<topic>FS: XFS</topic>
<topic>MAINTAINERS File</topic>
<topic>POSIX</topic>
<topic>Version Control</topic>

<p>Christoph Hellwig announced:</p>

<quote who="Christoph Hellwig">

<p>This patch includes only the core functionality of the SGI XFS filesystem
for Linux 2.5.32.  It does NOT include changes for Posix ACLs, dmapi, kdb
or other code included in the XFS CVS tree.</p>

<p>The patch adds the self-contained XFS code and makes almost no modifications
to existing kernel code.  Diffstat output with new files stripped:</p>

<pre> Documentation/Changes              |   16
 Documentation/filesystems/00-INDEX |    2
 MAINTAINERS                        |    8
 fs/Config.help                     |   66
 fs/Config.in                       |    9
 fs/Makefile                        |    1
 include/linux/sched.h              |    1
 include/linux/sysctl.h             |    2
 kernel/ksyms.c                     |    1</pre>

<p>Please send any comments to the patch or xfs code to linux-xfs@oss.sgi.com.
We know that there are still issues left that need addressing, but feel
free to add your items.</p>

<p>The patches can be found at:</p>

<p><a href="ftp://ftp.kernel.org/pub/linux/kernel/people/hch/patches/v2.5/2.5.32/linux-2.5.32-xfs.patch.gz">ftp://ftp.kernel.org/pub/linux/kernel/people/hch/patches/v2.5/2.5.32/linux-2.5.32-xfs.patch.gz</a><br />
<a href="ftp://ftp.kernel.org/pub/linux/kernel/people/hch/patches/v2.5/2.5.32/linux-2.5.32-xfs.patch.bz2">ftp://ftp.kernel.org/pub/linux/kernel/people/hch/patches/v2.5/2.5.32/linux-2.5.32-xfs.patch.bz2</a></p>

</quote>

</section>

<section
  title="Kernel 2.5 Status For August 28"
  subject="[STATUS 2.5]  August 28, 2002"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0208.3/0702.html"
  posts="1"
  startdate="27 Aug 2002 19:52:42 -0800"
>
<topic>FS: NFS</topic>

<p>Guillaume Boissiere posted his latest <a
href="http://www.kernelnewbies.org/status/Status-28-Aug-2002.html">2.5 Status
summary</a>, adding, <quote who="Guillaume Boissiere">Much action this week
with the inclusion of Asynchronous IO, the beginning of NFS v4 and the core
of the new input layer.</quote></p>

</section>

<section
  title="Various Consolidated Patches"
  subject="2.5.32-mm1"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0208.3/0707.html"
  posts="7"
  startdate="27 Aug 2002 20:22:38 -0800"
  enddate="28 Aug 2002 22:19:27 -0800"
>
<topic>Big Memory Support</topic>
<topic>FS: ext3</topic>
<topic>Kernel Build System</topic>
<topic>Virtual Memory</topic>

<p>Andrew Morton announced:</p>

<quote who="Andrew Morton">

<p>URL: <a
href="http://www.zip.com.au/~akpm/linux/patches/2.5/2.5.32/2.5.32-mm1/">http://www.zip.com.au/~akpm/linux/patches/2.5/2.5.32/2.5.32-mm1/</a></p>

<p>Since 2.5.31-mm1:</p>

<p>

<ul>

<li>A bunch of things from 2.5.31-mm1 were merged.</li>

<li>The BKL consolidation patch is dropped because Linus did it too.</li>

<li>The `might_sleep()' debug patch lost its supporting infrastructure 
and I've dropped it for now.</li>

<li>The configurable PAGE_OFFSET patch ran aground on some kbuild changes and
needs some more work.</li>

<li>

<p>The following patches have been added</p>

<p>        discontig-cleanup-1.patch<br />
        discontig-cleanup-2.patch<br />
        writeback-thresholds.patch<br />
        buffer-strip.patch<br />
        daniel-rmap-speedup.patch<br />
        rmap-speedup.patch<br />
        wli-highpte.patch</p>

</li>

</ul>

</p>

<pre>func-fix.patch
  gcc-2.91.66 does not support __func__

ext3-htree.patch
  Indexed directories for ext3

misc.patch
  page_alloc.c fixlets

tlb-speedup.patch
  Reduce typical global TLB invalidation frequency by 35%

buffer-slab-align.patch
  Don't align the buffer_head slab on hardware cacheline boundaries

zone-rename.patch
  Rename zone_struct->zone, zonelist_struct->zonelist.  Remove zone_t,
  zonelist_t.

per-zone-lru.patch
  Per-zone page LRUs

per-zone-lock.patch
  Per-zone LRU list locking

l1-max-size.patch
  Infrastructure for determining the maximum L1 cache size which the kernel
  may have to support.

zone-lock-alignment.patch
  Pad struct zone to ensure that the lru and buddy locks are in separate
  cachelines.

put_page_cleanup.patch
  Clean up put_page() and page_cache_release().

anon-batch-free.patch
  Batched freeing and de-LRUing of anonymous pages

writeback-sync.patch
  Writeback fixes and tuneups

ext3-inode-allocation.patch
  Fix an ext3 deadlock

ext3-o_direct.patch
  O_DIRECT support for ext3.

discontig-paddr_to_pfn.patch
  Convert page pointers into pfns for i386 NUMA

discontig-setup_arch.patch
  Rework setup_arch() for i386 NUMA

discontig-mem_init.patch
  Restructure mem_init for i386 NUMA

discontig-i386-numa.patch
  discontigmem support for i386 NUMA

cleanup-mem_map-1.patch
  Clean up lots of open-coded uese of mem_map[].  For ia32 NUMA

zone-pages-reporting.patch
  Fix the boot-time reporting of each zone's available pages

enospc-recovery-fix.patch
  Fix the __block_write_full_page() error path.

fix-faults.patch
  Back out the initial work for atomic copy_*_user()

spin-lock-check.patch
  spinlock/rwlock checking infrastructure

copy_user_atomic.patch

kmap_atomic_reads.patch
  Use kmap_atomic() for generic_file_read()

kmap_atomic_writes.patch
  Use kmap_atomic() for generic_file_write()

throttling-fix.patch
  Fix throttling of heavy write()rs.

dirty-state-accounting.patch
  Make the global dirty memory accounting more accurate

rd-cleanup.patch
  Cleanup and fix the ramdisk driver (doesn't work right yet)

discontig-cleanup-1.patch
  i386 discontigmem coding cleanups

discontig-cleanup-2.patch
  i386 discontigmem cleanups

writeback-thresholds.patch
  Downward adjustments to the default dirty memory thresholds

buffer-strip.patch
  Limit the consumption of ZONE_NORMAL by buffer_heads

daniel-rmap-speedup.patch
  Hashed locking for rmap pte_chains

rmap-speedup.patch
  rmap pte_chain space and CPU reductions

wli-highpte.patch
  Resurrect CONFIG_HIGHPTE - ia32 pagetables in highmem</pre>

</quote>

</section>

<section
  title="Advanced Tracing API Intended To Replace ptrace"
  subject="advanced tracing API"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0208.3/0807.html"
  posts="1"
  startdate="28 Aug 2002 07:01:23 -0800"
>

<p>David Howells announced:</p>

<quote who="David Howells">

<p>I've written an advanced tracing API as a potential replacement for ptrace. It
isn't quite complete yet, but sufficient functionality should exist to   
implement strace.</p>

<p>It works by adding a new system call that deals with file descriptors with
"special" files attached (much as sysvipc shm does). The fds are, however,
exposed and can be polled. Each fd manages a thread group.</p>

<p>It has full support for threads created with CLONE_THREAD.</p>

<p>Documentation is included in the trace-2532 patch.</p>

<p>Comments would be appreciated.</p>

<p>It is available as a pair of patches to 2.5.32 plus a test/demo program:</p>

<p>        <a href="ftp://infradead.org/pub/people/dwh/orn-2532.diff.bz2">ftp://infradead.org/pub/people/dwh/orn-2532.diff.bz2</a><br />
        <a href="ftp://infradead.org/pub/people/dwh/trace-2532.diff.bz2">ftp://infradead.org/pub/people/dwh/trace-2532.diff.bz2</a><br />
        <a href="ftp://infradead.org/pub/people/dwh/trctl2.c">ftp://infradead.org/pub/people/dwh/trctl2.c</a></p>

<p>Apply the orn-2532 and then the trace-2532 patches to a 2.5.32 kernel, build
and install. The trctl2 program needs access to the header files from the
patched kernel at the moment.</p>

<p>Run trctl2 under the patched kernel. It will fork off an "inferior" process
and begin trapping and displaying certain events from it. The inferior process
will then create a set of threads which will then also be managed by the
"debugger". These threads can be hit with signals to make events happen.</p>

</quote>

</section>

<section
  title="Benchmark Comparing IPv4 And IPv6"
  subject="IPV4 and IPV6 tcp_stream comparison"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0208.3/0935.html"
  posts="1"
  startdate="28 Aug 2002 13:52:59 -0800"
>
<topic>Networking</topic>
<topic>SMP</topic>

<p>Mala Anand announced, <quote who="Mala Anand">I did a comparison
test of IPV4 and IPV6 using 2.4.17 kernel for IPV4 and 2.4.17
kernel+USAGI-linux24-s20020415-2.4.17.diff patch running netperf3,
tcp_stream 1 adapter, 2 adapters test on UNI, SMP kernels using a
2-way machine.  The test setup/results/profile can be found at: <a
href="http://www-124.ibm.com/developerworks/opensource/linuxperf/netperf/results/may_02/netperf3_ipv6_2.4.17resutls.htm">http://www-124.ibm.com/developerworks/opensource/linuxperf/netperf/results/may_02/netperf3_ipv6_2.4.17resutls.htm</a></quote></p>

</section>

<section
  title="Linux 2.4.20-pre5"
  subject="Linux 2.4.20-pre5"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0208.3/0973.html"
  posts="3"
  startdate="28 Aug 2002 14:46:53 -0800"
  enddate="28 Aug 2002 17:18:32 -0800"
>
<topic>FS: EFS</topic>
<topic>FS: devfs</topic>
<topic>FS: ext3</topic>
<topic>Hot-Plugging</topic>
<topic>I2O</topic>
<topic>Ioctls</topic>
<topic>Modems</topic>
<topic>Networking</topic>
<topic>PCI</topic>
<topic>Power Management: ACPI</topic>
<topic>Real-Time</topic>
<topic>USB</topic>
<topic>Web Servers</topic>

<mention>Hugh Dickins</mention>
<mention>Scott Feldman</mention>
<mention>Tom Rini</mention>
<mention>David S. Miller</mention>
<mention>Tim Waugh</mention>
<mention>Rusty Russell</mention>
<mention>James Morris</mention>
<mention>Rob Radez</mention>
<mention>Alan Cox</mention>
<mention>Neil Brown</mention>
<mention>Hanna Linder</mention>
<mention>Jeff Garzik</mention>
<mention>Alexey Kuznetsov</mention>
<mention>Brian Beattie</mention>

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

<quote who="Marcelo Tosatti">

<p>Mainly merging with Alan and others.</p>

<pre>Summary of changes from v2.4.20-pre4 to v2.4.20-pre5
============================================

&lt;andersen@codepoet.org&gt;:
  o 2.4.20-pre[234] hosed /proc/partitions fix

&lt;bhavesh@avaya.com&gt;:
  o Fix scheduler's RT behaviour

&lt;danc@mvista.com&gt;:
  o PPC32: Add support for SBS Palomar 4 board

&lt;davem@pizda.ninka.net&gt;:
  o SPARC64: Initial Cheetah-plus support, not fully debugged yet

&lt;dwmw2@redhat.com&gt;:
  o Another JFFS2 oops fix

&lt;dz@cs.unitn.it&gt;:
  o latest version of i8k module

&lt;engebret@us.ibm.com&gt;:
  o Re: [PATCH] PPC64 update to 2.4.19-rc1

&lt;hch@lst.de&gt;:
  o Merge ETHTOOL_GDRVINFO support for several pcmcia net drivers
  o update drm to XFree 4.2 version
  o use -iwithprefix to find gcc headers
  o fix theoretical race init pagefault init survive path

&lt;james@cobaltmountain.com&gt;:
  o drivers_usb_usb-uhci.c, typo: the the, missing 'of'
  o drivers_usb_auerswald.c, typo: the the
  o net/ipv4/netfilter/ip_conntrack_core.c: Fix comment typo
  o net/ipv4/netfilter/ip_nat_core.c: Fix comment typo

&lt;jani@iv.ro&gt;:
  o tridentfb bitdepths in Config.in

&lt;jgarzik@tout.normnet.org&gt;:
  o Correct xdr_shift_buf prototype in inc/linux/sunrpc/xdr.h to match
implementation (s/unsigned int/size_t/).

&lt;jsiemes@web.de&gt;:
  o net/ipv4/ipconfig.c: Add support for multiple nameservers

&lt;jwoithe@physics.adelaide.edu.au&gt;:
  o Support for Buffalo 40GB USB hard disk

&lt;kisza@sch.bme.hu&gt;:
  o net/ipv6/netfilter/ip6_tables.c: Fix extension header parsing bugs

&lt;mark@alpha.dyndns.org&gt;:
  o USB: ov511 1.61 for 2.4

&lt;paulus@au1.ibm.com&gt;:
  o PPC32: add support for the IBM "Spruce" reference platform
  o PPC32: clean up the interrupt handling on the APUS platform

&lt;sct@redhat.com&gt;:
  o 2.4.20-pre4/ext3: Handle dirty buffers encountered
  o 2.4.20-pre4/ext3: Fix "buffer_jdirty" assert failure
  o 2.4.20-pre4/ext3: Fix the "dump corrupts filesystems"
  o 2.4.20-pre4/ext3: Fix buffer alias problem
  o 2.4.20-pre4/ext3: Truncate leak fix
  o 2.4.20-pre4/ext3: Fix out-of-inodes handling
  o 2.4.20-pre4/ext3: fsync optimisation
  o 2.4.20-pre4/ext3: Fix truncate restart error
  o 2.4.20-pre4/ext3: Performance fix for O_SYNC behaviour

&lt;solar@openwall.com&gt;:
  o net/unix/af_unix.c: Set ATIME on socket inode

Alan Cox &lt;alan@lxorguk.ukuu.org.uk&gt;:
  o SBUS: extern-&gt;static inline
  o these were wrong - they've been right in -ac for ages
  o add config.in for new synclink mp
  o parisc config.in
  o note the initrd vanishing bug and block size issue
  o docs for isapnp update in pre4
  o make synclink vars static
  o fix wrap handling in ieee1394
  o fix warning in i2o
  o set DMA mask in i2o
  o typo fixes for aic7xxx
  o ixj wrong definition
  o zorro proc should use loff_t too
  o hppa also needs a weird kstat
  o only egcs had this problem so dont pad on 2.95+
  o cache align the irq stat
  o sparc64 fix pcibios for changes in pre4
  o new dmi entries
  o long standing khttpd fix
  o generic part of rw trylocks
  o update parport ifdefs for HPPA
  o resend - HIL input bus
  o down_write_trylock
  o fix EFS on cd crash
  o add hppa to fbcon data
  o quieten the latency message
  o ppc64 missing ioctl32 gunk
  o hppa like ia64 doesnt use the old ipc structs
  o new sem_getcount means this cna go
  o more typo fixes
  o typo fixes ctd
  o fix the via rhine
  o fix bttv_read type error
  o fix detected_devices type error
  o isdn gcc warning fixer
  o vt.c clean up ifdefs
  o update /proc description
  o journalling docs
  o PCI fixes
  o docs for ldm update
  o ps2esdi - wrong bit
  o driver for AMD watchdog
  o add synclink_mp
  o saner error return for hotplug
  o i2o typo fix
  o e1000 - return without code
  o decruft smodem
  o fix pci_release/request_regions bugs
  o fix __FUNCTION__ in irda-usb

Alexey Kuznetsov &lt;kuznet@ms2.inr.ac.ru&gt;:
  o arch/i386/lib/checksum.S: Handle zero length

Brian Beattie &lt;beattie@beattie-home.net&gt;:
  o patch for 2.4 scanner.h add device ids

David S. Miller &lt;davem@nuts.ninka.net&gt;:
  o arch/sparc64/defconfig: Update
  o include/linux/sunrpc/svcsock.h: Make sk_flags a long
  o include/linux/sunrpc/svcsock.h: sk_flags must be a long for bitops
  o SPARC: Update for changed pcibios_enable_device args
  o include/linux/sunrpc/xdr.h: Kill xdr_zero_buf decl, fix xdr_shift_buf args
  o arch/sparc64/mm/ultra.S: Fix branch condition in __cheetah_flush_tlb_range
  o include/asm-sparc/types.h: No need to make dma64_addr_t 64-bits on sparc32
  o SPARC64: Fix obscure cheetah+ hangs
  o TIGON3: Add missing udelay when clearing SRAM stats/status block
  o SPARC64: Fix DRM to use new not old drivers
  o net/unix/af_unix.c: Set msg_namelen in unix_copy_addr properly, define
MODULE_LICENSE
  o net/ipv4/tcp_diag.c: Avoid unaligned accesses to tcpdiag_cookie
  o SPARC64:setup_arch Flush correct I-cache line when patching irqsz_patchme
  o SPARC64: Ultra-III+ bug fix and better bad trap logging

Greg Kroah-Hartman &lt;greg@kroah.com&gt;:
  o USB: documentation updates
  o USB: ov511 driver update to the latest version
  o USB: pegasus driver update to the latest version
  o microtek driver update to the latest version
  o wacom driver update to fix incorrect data problem
  o USB: minor cleanups and __FUNCTION__ fixes
  o USB: fix some USB 2.0 hub bugs
  o update to latest version of rtl8150 driver
  o minor printer driver fixes
  o stv680 driver update to latest version
  o USB: usb-ohci bug fix for slow machines and cardbus bug fix
  o USB: uhci incorrect bit operations and FSBR timeout fixes
  o added Configure.help entry for the ACPI PCI Hotplug driver
  o PCI Hotplug: fixed oops when accessing pcihpfs

Hanna Linder &lt;hannal@us.ibm.com&gt;:
  o path_lookup for 2.4.20-pre4

Hugh Dickins &lt;hugh@veritas.com&gt;:
  o M386 flush_one_tlb invlpg

James Morris &lt;jmorris@intercode.com.au&gt;:
  o [NETFILTER]: ip{,6}_queue.c cleanups and fixes

Jeff Garzik &lt;jgarzik@mandrakesoft.com&gt;:
  o Fix 8139cp 64-bit DMA support
  o Update e1000 net driver for two small ethtool fixes

Marcelo Tosatti &lt;marcelo@plucky.distro.conectiva&gt;:
  o Revert broken cpqarray statistics change in previous -pre
  o Readded context_swtch to kernel_stat structure
  o Changed EXTRAVERSION to -pre5

Neil Brown &lt;neilb@cse.unsw.edu.au&gt;:
  o SUNRPC 1 of 3 - The new "sk_flags" word in struct svc_sock
  o SUNRPC 2 of 3 - Fix two problems with multiple concurrent
  o SUNRPC 3 of 3 - Call svc_sock_setbufsize when socket

Rob Radez &lt;rob@osinvestor.com&gt;:
  o SPARC32: Sparc32 compile fixes with CONFIG_PCI enabled

Rusty Russell &lt;rusty@rustcorp.com.au&gt;:
  o [PATCH] duplicate declarations #2
  o 2.5: kconfig missing OBSOLETE (2_3) again
  o Documentation_filesystems_devfs_README, typo: the the
  o Trivial Patch to SonyCD535 documentation
  o drivers_net_rcpci45.c, typo: the the
  o drivers_net_pcmcia_xircom_cb.c, typo: the the,
  o Re: pci_alloc_consistant gfp flag fix
  o drivers_net_winbond-840.c, typo: the the
  o list_for_each_entry

Scott Feldman &lt;scott.feldman@intel.com&gt;:
  o e100 net driver update 1/3
  o e100 net driver update 2/3
  o e100 net driver update 3/3
  o e1000 net driver update 1/5
  o e1000 net driver update 2/5
  o e1000 net driver update 3/5
  o e1000 net driver update 4/5
  o e1000 net driver update 5/5

Tim Waugh &lt;twaugh@redhat.com&gt;:
  o 2.4.20-pre4: parportbook thinko

Tom Rini &lt;trini@kernel.crashing.org&gt;:
  o PPC32: separate finding and parsing the info from the boot wrapper
  o PPC32: implement hooks for extra PCI fixups needed on some platforms
  o PPC32: Add hooks for Abatron BDI2000 debugger, extra compile flags
</pre>

</quote>

</section>

<section
  title="uClinux Update For 2.5"
  subject="[PATCH]: linux-2.5.32uc1 (MMU-less patches)"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0208.3/1003.html"
  posts="1"
  startdate="28 Aug 2002 18:33:47 -0800"
>

<p>Greg Ungerer announced:</p>

<quote who="Greg Ungerer">

<p>A new MMU-less patch, linux-2.5.32uc1. You can get it at:</p>

<p>  <a href="http://www.uclinux.org/pub/uClinux/uClinux-2.5.x/">http://www.uclinux.org/pub/uClinux/uClinux-2.5.x/</a></p>

<p>A few minor fixes:</p>

<p>

<ul>

<li>Fixed incorrect setting of totalram_pages in arch mm init</li>
<li>Added some vmalloc_ routines to fix module support</li>
<li>Added m68knommu config support for security and lib sub-systems</li>
<li>Added Config.help to arch/m68knommu</li>

</ul>

</p>

</quote>

</section>

<section
  title="i386 Individual CPU Selection"
  subject="[PATCH 3 / 4] i386 individual CPU selection"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0208.3/1012.html"
  posts="1"
  startdate="28 Aug 2002 20:13:11 -0800"
>
<topic>SMP</topic>

<p>Luca Barbieri posted a patch and explained, <quote who="Luca Barbieri">This
patch changes the CPU selection mechanism so that each CPU is an independent
y/n choice.  The advantage of this is that the user knows exactly and has
full control over the range of CPUs supported by the kernel.  Without this
patch it's not clear, for example, how to build a kernel that will work on
both K6s and WinChips.  In addition to the processor selection, a choice
is added for the CPU that the kernel should be optimized, which is used for
the -mcpu switch.</quote></p>

</section>

<section
  title="i2c Updates For 2.4"
  subject="[patch 1/5] 2.4.20-pre5 i2c updates"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0208.3/1016.html"
  posts="1"
  startdate="28 Aug 2002 21:34:43 -0800"
>
<topic>I2C</topic>

<p>Albert Cranford posted a patch and said:</p>

<quote who="Albert Cranford">

<p>Attached are i2c patches that bring the kernel to the latest released and tested
version.  Updates include:</p>

<p>

<ul>

<li>Support for SMBus 2.0 PEC Packet Error Checking</li>

<li>New algorithm-i2c-algo-8xxx for MPC8XXX</li>

<li>New algorithm-i2c-algo-ibm_ocp for IBM PPC 405</li>

<li>New adapter-i2c-adap-ibm_ocp for IBM PPC 405</li>

<li>New adapter-i2c-frodo for SA 1110 board</li>

<li>New adapter-i2c-pcf-epp for PCF8584</li>

<li>New adapter-i2c-pport for parallel port</li>

<li>New adapter-i2c-rpx for embeded MPC8XX</li>

<li>Updated documentation</li>

</ul>

</p>

</quote>

</section>

</kc>

