<?xml version="1.0" ?>

<kc>

<title>Kernel Traffic</title>

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

<issue num="213" date="13 Apr 2003 00:00:00 -0800" />

<stats posts="1749" size="8784" contrib="426" multiples="227" lastweek="150">

<person posts="115" size="650" who="Alan Cox" />
<person posts="84" size="539" who="Greg KH" />
<person posts="70" size="257" who="Andrew Morton" />
<person posts="44" size="196" who="&quot;Martin J. Bligh&quot;" />
<person posts="31" size="92" who="Chuck Ebbert" />
<person posts="27" size="184" who="Zwane Mwaikambo" />
<person posts="26" size="108" who="&quot;Randy.Dunlap&quot;" />
<person posts="26" size="107" who="William Lee Irwin III" />
<person posts="25" size="83" who="Christoph Hellwig" />
<person posts="22" size="99" who="Hugh Dickins" />
<person posts="22" size="66" who="Jeff Garzik" />
<person posts="21" size="213" who="Martin Schlemmer" />
<person posts="21" size="85" who="Robert Love" />
<person posts="20" size="90" who="Michael Buesch" />
<person posts="19" size="111" who="Maciej Soltysiak" />
<person posts="19" size="83" who="Dave Jones" />
<person posts="18" size="102" who="Andrea Arcangeli" />
<person posts="17" size="102" who="David Mosberger" />
<person posts="16" size="70" who="Rusty Russell" />
<person posts="16" size="54" who="&quot;Richard B. Johnson&quot;" />
<person posts="15" size="97" who="Felipe Alfaro Solana" />
<person posts="14" size="123" who="Osamu Tomita" />
<person posts="14" size="58" who="Jens Axboe" />
<person posts="14" size="55" who="CaT" />
<person posts="13" size="103" who="Adam Belay" />
<person posts="13" size="51" who="&quot;Robert P. J. Day&quot;" />
<person posts="13" size="44" who="Pete Zaitcev" />
<person posts="13" size="38" who="=?iso-8859-1?Q?J=F6rn?= Engel" />
<person posts="13" size="31" who="&quot;David S. Miller&quot;" />
<person posts="12" size="95" who="Antonio Vargas" />
<person posts="12" size="57" who="Dave McCracken" />
<person posts="12" size="43" who="Pavel Machek" />
<person posts="11" size="139" who="Badari Pulavarty" />
<person posts="11" size="40" who="&quot;Petr Vandrovec&quot;" />
<person posts="11" size="33" who="Trond Myklebust" />
<person posts="10" size="100" who="Jan Dittmer" />
<person posts="10" size="74" who="Suparna Bhattacharya" />
<person posts="9" size="114" who=" (Miles Bader)" />
<person posts="9" size="59" who="Nigel Cunningham" />
<person posts="9" size="40" who="Steven Cole" />
<person posts="9" size="30" who="Geert Uytterhoeven" />
<person posts="9" size="26" who="(mikpe)" />
<person posts="8" size="53" who="&quot;Robert White&quot;" />
<person posts="8" size="31" who="Jamie Lokier" />
<person posts="8" size="31" who="Sven Luther" />
<person posts="8" size="24" who="(Andries.Brouwer)" />
<person posts="8" size="23" who="chas williams" />
<person posts="7" size="36" who="&quot;Jonathan Vardy&quot;" />
<person posts="7" size="35" who="Nehal" />
<person posts="7" size="28" who="Jean Tourrilhes" />
<person posts="7" size="26" who="&quot;Jonathan Vardy&quot;" />
<person posts="7" size="24" who="Duncan Sands" />
<person posts="7" size="24" who="&quot;H. Peter Anvin&quot;" />
<person posts="7" size="23" who="Carl-Daniel Hailfinger" />
<person posts="7" size="21" who="Benjamin Herrenschmidt" />
<person posts="7" size="19" who="Roman Zippel" />
<person posts="7" size="19" who="Christoph Rohland" />
<person posts="6" size="83" who="Christoph Hellwig" />
<person posts="6" size="39" who="Antonino Daplas" />
<person posts="6" size="24" who="James Simmons" />
<person posts="6" size="23" who="Chris Friesen" />
<person posts="6" size="22" who="Helge Hafting" />
<person posts="6" size="22" who="Adrian Bunk" />
<person posts="6" size="21" who="Dominik Brodowski" />
<person posts="6" size="21" who="Russell King" />
<person posts="6" size="20" who="Andre Hedrick" />
<person posts="6" size="20" who="Gerd Knorr" />
<person posts="6" size="20" who="Con Kolivas" />
<person posts="6" size="20" who="&quot;shesha bhushan&quot;" />
<person posts="6" size="19" who="Matti Aarnio" />
<person posts="6" size="18" who="William Scott Lockwood III" />
<person posts="6" size="16" who="Oleg Drokin" />
<person posts="5" size="35" who="Paul Mackerras" />
<person posts="5" size="29" who="Werner Almesberger" />
<person posts="5" size="25" who="Ruth Ivimey-Cook" />
<person posts="5" size="24" who="Matthew Wilcox" />
<person posts="5" size="18" who="Stephan van Hienen" />
<person posts="5" size="18" who="&quot;Dennis Cook&quot;" />
<person posts="5" size="17" who="&quot;Udo A. Steinberg&quot;" />
<person posts="5" size="16" who="Stephan van Hienen" />
<person posts="5" size="16" who="Andrey Panin" />
<person posts="5" size="16" who="Larry McVoy" />
<person posts="5" size="15" who="Benjamin LaHaise" />
<person posts="5" size="14" who="Ed Tomlinson" />
<person posts="5" size="14" who="Andi Kleen" />
<person posts="5" size="14" who=" (=?iso-8859-1?q?M=E5ns_Rullg=E5rd?=)" />
<person posts="5" size="14" who="Nicholas Wourms" />
<person posts="5" size="13" who="Marc-Christian Petersen" />
<person posts="4" size="34" who="&quot;Robert Williamson&quot;" />
<person posts="4" size="32" who="Matthew Dobson" />
<person posts="4" size="26" who="&quot;dada1&quot;" />
<person posts="4" size="19" who="Mark Mielke" />
<person posts="4" size="17" who="=?ISO-8859-2?Q?Pawe=B3_Go=B3aszewski?=" />
<person posts="4" size="16" who="&quot;Peter L. Ashford&quot;" />
<person posts="4" size="15" who="Jakob Oestergaard" />
<person posts="4" size="15" who="Petr Vandrovec" />
<person posts="4" size="15" who="&quot;Prasanta Sadhukhan&quot;" />
<person posts="4" size="14" who="Stephen Hemminger" />
<person posts="4" size="13" who="Corey Minyard" />
<person posts="4" size="13" who="Rik van Riel" />
<person posts="4" size="13" who="Neil Brown" />
<person posts="4" size="12" who="Keith Owens" />
<person posts="4" size="11" who="&quot;dave&quot;" />
<person posts="4" size="10" who="Stian Jordet" />
<person posts="4" size="10" who="Siim Vahtre" />
<person posts="4" size="10" who="John Bradford" />
<person posts="4" size="9" who="Soeren Sonnenburg" />
<person posts="3" size="185" who="Matthias Andree" />
<person posts="3" size="72" who="Vagn Scott" />
<person posts="3" size="41" who="Jes Sorensen" />
<person posts="3" size="36" who="(hendriks)" />
<person posts="3" size="33" who="Linus Torvalds" />
<person posts="3" size="25" who="Denis Vlasenko" />
<person posts="3" size="14" who="Andreas Dilger" />
<person posts="3" size="14" who="Steve Dickson" />
<person posts="3" size="13" who="Michael Knigge" />
<person posts="3" size="12" who="Alan Cox" />
<person posts="3" size="12" who="John M Flinchbaugh" />
<person posts="3" size="12" who="Robert Schiele" />
<person posts="3" size="12" who="Joel Becker" />
<person posts="3" size="11" who="&quot;rain.wang&quot;" />
<person posts="3" size="11" who="Ed Vance" />
<person posts="3" size="11" who="&quot;Henning P. Schmiedehausen&quot;" />
<person posts="3" size="11" who="DervishD" />
<person posts="3" size="11" who="Chris Wright" />
<person posts="3" size="11" who="&quot;Grover, Andrew&quot;" />
<person posts="3" size="10" who="&quot;Hua Zhong&quot;" />
<person posts="3" size="10" who="Kyuma Ohta" />
<person posts="3" size="10" who="Marc Zyngier" />
<person posts="3" size="9" who="Willy Tarreau" />
<person posts="3" size="9" who="Arun Dharankar" />
<person posts="3" size="9" who="Ezra Nugroho" />
<person posts="3" size="9" who="Melkor Ainur" />
<person posts="3" size="9" who="Nikita Danilov" />
<person posts="3" size="9" who="&quot;Justin T. Gibbs&quot;" />
<person posts="3" size="9" who="&quot;Cameron, Steve&quot;" />
<person posts="3" size="9" who="Daniel Egger" />
<person posts="3" size="8" who="John Kim" />
<person posts="3" size="8" who="James Bourne" />
<person posts="3" size="8" who="Jens Ansorg" />
<person posts="3" size="8" who="Balram Adlakha" />
<person posts="3" size="8" who="hv" />
<person posts="3" size="8" who="Krzysztof Halasa" />
<person posts="3" size="7" who="Ivan Kokshaysky" />
<person posts="3" size="7" who="&quot;Sean Hunter&quot;" />
<person posts="3" size="6" who="Kai Germaschewski" />
<person posts="2" size="61" who="(rwhron)" />
<person posts="2" size="60" who="Jurriaan" />
<person posts="2" size="40" who="&quot;Shawn Starr&quot;" />
<person posts="2" size="31" who="=?ISO-8859-1?Q?xos=E9_v=E1zquez_p=E9rez?=" />
<person posts="2" size="27" who="Daniel McNeil" />
<person posts="2" size="27" who="&quot;Dean McEwan&quot;" />
<person posts="2" size="25" who="Pavel Machek" />
<person posts="2" size="19" who="Kevin Brosius" />
<person posts="2" size="16" who="&quot;Sowmya Adiga&quot;" />
<person posts="2" size="16" who="Stacy Woods" />
<person posts="2" size="16" who="Manfred Spraul" />
<person posts="2" size="15" who="(venom)" />
<person posts="2" size="15" who="Oliver Feiler" />
<person posts="2" size="14" who="DevilKin" />
<person posts="2" size="13" who="Joshua Kwan" />
<person posts="2" size="13" who="Jeffrey Baker" />
<person posts="2" size="13" who="Corey Minyard" />
<person posts="2" size="13" who="(kernel)" />
<person posts="2" size="12" who="&quot;Aniruddha M Marathe&quot;" />
<person posts="2" size="12" who="Scott A Crosby" />
<person posts="2" size="10" who="(Shesha)" />
<person posts="2" size="10" who="Nestor Aaro" />
<person posts="2" size="9" who="Michael Frank" />
<person posts="2" size="9" who="Adam Johansson" />
<person posts="2" size="9" who="Keith Owens" />
<person posts="2" size="9" who="Andrew Walrond" />
<person posts="2" size="8" who="(j-nomura)" />
<person posts="2" size="8" who="Thomas Schlichter" />
<person posts="2" size="8" who="Michal Schmidt" />
<person posts="2" size="8" who="&quot;Mark M. Hoffman&quot;" />
<person posts="2" size="8" who="David Ford" />
<person posts="2" size="8" who="Andy Pfiffer" />
<person posts="2" size="8" who="Christopher Curtis" />
<person posts="2" size="7" who="Lars Noschinski" />
<person posts="2" size="7" who="David Jander" />
<person posts="2" size="7" who="Christophe Saout" />
<person posts="2" size="7" who="Bernd Petrovitsch" />
<person posts="2" size="7" who="Steve Dickson" />
<person posts="2" size="7" who="(cb-lkml)" />
<person posts="2" size="7" who="Paul" />
<person posts="2" size="7" who="Albert Cranford" />
<person posts="2" size="6" who="Rik van Riel" />
<person posts="2" size="6" who="&quot;Corbett, David&quot;" />
<person posts="2" size="6" who="&quot;Robert L. Harris&quot;" />
<person posts="2" size="6" who="&quot;Dr. David Alan Gilbert&quot;" />
<person posts="2" size="6" who="Dan Kegel" />
<person posts="2" size="6" who="Hans Reiser" />
<person posts="2" size="6" who="Martin Josefsson" />
<person posts="2" size="6" who="Davide Libenzi" />
<person posts="2" size="6" who="&quot;Trever L. Adams&quot;" />
<person posts="2" size="6" who="Juan Quintela" />
<person posts="2" size="6" who="Arjan van de Ven" />
<person posts="2" size="6" who="Shaya Potter" />
<person posts="2" size="6" who="Andries Brouwer" />
<person posts="2" size="6" who="Brandon Low" />
<person posts="2" size="6" who="Falk Hueffner" />
<person posts="2" size="5" who="&quot;Patrick R. McManus&quot;" />
<person posts="2" size="5" who="(etienne.lorrain)" />
<person posts="2" size="5" who="Pigeon" />
<person posts="2" size="5" who="Matt Reppert" />
<person posts="2" size="5" who="Alistair Strachan" />
<person posts="2" size="5" who="Nicholas Henke" />
<person posts="2" size="5" who="Takashi Iwai" />
<person posts="2" size="5" who="James Bottomley" />
<person posts="2" size="5" who="dean gaudet" />
<person posts="2" size="5" who="Shawn Starr" />
<person posts="2" size="5" who="Sam Ravnborg" />
<person posts="2" size="5" who="David Woodhouse" />
<person posts="2" size="5" who="Abhishek Agrawal" />
<person posts="2" size="5" who="Stephen Rothwell" />
<person posts="2" size="5" who="Nicholas Wourms" />
<person posts="2" size="5" who="Nick Piggin" />
<person posts="2" size="5" who="J Sloan" />
<person posts="2" size="5" who="Erik Hensema" />
<person posts="2" size="5" who="Sergei Organov" />
<person posts="2" size="5" who="Arador" />
<person posts="2" size="4" who="&quot;ramands&quot;" />
<person posts="2" size="4" who="Toplica Tanaskovic" />
<person posts="2" size="4" who="Steinar Hauan" />
<person posts="2" size="4" who="&quot;Oliver S.&quot;" />
<person posts="2" size="4" who="Giuliano Pochini" />
<person posts="1" size="37" who="&quot;Shawn Starr&quot;" />
<person posts="1" size="32" who="&quot;_ Distr.softw.region&quot;" />
<person posts="1" size="29" who="Christian Leber" />
<person posts="1" size="29" who="Full Decent" />
<person posts="1" size="28" who="Alex Bligh - linux-kernel" />
<person posts="1" size="25" who="&quot;Erno Rigo [McRee]&quot;" />
<person posts="1" size="21" who="Timothy Hockin" />
<person posts="1" size="20" who="Grzegorz Jaskiewicz" />
<person posts="1" size="19" who="ISHIKAWA Mutsumi" />
<person posts="1" size="16" who="diegows" />
<person posts="1" size="15" who="Stephen Smalley" />
<person posts="1" size="12" who="ra odigio" />
<person posts="1" size="11" who="Theodoor Scholte" />
<person posts="1" size="11" who="Theodoor Scholte" />
<person posts="1" size="9" who="Ash Darkmoore" />
<person posts="1" size="9" who="Herbert Xu" />
<person posts="1" size="9" who="(root)" />
<person posts="1" size="8" who="(flake)" />
<person posts="1" size="8" who="Hubert Mercier - Faculte des Sciences" />
<person posts="1" size="7" who="Jared Young" />
<person posts="1" size="7" who="&quot;Yu, Luming&quot;" />
<person posts="1" size="6" who="John Levon" />
<person posts="1" size="6" who="Andrew Rechenberg" />
<person posts="1" size="6" who=" &lt;brunoc@quipo.it&gt;" />
<person posts="1" size="6" who="Ricardo Correia" />
<person posts="1" size="6" who="Marco d'Itri" />
<person posts="1" size="6" who="Anup Pemmaiah" />
<person posts="1" size="6" who="Miles Bader" />
<person posts="1" size="6" who="Paolo Zeppegno" />
<person posts="1" size="5" who="David Howells" />
<person posts="1" size="5" who="Patrick Mansfield" />
<person posts="1" size="5" who="Nestor Aaro  (by way of Nestor Aaro" />
<person posts="1" size="5" who="Inaky Perez-Gonzalez" />
<person posts="1" size="5" who="Andreas Gruenbacher" />
<person posts="1" size="5" who="&quot;Dave Gilbert (Home)&quot;" />
<person posts="1" size="5" who="Fredrik Jagenheim" />
<person posts="1" size="5" who="Jack Bowling" />
<person posts="1" size="5" who="&quot;Randy.Dunlap&quot;" />
<person posts="1" size="5" who="Karim Yaghmour" />
<person posts="1" size="5" who="Mitch Adair" />
<person posts="1" size="4" who="Alessandro Suardi" />
<person posts="1" size="4" who="=?ISO-8859-1?Q?Xos=C9_Vazquez?=" />
<person posts="1" size="4" who="&quot;Robins Tharakan&quot;" />
<person posts="1" size="4" who="&quot;Krishnakumar. R&quot;" />
<person posts="1" size="4" who="Renaud =?iso-8859-1?q?Gu=E9rin?=" />
<person posts="1" size="4" who="Magnus Danielson" />
<person posts="1" size="4" who="Alex Riesen" />
<person posts="1" size="4" who="(puledimpezi)" />
<person posts="1" size="4" who="Burton Windle" />
<person posts="1" size="4" who="Piet Delaney" />
<person posts="1" size="4" who="John Cherry" />
<person posts="1" size="4" who="(FRODRIGUEZC)" />
<person posts="1" size="4" who="&quot;Tomasz Torcz, BG&quot;" />
<person posts="1" size="4" who="&quot;Mark Studebaker&quot;" />
<person posts="1" size="4" who="(bugme-daemon)" />
<person posts="1" size="4" who="STANDARD TRUST AGENCY" />
<person posts="1" size="4" who="Florian Weimer" />
<person posts="1" size="4" who="Shawn Starr" />
<person posts="1" size="4" who="Ducrot Bruno" />
<person posts="1" size="4" who="Mathias Kretschmer" />
<person posts="1" size="4" who="Ross Vandegrift" />
<person posts="1" size="4" who="Thomas Schlichter" />
<person posts="1" size="3" who="James Cownie" />
<person posts="1" size="3" who="Stephen Cameron" />
<person posts="1" size="3" who="&quot;Ulrich Weigand&quot;" />
<person posts="1" size="3" who="Jonathan Lundell" />
<person posts="1" size="3" who="&quot;Tom Reinhart&quot;" />
<person posts="1" size="3" who="Tachino Nobuhiro" />
<person posts="1" size="3" who="Paul Larson" />
<person posts="1" size="3" who="Sahara Workshop" />
<person posts="1" size="3" who="&quot;James Watkins-Harvey&quot;" />
<person posts="1" size="3" who="(root)" />
<person posts="1" size="3" who="Patrick Plattes" />
<person posts="1" size="3" who="&quot;Pratyush Joshi&quot;" />
<person posts="1" size="3" who="Andreas Schwab" />
<person posts="1" size="3" who="Jerome Chantelauze" />
<person posts="1" size="3" who="Louis Zhuang" />
<person posts="1" size="3" who="Bijoy Thomas" />
<person posts="1" size="3" who="&quot;Mroczek, Joseph T&quot;" />
<person posts="1" size="3" who=" (Grant Grundler)" />
<person posts="1" size="3" who="Stephane Ouellette" />
<person posts="1" size="3" who="&quot;Philip R. Auld&quot;" />
<person posts="1" size="3" who="Ingo Oeser" />
<person posts="1" size="3" who="Pavel Roskin" />
<person posts="1" size="3" who="Jan Harkes" />
<person posts="1" size="3" who="Jean Delvare" />
<person posts="1" size="3" who="Fionn Behrens" />
<person posts="1" size="3" who="Dan Merillat" />
<person posts="1" size="3" who="James Morris" />
<person posts="1" size="3" who="(linas)" />
<person posts="1" size="3" who="Toru Watanabe" />
<person posts="1" size="3" who="&quot;Aneesh Kumar K.V&quot;" />
<person posts="1" size="3" who="David Leimbach" />
<person posts="1" size="3" who="Justin Cormack" />
<person posts="1" size="3" who="Jesse Barnes" />
<person posts="1" size="3" who="Sean Neakums" />
<person posts="1" size="3" who="Daniel Jacobowitz" />
<person posts="1" size="3" who="&quot;Dave Wickham&quot;" />
<person posts="1" size="3" who="&quot;Mr. James W. Laferriere&quot;" />
<person posts="1" size="3" who="Benson Chow" />
<person posts="1" size="3" who="Stefano Pettini" />
<person posts="1" size="3" who="&quot;Feldman, Scott&quot;" />
<person posts="1" size="3" who=" (Bruno Boettcher)" />
<person posts="1" size="3" who="Petr Baudis" />
<person posts="1" size="3" who="Paul Jakma" />
<person posts="1" size="3" who="&quot;Matt D. Robinson&quot;" />
<person posts="1" size="3" who="Armando Vega" />
<person posts="1" size="3" who="Ion Badulescu" />
<person posts="1" size="2" who="Antonio Hernandez" />
<person posts="1" size="2" who="Helge Deller" />
<person posts="1" size="2" who="BaliHB" />
<person posts="1" size="2" who="Jakub Bogusz" />
<person posts="1" size="2" who="Tomoya TAKA" />
<person posts="1" size="2" who="Till Immanuel Patzschke" />
<person posts="1" size="2" who="&quot;Paul Rolland&quot;" />
<person posts="1" size="2" who="Fabio Massimo Di Nitto" />
<person posts="1" size="2" who="Fredrik Tolf" />
<person posts="1" size="2" who="&quot;Dr.Williams Okun.&quot;" />
<person posts="1" size="2" who="David Zaffiro" />
<person posts="1" size="2" who="Tom Marshall" />
<person posts="1" size="2" who="Ulrich Drepper" />
<person posts="1" size="2" who="Eli Carter" />
<person posts="1" size="2" who="David Parrish" />
<person posts="1" size="2" who="Tom Rini" />
<person posts="1" size="2" who="Fendrakyn" />
<person posts="1" size="2" who="Thomas Downing" />
<person posts="1" size="2" who="Paul Mackerras" />
<person posts="1" size="2" who="Thomas Sailer" />
<person posts="1" size="2" who="tchiwam" />
<person posts="1" size="2" who="kernel" />
<person posts="1" size="2" who="Josh McKinney" />
<person posts="1" size="2" who="Peter Chubb" />
<person posts="1" size="2" who="Rob van Nieuwkerk" />
<person posts="1" size="2" who="David Ford" />
<person posts="1" size="2" who="Eyal Lebedinsky" />
<person posts="1" size="2" who="&quot;Stuart MacDonald&quot;" />
<person posts="1" size="2" who="&quot;Ruslan U. Zakirov&quot;" />
<person posts="1" size="2" who="Mika Kukkonen" />
<person posts="1" size="2" who="Stephen Tweedie" />
<person posts="1" size="2" who="Ville Herva" />
<person posts="1" size="2" who="John Bradford" />
<person posts="1" size="2" who="Thomas Backlund" />
<person posts="1" size="2" who="Andy Arvai" />
<person posts="1" size="2" who="Roger Luethi" />
<person posts="1" size="2" who="&quot;Anant Aneja&quot;" />
<person posts="1" size="2" who="filip" />
<person posts="1" size="2" who="Richard Henderson" />
<person posts="1" size="2" who="Nuno Silva" />
<person posts="1" size="2" who="Meelis Roos" />
<person posts="1" size="2" who="Jure Pecar" />
<person posts="1" size="2" who="Arnd Bergmann" />
<person posts="1" size="2" who="&quot;Alex Adriaanse&quot;" />
<person posts="1" size="2" who="Alex Tomas" />
<person posts="1" size="2" who="Jens Ansorg" />
<person posts="1" size="2" who="Dave Kleikamp" />
<person posts="1" size="2" who="Ronald Bultje" />
<person posts="1" size="2" who="Anton Blanchard" />
<person posts="1" size="2" who="Brent Clements" />
<person posts="1" size="2" who="&quot;J.A. Magallon&quot;" />
<person posts="1" size="2" who="Rick Lindsley" />
<person posts="1" size="2" who="Dave Hansen" />
<person posts="1" size="2" who="Matthew Harrell" />
<person posts="1" size="2" who="Teodor Iacob" />
<person posts="1" size="2" who="Samium Gromoff" />
<person posts="1" size="2" who="Albert Cahalan" />
<person posts="1" size="2" who="Ralf Baechle" />
<person posts="1" size="2" who="Thomas Hood" />
<person posts="1" size="2" who="Daniel Ritz" />
<person posts="1" size="2" who="Pablo Menichini" />
<person posts="1" size="2" who="Eric Wong" />
<person posts="1" size="2" who="Mark Syms" />
<person posts="1" size="2" who="Patrick Mochel" />
<person posts="1" size="2" who="Martin Mares" />
<person posts="1" size="2" who="Xavier Bestel" />
<person posts="1" size="2" who="thfFrida" />
<person posts="1" size="2" who="(fcorneli)" />
<person posts="1" size="2" who="sample junk" />
<person posts="1" size="2" who="(meyers_j)" />
<person posts="1" size="2" who="John Weber" />
<person posts="1" size="2" who="=?ISO-8859-1?Q?Stefan_G=F6rling?=" />
<person posts="1" size="2" who="Mike Dresser" />
<person posts="1" size="2" who="Neil Schemenauer" />
<person posts="1" size="2" who="Geller Sandor" />
<person posts="1" size="2" who="Stephan von Krawczynski" />
<person posts="1" size="2" who="Lars" />
<person posts="1" size="2" who="Frog" />
<person posts="1" size="2" who="ael" />
<person posts="1" size="2" who="Shilpa Ambi" />
<person posts="1" size="2" who="Mehmet Ersan TOPALOGLU" />
<person posts="1" size="2" who="Mikael Starvik" />
<person posts="1" size="2" who="Tomas Szepe" />
<person posts="1" size="2" who="Carlos Morgado" />
<person posts="1" size="2" who="David Brown" />
<person posts="1" size="2" who="prasanna panchamukhi" />
<person posts="1" size="2" who="Erik Hendriks" />
<person posts="1" size="2" who="&quot;K-MailNet&quot;" />
<person posts="1" size="1" who="&quot;Breno&quot;" />
<person posts="1" size="1" who=" &lt;urnot4free@yahoo.co.uk&gt;" />

</stats>

<section
  title="Framebuffer Fixes; Header File Reorganization"
  subject="Framebuffer fixes."
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0303.3/0853.html"
  posts="16"
  startdate="26 Mar 2003 11:57:08 -0800"
  enddate="04 Apr 2003 05:30:49 -0800"
>
<topic>Framebuffer</topic>

<mention>Geert Uytterhoeven</mention>

<p>James Simmons posted a patch against 2.5.66 and said, <quote who="James
Simmons">I tested to see if it applied. It does. Basically I added back in
the static buffers in accel_cursor in fbcon.c. Now the cursor will work
just like it did before.  The draw back is that if you have more than
one framebuffer then the cursors will be messed up. So for single headed
frmaebuffer systems it will work perfectly. It is not that big of a deal
since the console layer is broken for multi-head and pre-emptive support
anyways. Plus fbcon has issues as well. The proper fix would require a huge
amount of work.  I have a few updated drivers as well. Please test.</quote>
Antonino Daplas had some technical objections, and posted an additional patch,
and Geert Uytterhoeven also raised some technical points. At one point James
mentioned, <quote who="James Simmons">last night I displayed the 16 color
logo perfectly fine on a 16 bpp display!!!! The mono display still has bugs
tho. The new logo tries to pick the best image to display. Say for example
we have two video cards. One running VESA fbdev at 16 bpp and a another at
vga 4 planar via vga16fb. This way we can have the both the 16 color and 224
color logo compiled in.  The correct logo will be displayed then on the correct
display. Now say we only have a mono display but all the cards support 8 bpp or
better. That logo still gets displayed.</quote> But Antonino objected, <quote
who="Antonino Daplas">What I see is a problem with the new code.  What if the
display is set at 16-bpp DirectColor?  The code will choose clut224 for it,
but that is not correct and may even crash due to an "out of bounds" error
in the pseudo_palette.  Directcolor 565, for instance, will only have 32
entries for red and blue, and 64 entries for green, greatly exceeding 224.
Similarly, Directcolor &lt; 12bpp, will actually need monochrome, not even
4bpp, and definitely not clut224.  There are other obvious and non-obvious
examples that I can enumerate.</quote></p>

<p>Elsewhere, Benjamin Herrenschmidt asked James:</p>

<quote who="Benjamin Herrenschmidt">

<p>Why did you move the driver includes to include/video ? What is the
reasoning here ?</p>

<p>For example, drivers/video/radeon.h moved to include/video/radeon.h</p>

<p>Is this to be able to share register definitions with the DRM drivers ?
(I doubt this will ever happen as the DRM is rather self contained)</p>

<p>I would have preferred those includes to stay next to their respective
drivers (though renaming radeon.h to radeonfb.h might have made some
sense).</p>

</quote>

<p>James confirmed that one motivation was sharing register definitions
with the DRM drivers. He added, <quote who="James Simmons">The other
big reason was so userland could have a standard set of hardware header
files to program graphics hardware. Now SDL and directfb etc can use the
same header files.</quote> Pete Zaitcev thought this had nothing to do
with the kernel, and really belonged in glibc. But Ulrich Drepper said,
<quote who="Ulrich Drepper">Headers like have no place in glibc either.
There should be one or more separate packages which distribute kernel
headers.</quote> Pete replied, <quote who="Pete Zaitcev">I can see your
point, but imagine how many packages this is going to create. Shall we plead
with Arjan to maintain glibc-kernelheaders as a community package, to be
a clearinghouse for these things?</quote> And Christoph Hellwig replied,
<quote who="Christoph Hellwig">Yes.  It would be nice to have a tarball of
it on kernel.org instead of only the SRPM on rawhide, btw..</quote></p>

</section>

<section
  title="ATM (Asynchronous Transfer Mode) Cleanup"
  subject="[ATM] second pass at fixing atm spinlock"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0303.3/1221.html"
  posts="9"
  startdate="27 Mar 2003 14:28:28 -0800"
  enddate="03 Apr 2003 10:46:22 -0800"
>
<topic>Networking</topic>
<topic>SMP</topic>

<mention>Duncan Sands</mention>

<p>Chas Williams said:</p>

<quote who="Chas Williams">

<p>here is a further attempt at fixing the smp problems in the linux-atm stack.
things have been moved around in net/atm:</p>

<p>

<ul>

<li>atm sk's are reference counted.  this makes the vcc_release (renamed
  from atm_release_vcc for consistency) and svc_release easier to write
  since you dont need to explicity free the sk</li>

<li>vcc's are stored as a list of sockets, like other protocols</li>

<li>atm drivers should use vcc_hold/vcc_put to modify reference counts.  the
  driver should read_lock(vcc_sklist_lock) before doing a vcc_hold() if
  they are in their 'bottom half'.  i converted eni, idt77252 (untested --
  no hardware), fore200e (untest -- lazy) and nicstar.  i also included the
  he driver.  the eni driver is special, since the bottom half is a tasklet you
  can simply stop the bottom half and be sure the bottom half isnt holding
  a reference.  the he just grabs the vcc_sklist_lock and processes all
  the vcc's needing serviced.  a vcc cant disappear while the lock is held
  (since the vcc_release needs to do a write_lock to unhash the socket/vcc
  before dropping the refcnt to 0).</li>

<li>the nodev list has been removed and bind_vcc/unlink have been changed to
  just insert/remove vcc list operations.  this makes things a bit
  clearer.</li>

<li>driver's check_ci() routine have been removed in favor of the one in
  atm_misc.c.  very few were actually any faster, and this functionality is
  rarely used.</li>

<li>there is a new function, vcc_lookup(), used mostly by the fore200e and he
  driver.  vcc's returned by this function will need a vcc_put() or the ref
  count will be wrong.  in the future, most drivers should probably use this
  function to find the vcc for their newly arrived data.  there possibly
  could be a routine atmif_rx(atmdev, skb, vpi, vci) which just does the
  right thing.  ideally, atm would use netif_rx() but one would need to
  dummy up a ethernet header on each of the pdu's.  comments on that idea?</li>

<li>all the stuff from the previous version: atmdev ref counting, atm and
  clip can now build as modules.</li>

</ul>

</p>

<p><a
href="ftp://ftp.cmf.nrl.navy.mil/pub/chas/linux-atm/2_5_64_atm_dev_lock.patch">ftp://ftp.cmf.nrl.navy.mil/pub/chas/linux-atm/2_5_64_atm_dev_lock.patch</a></p>

<p>[i will try to get a 2.5.65 version available this weekend]</p>

</quote>

<p>Later he also said:</p>

<quote who="Chas Williams">

<p>i have made an equivalent version of these patches for 2.4.20 in hopes
of getting more feedback.</p>

<p><a
href="ftp://ftp.cmf.nrl.navy.mil/pub/chas/linux-atm/2_4_20_atm_dev_lock.patch">ftp://ftp.cmf.nrl.navy.mil/pub/chas/linux-atm/2_4_20_atm_dev_lock.patch</a></p>

<p>(only the nicstar, fore200e, eni and he (included) driver support the
new smp 'safe' locking)</p>

</quote>

<p>Duncan Sands and Till Immanuel Patzschke were both enthusiastic
about the work Chas had put in on this. Till said, <quote who="Till
Immanuel Patzschke">thanks for having taken the job of cleaning this up!!!
I've merged your 2.4 patch w/ my changes and check w/ a couple of thousand
PPPoA sessions created and destroyed over night (which always triggered the
locking/unlocking vcc problems on my SMP box).  I'll let you know how it goes
by tomorrow.</quote> Chas cautioned, <quote who="Chas Williams">you might still
see problem.  i didnt fix the race when opening to prevent vpi/vci collisions.
however, i should have a patch tomorrow to address this.</quote></p>

</section>

<section
  title="Linux 2.5.66-mm2 Released"
  subject="2.5.66-mm2"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0304.0/0017.html"
  posts="11"
  startdate="01 Apr 2003 00:01:27 -0800"
  enddate="07 Apr 2003 08:40:00 -0800"
>
<topic>Disks: SCSI</topic>

<p>Andrew Morton announced:</p>

<quote who="Andrew Morton">

<p><a href="ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.5/2.5.66/2.5.66-mm2/">ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.5/2.5.66/2.5.66-mm2/</a></p>

<p>

<ul>

<li>Just lots of little fixes, cleanups, late-but-promised minor features,
  etc.</li>

<li>There is a small patch from Ingo here against the CPU scheduler which we
  hope will fix the new starvation problems which people have been reporting.
  I this is you, please test and report.</li>

<li>It turns out that a recent change to the anticipatory scheduler
  accidentally made it quite ineffective on SCSI (performance is similar to
  deadline).  The patch which did that has been disabled, but we expect that
  the seeky OLTP loads will suffer until this is fixed up for real.</li>

</ul>

</p>

</quote>

</section>

<section
  title="Kernel Debugging Markers"
  subjecn="[RFC/FYI] reliable markers (hooks/probes/taps/...)"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0304.0/0546.html"
  posts="4"
  startdate="03 Apr 2003 02:07:58 -0800"
  enddate="05 Apr 2003 14:02:43 -0800"
>

<p>Werner Almesberger said:</p>

<quote who="Werner Almesberger">

<p>A while ago, there was some discussion on various mechanisms for inserting
taps for debuggers, tracing, security monitors, etc.  into the kernel.</p>

<p>Here's a pretty light-weight approach I call "reliable markers":</p>

<p>

<ul>

<li>they provide only the code locations, the rest is up to the
   debugger (or such)</li>
<li>gcc won't move them out of the code path (unlike C labels)</li>
<li>they force arguments to be where gcc says they are (in the
   DWARF2 information)</li>
<li>markers in inline functions get replicated, so one can easily   
   set breakpoints</li>
<li>zero overhead if disabled at compile-time</li>
<li>relatively small overhead if enabled at compile time (uses a
   memory clobber which constrains optimizations, no other code
   or run-time data is added)</li>

</ul>

</p>

<p>I'm using them for umlsim, http://umlsim.sourceforge.net/ The umlsim
control process reads the usual DWARF2 debugging information, and can then
also do things like:  </p>

<p>

<ul>

<li>set breakpoints, a bit like kprobes</li>
<li>call functions in the kernel (usually from the idle task)</li>
<li>force a function to return</li>
<li>read and write arguments and variables</li>

</ul>

</p>

<p>Below is a patch with the markers and two usage examples in the
kernel. On the umlsim side (uses a Perl/C-ish script language),
they would be used like this:</p>

<pre>run/ping-peek.umlsim:

...
$brk_a_out = break($a.daemon_write.entry);      &lt;--- breakpoint
...
        $pkt = $grab_outgoing_packet();         (see below)
        $enqueue($$,$pkt,$delay);
        $$.return (*skb)-&gt;len;                  &lt;--- return from function
...

include/nettap.umlsim:

global $grab_outgoing_packet = function
{
    return (unsigned char [(*skb)-&gt;len]) (*skb)-&gt;data; &lt;-- access arg &amp; var
};</pre>

<p>umlsim is still in its infancy, but this should illustrate how much can
be done with such simple breakpoint support, plus the debugging information
gcc already provides.</p>

</quote>

<p>Karim Yaghmour replied:</p>

<quote who="Karim Yaghmour">

<p>Very interesting.</p>

<p>We've already got a small program that does this for LTT statements which
we plan to use in the future: genevent.<br />
<a
href="http://www.listserv.shafik.org/pipermail/ltt-dev/2003-January/000408.html">http://www.listserv.shafik.org/pipermail/ltt-dev/2003-January/000408.html</a></p>

<p>genevent is pretty much straight forward. You type:</p>

<pre>$ ./genevent default.event
$ ls default*
-rw-rw-r--    1 karim    karim         392 Apr  5 11:58 default.c
-rw-rw-r--    1 karim    karim        6892 Apr  5 11:56 default.event
-rw-rw-r--    1 karim    karim       18328 Apr  5 11:58 default.h</pre>

<p>The default.event file contains declarations about each event. Here's
an example:</p>

<pre>//TRACE_EV_SYSCALL_ENTRY
event(TRACE_EV_SYSCALL_ENTRY, "Entry in a given system call",
      field(syscall_id, "Syscall entry number in entry.S", uint(1)),
      field(address, "Address from which call was made", uint(4))
     );</pre>

<p>And genevent creates the following entries in the default.h for it:</p>

<pre>/****  structure and trace function for event: TRACE_EV_SYSCALL_ENTRY  ****/

__attribute__((packed)) struct TRACE_EV_SYSCALL_ENTRY_default_1{
  uint8_t syscall_id; /* Syscall entry number in entry.S */
  uint32_t address; /* Address from which call was made */
};

static inline void trace_default_TRACE_EV_SYSCALL_ENTRY(uint8_t syscall_id,
uint32_t address){
  int bufLength = sizeof(struct TRACE_EV_SYSCALL_ENTRY_default_1);
  char buff[bufLength];
  struct TRACE_EV_SYSCALL_ENTRY_default_1 * __1 = (struct
TRACE_EV_SYSCALL_ENTRY_default_1 *)buff;

  //initialize structs
  __1-&gt;syscall_id =  syscall_id;
  __1-&gt;address =  address;


  //call trace function
  trace_new(facility_default, TRACE_EV_SYSCALL_ENTRY, bufLength, buff);
};

Also, genevent automatically generates an enum for all the events
described in the .event file:
enum default_event {
  TRACE_EV_START,
  TRACE_EV_SYSCALL_ENTRY,
  TRACE_EV_SYSCALL_EXIT,
  TRACE_EV_TRAP_ENTRY,
...</pre>

<p>Obviously the word "trace" is used throughout, but it can easily be
replaced by "marker" if this mechanism were generalized.</p>

<p>The intent is to have a .event file in every directory where there
are traced events in files (which are the equivalent of "markers" in your
scheme). During the build, the various headers would be created and all the
code would be generated on the fly.</p>

<p>Of course this is just a begining. We're open to suggestions and
contributions.</p>

</quote>

<p>And Werner said:</p>

<quote who="Werner Almesberger">

<p>This looks like a clear improvement, and the markup needed in the
kernel is also pretty straightforward.</p>

<p>But my approach actually goes a bit further: I don't even need to
know types, because I can extract them from debugging information.
Clearly, there is a limit on how useful this is. E.g. if a variable
changes its type from "int" to "struct something *", anything using
it will need to know. But at least changes like "int" -&gt; "unsigned
long" or -&gt; "whatever_t" don't need to be synchronized.</p>

<p>Furthermore, the markers are for desperate cases, where the
debugging information does not allow us to find arguments or
variables, or even the location for placing the breakpoint. On
function entry, it should be possible to access arguments without
any markup in the code. I'll examine that part soon.</p>

<p>Generally, my idea is to gather as much useful information from
debugging data as possible. A few observations so far (based on
using DWARF2 information; all this is on the kernel, with the usual
optimizations):</p>

<p>

<ul>

<li>gcc provides accurate type and name information</li>

<li>location of static or extern functions is accurate, but there
   doesn't seem to be a reliable means for determining where the
   function prologue ends [10000]</li>

<li>the location of inlined functions is less accurate than for
   non-inlined functions [10003]</li>

<li>labels (as in "goto foo;") are completely erratic (that's one
   reason for markers) [10001, 10002, 10003]</li>

<li> variable locations information is frequently only useful if
   we're after the prologue, and it does not accurately reflect   
   register copies, and such (that's another reason for markers)
   [10005]</li>

<li>call frame information seems to be almost sufficient for
   emulating a function return. "Almost" because I also need to
   analyze the add N,%esp instruction following the call. I'm
   not sure yet if there isn't a better way, though.</li>

</ul>

</p>

<p>The numbers in square brackets are the gcc PRs I've submitted.  (<a
href="http://gcc.gnu.org/cgi-bin/gnatsweb.pl">http://gcc.gnu.org/cgi-bin/gnatsweb.pl</a>)</p>

<p>Without optimization, some things look better, of course.</p>

<p>I'm not sure how much help we can expect from the gcc side. Some
of these things may just be too hard to fix. And others can't be
usefully fixed at all (e.g. the markers tell gcc where the focal
points are, where it has to relax optimization for accessibility).</p>

<p>Some thing I haven't looked at yet:</p>

<p>

<ul>

<li>using line numbers to specify locations. With optimization, I
   expect total disaster here. Also, line numbers are too volatile
   for few things but manual debugging.</li>

<li>passing structures as arguments, or returning them from functions</li>

<li>unusual (i.e. large) alignment settings. Perhaps I'll eventually
   need to know CFLAGS in order to reconstruct some things.</li>

</ul>

</p>

</quote>

<p>And he added:</p>

<quote who="Werner Almesberger">

<p>My goal is to reduce the markup that has to be done on the kernel to the
bare minimum. The "reliable markers" are the least intrusive way I could
think of for handling those cases where nothing else works (e.g. in the
middle of a function).</p>

<p>It would be nice to have a "global" clobber, though. I.e. one that
flushes and invalidates all values cached in registers, and that forces all
evaluations happening prior in the nominal execution flow to be carried out,
including initialization of function-local variables. That way, reliable
markers wouldn't need the list of things that might be looked at.</p>

</quote>

</section>

<section
  title="IPMI (Intelligent Platform Management Interface) Driver Update"
  subject="IPMI driver version 19 release"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0304.0/0615.html"
  posts="3"
  startdate="03 Apr 2003 08:24:02 -0800"
  enddate="03 Apr 2003 08:45:22 -0800"
>
<topic>Version Control</topic>

<mention>Jeff Garzik</mention>

<p>Corey Minyard announced:</p>

<quote who="Corey Minyard">

<p>This is a new release of the IPMI driver that fixes some performance
problems.  Some vendors implement firmware updates over IPMI, and this speeds
up that process quite a bit.</p>

<p>Linus, please apply.</p>

<p>Alan, I will send you the 2.4 patch, so you don't have to fetch it
from SF.</p>

<p>This release:</p>

<p>

<ul>

<li>Improves the "send - wait for response - send -wait for response - etc"
performance when using high-res timers.  Before, an ~10ms delay would be
added to each message, because it didn't restart the timer if nothing was
happing when a new message was started.</li>

<li>Adds some checking for leaked messages.</li>

</ul>

</p>

<p>The patch is a 2.5 version against what is current in
Bitkeeper (well, what is current in bk-CVS, thanks for the
tool, Larry).  The 2.5.66 and 2.4.20 versions are at: <a
href="http://sourceforge.net/projects/openipmi/">http://sourceforge.net/projects/openipmi/</a></p>

</quote>

<p>Jeff Garzik noticed that Corey's patch contained code that implemented a
delay within a tight loop, with interrupts disabled so no other code could
be scheduled until it finished; not only that, but the same code called
a function that also implemented a delay. He felt this could result in a
complete system lockup, and asked why Corey had done it. Corey explained,
<quote who="Corey Minyard">This only occurs in "run to completion" mode,
which is a special mode the driver goes into after a panic.  This allows
the driver to get messages out during a panic to do things like extend the
watchdog timer and send panic information.</quote></p>

</section>

<section
  title="Cleaning Up The Cache-Flushing Code"
  subject="[PATCH] flush flush_page_to_ram"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0304.0/0624.html"
  posts="5"
  startdate="03 Apr 2003 08:47:55 -0800"
  enddate="03 Apr 2003 18:11:10 -0800"
>

<mention>David S. Miller</mention>
<mention>Roman Zippel</mention>

<p>Hugh Dickins said:</p>

<quote who="Hugh Dickins">

<p>This patch removes the long deprecated flush_page_to_ram.  We have
two different schemes for doing this cache flushing stuff, the old
flush_page_to_ram way and the not so old flush_dcache_page etc. way: see
DaveM's Documentation/cachetlb.txt.  Keeping flush_page_to_ram around is
confusing, and makes it harder to get this done right.</p>

<p>All architectures are updated, but the only ones where it amounts to more
than deleting a line or two are m68k, mips, mips64 and v850.</p>

<p>I followed a prescription from DaveM (though not to the letter), that
those arches with non-nop flush_page_to_ram need to do what it did in their
clear_user_page and copy_user_page and flush_dcache_page.</p>

<p>Dave is consterned that, in the v850 nb85e case, this patch leaves its
flush_dcache_page as was, uses it in clear_user_page and copy_user_page,
instead of making them all flush icache as well.  That may be wrong: I'm
just hesitant to add cruft blindly, changing a flush_dcache macro to flush
icache too; and naively hope that the necessary flush_icache calls are
already in place.  Miles, please let us know which way is right for v850
nb85e - thanks.</p>

</quote>

<p>David S. Miller and Roman Zippel were very grateful for this work, and
thanked Hugh. Ralf Baechle remarked, <quote who="Ralf Baechle">As of about
two weeks ago I've eleminated flush_page_to_ram() from the MIPS code -
it was indeed a huge patch ...</quote> And Miles Bader said:</p>

<quote who="Miles Bader">

<p>I recently changed the v850's nb85e_cache.h to make flush_page_to_ram a
nop anyway (however since Linus hasn't applied my patch, I guess you won't
have seen that change ... HEY LINUS, PLEASE APPLY MY PATCHES!  Ahem.).</p>

<p>What's in the old version of nb85e_cache.h is incorrect anyway; until
recently I didn't have any working hardware, so it's basically all just
random cruft.</p>

<p>[To be honest, I'm not sure my new version is correct either -- just
_exactly_* what's expected from these macros is very hard to guess from
the documentation, and only a little more clear from perusing the source --
however it does seem to work in practice, unlike the old version.  * I could
just make all of them flush everything, but that's very * inefficient.</p>

</quote>

</section>

<section
  title="RadeonFB Update For 2.4"
  subject="New version of radeonfb for 2.4, please test !"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0304.0/0637.html"
  posts="1"
  startdate="03 Apr 2003 09:23:07 -0800"
>
<topic>PCI</topic>
<topic>Version Control</topic>

<p>Benjamin Herrenschmidt announced:</p>

<quote who="Benjamin Herrenschmidt">

<p>I made a patch (against current Marcelo bk) that contains a bunch of fixes
to the radeonfb driver. Among others, it includes new PCI IDs, fix problem
with some TFT panels, fix 800x600 mode acceleration, and so on... It also
brings the PowerMac PM code up to date.</p>

<p>Please, test it and let me know, especially if I broke an existing working
setup. If it didn't work for you before and still doesn't let me know of
course too, but I don't expect that to delay a merge with Marcelo.</p>

<p>This driver have been diffing for too long, with patches too scattered,
this is an attempt to consolidate all. Without news from Ani in the upcoming
week(s), I'll probably just consider myself as the new maintainer for this
driver.</p>

<p>Patch can be found at <a
href="http://penguinppc.org/~benh/radeonfb_ben.diff">http://penguinppc.org/~benh/radeonfb_ben.diff</a></p>

<p>Please, send me comments asap, as I intend to ask Marcelo to merge this
version soon. I'll send those patches to James directly for the 2.5 version
since the port in there seem to already be the one I did a few monthes ago.</p>

</quote>

</section>

<section
  title="CML2 Postmortem"
  subject="Eric Raymond`s CML2 configuration generator"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0304.0/0812.html"
  posts="3"
  startdate="04 Apr 2003 02:04:10 -0800"
  enddate="04 Apr 2003 04:06:09 -0800"
>
<topic>Kernel Build System</topic>

<mention>Roman Zippel</mention>

<p>Samium Gromoff asked:</p>

<quote who="Samium Gromoff">

<p>The question is why the utterly beautiful generator was dropped?</p>

<p>Its good side  was in its inability  to get an invalid kernel
configuration.</p>

<p>One of the obvious problems is that it was python-based, and thus being
slow and requiring python to be installed.</p>

<p>So what if it was written in C?</p>

<p>Is it possible for it to get in before 2.6?</p>

</quote>

<p>Alan Cox said that CML2 had other problems as well:</p>

<quote who="Alan Cox">

<p>It required a complete mangling of the config files<br />
It didn't include automated tools to do it<br />
It required python2<br />
It didn't support alternative config tools<br />
And a few other things</p>

</quote>

<p>He suggested Samium work on improving the existing graphical configuration
tools. Dave Jones also replied to Samium, saying that CML2 suffered from
<quote who="Dave Jones">overengineering, and not listening to the requests of
people that would spend the most time using it, instead pandoring to the needs
of figments of Erics imagination. The day Eric stopped listening to kernel
developers, kernel developers stopped listening to Eric.</quote> He said it
would make no difference if CML2 were rewritten in C; and that in any case,
it couldn't get in before 2.6; Dave said, <quote who="Dave Jones">we're well
into freeze now, and ripping out something of that size would be a major
step backwards.  Besides, Roman Zippel's kconfig work got merged instead,
which is a large improvement over what we had in 2.4</quote></p>

</section>

<section
  title="Status Of Software Suspend"
  subject="New Software Suspend Patch for testing."
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0304.0/0813.html"
  posts="6"
  startdate="04 Apr 2003 03:12:02 -0800"
  enddate="05 Apr 2003 08:58:36 -0800"
>
<topic>Disks: IDE</topic>
<topic>FS: sysfs</topic>
<topic>Software Suspend</topic>

<mention>Andrew Morton</mention>

<p>Nigel Cunningham announced:</p>

<quote who="Nigel Cunningham">

<p>A new 2.5 port of the 2.4 version is available on
<a href="http://www.sourceforge.net/projects/swsusp">www.sourceforge.net/projects/swsusp</a>.</p>

<p>The changes from the last version are not huge; perhaps most significant
is that the dynamically allocated bitmaps (in place of pageflags) are
implemented. This won't mean anything to most people, but Andrew Morton,
Pavel and Patrick should be happy. Note for Patrick: The driver code was
using KERN_EMERGENCY to print when devices were suspended/resumed. Can
we lower this to INFO (I did something alone these lines in this patch).
It mucks up the nice display :></p>

<p>Hopefully I'll soon find time to start bombarding Pavel, Patrick and
Linus with incremental patches for merging :>. In the meantime, please give
it a go.</p>

<p>Under 2.4, we use scripts that unload problematic drivers, switch to a text
console and so on before starting the process. Hopefully this will end up being
unneeded in 2.5 once the driver model is complete. In the meantime, however
(especially if you get problems!), you might like to try first with a minimal
load, and slowly add things. It does work fine on my Omnibook XE3! YMMV.</p>

<p>Brief howto:</p>

<p>(Assuming you've applied the patch against 2.5.66 - other versions may
work too).</p>

<p>

<ol>

<li>Patch, compile as normal.</li>

<li>Ensure your kernel commandline includes resume=/dev/hdaX where X is a swap
partition you will be using. More than one swap partition can be used. This
just specifies which will have its header used to indicate that the system
is suspended and where to find the data.</li>

<li>If you want debugging info: echo 1 20 15 31 > /proc/sys/kernel/swsusp
(See line 201ff of kernel/suspend.c for what the numbers mean).</li>

<li>echo 4 &gt; /proc/acpi/sleep to start the process.  The system should
save the image and powerdown.  If you choose the debugging info, you'll have
to press SHIFT at the end of each step.  If you press SHIFT at other times,
you can toggle this pausing on and off.  Whether you selected the debugging
info or not, you can press ALT to cancel the process.</li>

<li>To resume, reboot with the same kernel. The image should be detected
and reloaded without you needing to do anything special. Pausing or not is
state-persistent from when you suspended.</li>

<li>You should (DV) get your system back to where it was when you started
the process.</li>

</ol>

</p>

<p>Please report success/failure/questions on the swsusp mailing list. See
Florent's home page for details.</p>

</quote>

<p>Pavel Machek felt the code wasn't entirely ready, and Alan Cox agreed; but
along the way, Pavel noticed a part of Nigel's code that <quote who="Pavel
Machek">looks like you are fixing generic bug, which could make kernel do
something very wrong even without swsusp, right? If so, submit it to Alan,
ASAP.</quote> Alan replied, <quote who="Alan Cox">I'll grab the older ATA
spec and take a look. The other changes are broken, but this one looks quite
beliavable</quote></p>

</section>

<section
  title="Framebuffer Enhancements"
  subject="[PATCH] interlaced packed pixels"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0304.0/0816.html"
  posts="7"
  startdate="04 Apr 2003 03:17:15 -0800"
  enddate="06 Apr 2003 02:01:35 -0800"
>
<topic>Framebuffer</topic>

<p>Geert Uytterhoeven posted a very small patch and said, <quote
who="Geert Uytterhoeven">I'd like to introduce a new frame buffer type to
accommodate packed pixel frame buffers that store the even and odd fields
separately. This is typically used in graphics hardware for TV output
(e.g. set-top boxes).</quote> Alan Cox asked, <quote who="Alan Cox">While
we are at it can we also get an FB_TYPE_MJPEG ?</quote> Geert asked, <quote
who="Geert Uytterhoeven">What's the exact format description for MJPEG? YUV
4:*:*?  Shouldn't that be a FB_VISUAL_MJPEG?</quote> And Alan said, <quote
who="Alan Cox">The frame buffer holds a jpeg frame. At the moment text mode
is problematic but doable (you encode each dct square the same size for each
charater and write in a carefully sized font 8))</quote></p>

<p>Elsewhere, Russell King also replied to Geert's initial post:</p>

<quote who="Russell King">

<p>While we're on the subject of framebuffers, one area which needs to be
looked into is the pixel layout for all of:</p>

<p>

<ul>

<li>little endian byte, little endian pixel<br />
        1bpp: word 0 bit 31..0 = pixel 31..0)<br />
        16bpp: word 0 bit 31..0 = pixel1 bits 15..0 pixel0 bits 15..0)</li>
<li>little endian byte, big endian pixel<br />
        1bpp: word 0 bit 31..0 = pixel 24..31, 16..23, 8..15, 0..7)<br />
        16bpp: word 0 bit 31..0 = pixel1 bits 15..0 pixel0 bits 15..0)</li>
<li>big endian byte, big endian pixel<br />
        1bpp: word 0 bit 31..0 = pixel 0..31)<br />
        16bpp: word 0 bit 31..0 = pixel0 bits 15..0 pixel1 bits 15..0)</li>

</ul>

</p>

<p>We currently do not support all these combinations, and so far I haven't
looked into it.  It is on my (great long) to do list.</p>

</quote>

<p>And Geert replied:</p>

<quote who="Geert Uytterhoeven">

<p>Yes, this is still a (hard) problem.</p>

<p>BTW, more combinations are possible. E.g. swapped bytes in 16-bit words or
swapped 16-bit words in 32-bit words, due to hardware swapping of data bus
lines. And things get really fishy on such a system for 24-bit wide pixels.</p>

<p>The order within a pixel can already be specified using fb_bitfield.msb_right.
But how pixels are laid out in the frame buffer is a different thing.</p>

<p>I thought
about adding the following FB_TYPE_* flags a few years ago, but I'm not sure
they'll allow us to handle all cases:</p>

<p>

<ul>

<li>FB_TYPE_SWAP_8_IN_16: individual bytes within a 16-bit word are swapped</li>
<li>FB_TYPE_SWAP_16_IN_32: individual 16-bit words within a 32-bit word are
    swapped</li>
<li>FB_TYPE_SWAP_32_IN_64: individual 32-bit words within a 64-bit word are
    swapped</li>

</ul>

</p>

<p>These are supposed to be OR'ed with the current FB_TYPE_* definitions, e.g.
FB_TYPE_SWAP_32_IN_64 | FB_TYPE_SWAP_16_IN_32 | FB_TYPE_SWAP_8_IN_16 |
FB_TYPE_PACKED_PIXELS would indicate a completely swapped video bus.</p>

<p>An alternative solution moves more processing into the kernel. Since the actual
fbdev driver knows about all this (it has to provide fb_ops), it can provide
the following operations to userspace:</p>

<p>

<ul>

<li>fillrect()</li>
<li>copyrect()</li>
<li>put_image()</li>
<li>get_image()</li>

</ul>

</p>

<p>This would allow a user space application to perform all simple drawing
operations without having to care at all about the actual frame buffer
layout.</p>

<p>For more complex operations, these can be performed by the application on a
shadow frame buffer in a simple packed format, while letting the kernel take
care of the actual drawing, including necessary chunky-to-planar conversions
and bit mangling.</p>

<p>For performance reasons, the driver should report optimal positional and size
alignments for {put,get}_image().</p>

</quote>

</section>

<section
  title="Status Of linux-kernel Mailing List"
  subject="VGER's filters.."
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0304.0/0901.html"
  posts="4"
  startdate="04 Apr 2003 10:10:54 -0800"
  enddate="04 Apr 2003 15:04:52 -0800"
>
<topic>Spam</topic>

<p>Matti Aarnio offered some explanation about the linux-kernel mailing list's
behavior:</p>

<quote who="Matti Aarnio">

<p>VGER runs email processing with two layers of filters.  That we need
any such thing is due to the sorry state of email (all manner of spamming
all around).</p>

<p>VGER has web-pages where various aspects of the system are
shown, _including_ present filter-rules in Majordomo.  (  <a
href="http://vger.kernel.org/">http://vger.kernel.org/</a>  and onwards.. )</p>

<p>We have added also some synchronous filters into VGER's MTA, so that
incoming email gets rejected VERBOSELY to its sender, when couple common
cases are encountered.</p>

<p>  How do these filters work, then ?</p>

<p>Our filters are line-based one-match keyword trigger thingies.  Majordomo
1.x does not have any sort of scoring system.   Nor have we had much interest
in integrating something else, like SpamAssassin, into our MTA environment
to make scorings.</p>

<p>We are treating things like messages of TEXT/PLAIN type with BASE64 encoded
content, or messages with HTML in them  as obfuscated and potentially spam.
Our rather simple filters don't decode BASE64 (nor QP, but our MTA decodes
that).</p>

<p>I recall that I have myself tried to use Hotmail,  and found quite
easily the setups so that my outgoing email will never have HTML in them.
-- Current version of HM does not appear to send HTML, nor did I find any
settings for it.</p>

<p>Current Yahoo does not send HTML attachments either, unless poster WANTS
to send HTML by activating "Allow HTML tags" thingie at right underside of
the message body entry box.  Turning that off will not send HTML.  Plain and
simple.</p>

<p>(Making these tests took me about an hour, most of the time to get thru
all those foobar verifiers.)</p>

<p>With Yahoo I had at first immense problems to get any email from them,
as their SMTP email sender uses INVALID protocol:</p>

<p>&lt;&lt;-  MAIL FROM: &lt;yahoo-dev-null@yahoo-inc.com&gt;<br />
-&gt;&gt;  501 5.1.7 strangeness between ':' and '&lt;': &lt;yahoo-dev-null@yahoo-inc.com&gt;</p>

<p>When you read really carefully RFC 821 / 2821 syntax about that, you
will see that it does not allow space in that place.  Sendmail does, and
that has forced others to extend the syntax alike.</p>

<p>That happens only during the registration if alternate address is given.
Actual web-mail sending works as it should.</p>

<p>Yahoo is the only legitimate email source doing that of what I have seen.
(Tons of spammers do it, of course.)</p>

</quote>

</section>

<section
  title="Testing Simultaneous I/O On 4000 Disks"
  subject="Testing with 4000 disks"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0304.0/0907.html"
  posts="5"
  startdate="04 Apr 2003 10:24:33 -0800"
  enddate="07 Apr 2003 00:16:19 -0800"
>
<topic>FS: ext2</topic>
<topic>FS: ext3</topic>

<mention>Dave Hansen</mention>

<p>Continuing from <kcref subject="[patch for playing] 2.5.65 patch to
support &gt; 256 disks" startdate="21 Mar 2003 10:56:04 -0800"/>, Badari
Pulavarty reported:</p>

<quote who="Badari Pulavarty">

<p>I am trying to do IO on 4000 disks simulataneously.  Since I don't really
have 4000 disks, this is what I did.</p>

<p>I faked disks using scsi_debug. scsi_debug shares a single 8 MB chunk
for all disks. So, I created a filesystem and made a 6MB file on it. Then
I mounted all the filesystems.</p>

</quote>

<p>He went on:</p>

<quote who="Badari Pulavarty">

<p>I did "read" forever on all the mounted filesystems.  Machine hosed
up. I was able to start only 300 processes (each process doing IO on a
single filesystem).</p>

<p>I ran out of lowmem. I am wondering why I have so much ext3_inode_cache. All
4000 filesystems are ext2.</p>

</quote>

<p>Dave Hansen asked what /proc/mounts said, and Badari replied with <quote
who="Badari Pulavarty">/dev/root / ext3 rw 0 0</quote>. A couple hours later, he
also reported:</p>

<quote who="Badari Pulavarty">

<p>Okay !! I just made all my filesystem except root ext2.  (I couldn't boot
when I configed out ext3 - mounting root failed).</p>

<p>Anyway, problem seem to have gone away..  Machine is really slow while
trying to do IO on all 4000 filesystems. It is slowly creating processes.
System is 100% busy. (so far, it created 461 processes out of 4000). But we
are not running out of lowmem and inode caches seems to be reasonable..</p>

<p>So, it must be some leak in ext3..</p>

</quote>

<p>Jakob Oestergaard pointed out, <quote who="Jakob Oestergaard">Or bad
things happening because you have hundreds of processes all updating the
same physical journal...  You mounted rw, and reading a file causes a write
due to atime updates.</quote></p>

</section>

<section
  title="Linux Test Project 20030404 Released"
  subject="[ANNOUNCE] The Linux Test Project ltp-20030404 released"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0304.0/0963.html"
  posts="1"
  startdate="04 Apr 2003 13:41:24 -0800"
>
<topic>Bug Tracking</topic>
<topic>Version Control</topic>

<mention>Andreas Jaeger</mention>
<mention>Dan Kegel</mention>

<p>Robert Williamson announced:</p>

<quote who="Robert Williamson">

<p>The Linux Test Project test suite
ltp-full-20030404.tgz has been released.  Visit our website (<a
href="http://ltp.sourceforge.net">http://ltp.sourceforge.net</a>) to download
the latest version of the testsuite that contains 1000+ tests for the Linux OS.
Our site also contains other information such as: test results, a Linux test
tools matrix, an area for keeping up with fixes for known blocking problems
in the 2.5 kernel releases, technical papers and HowTos on Linux testing,
and a code coverage analysis tool.</p>

<p>Lists of test cases that are expected to fail
for specific architectures and kernels are located at: <a
href="http://ltp.sourceforge.net/expected-errors.php">http://ltp.sourceforge.net/expected-errors.php</a>
.  These lists also contain expected LTP compiler warnings for each
architecture and kernel.</p>

<p>Highlights:</p>

<p>

<ul>

<li>Stability, stability, stability! Most compiler warnings have been resolved
for i386, ppc32, ppc64, s390, and s390x architectures.</li>

<li>Thanks to Andreas Jaeger, Dan Kegel, and Doug Ramir for their dedication
to and help in increasing the stability of the LTP.</li>

</ul>

</p>

<p>A revised and updated LTP HowTo is in its final stages of review and
should be available later this month.  Plus, an ncurses-type GUI is also in
the works for inclusion into the May release.</p>

<p>We encourage the community to post results, patches, or new tests on our
mailing list, and to use the CVS bug tracking facility to report problems
that you might encounter. More details available at our web-site.  </p>

</quote>

</section>

<section
  title="Backport Of Scheduler Interactivity Patches To 2.4"
  subject="Interactivity backport to 2.4.20-ck*"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0304.0/1534.html"
  posts="9"
  startdate="07 Apr 2003 05:53:38 -0800"
  enddate="07 Apr 2003 14:59:34 -0800"
>
<topic>Big O Notation</topic>
<topic>Scheduler</topic>

<p>Con Kolivas said:</p>

<quote who="Con Kolivas">

<p>I've had numerous requests for a backport of the interactivity changes to
the O(1) scheduler for the -ck* kernels. I have resisted posting my backport
because people had described real problems with these patches. However it
seems most, if not all of the problems are related to one patch.</p>

<p>I've posted a special split out patch
(001_o1_int_pe_ll_030407_ck_2.4.20.patch) for ck that includes the new
interactivity changes, with the one patch responsible for problems backed
out. No desktop tuning patch is supposed to be necessary for this so I've
removed it from the site.Note that the full -ck4 patch does not include this
update. I would like some feedback from people using it before I make a more
substantial update to bring out a -ck5. The patches must be applied manually
in order as they're desired. I've been using them for a little while without
any problems.</p>

<p>Get them here:</p>

<p><a href="http://kernel.kolivas.org">http://kernel.kolivas.org</a></p>

</quote>

<p>Marc-Christian Petersen asked, <quote who="Marc-Christian
Petersen">Why isn't this patch completely backed out from the main
O(1) so we can see what is new?</quote> And Con gave a link to <a
href="http://kernel.kolivas.org/scheda3_ck4.bz2">a compressed patch</a>.</p>

</section>

<section
  title="Linux 2.5.67 Released"
  subject="Linux 2.5.67"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0304.0/1608.html"
  posts="17"
  startdate="07 Apr 2003 09:53:43 -0800"
  enddate="09 Apr 2003 02:38:27 -0800"
>
<topic>I2C</topic>

<p>Linus Torvalds announced <a
href="http://www.kernel.org/pub/linux/kernel/v2.5/ChangeLog-2.5.67">Linux
2.5.67</a>, saying, <quote who="Linus Torvalds">All over the place as usual
- there's definitely a lot of small things going on. PCMCIA and i2c updates
may be the most noticeable ones.</quote></p>

</section>

<section
  title="Replacing BitKeeper"
  subject="Re: BitBucket: GPL-ed KitBeeper clone"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0304.0/1658.html"
  posts="13"
  startdate="07 Apr 2003 13:22:16 -0800"
  enddate="09 Apr 2003 05:35:56 -0800"
>
<topic>Version Control</topic>

<p>Petr Baudis mentioned, <quote who="Petr
Baudis">the SVN and Arch folks have set up a mailing
list for discussion about generic "smarter patch" format, see <a
href="http://www.red-bean.com/mailman/listinfo/changesets">http://www.red-bean.com/mailman/listinfo/changesets</a>
for details/subscription.</quote> Chuck Ebbert replied:</p>

<quote who="Chuck Ebbert">

<p>Have you looked at Stellation at all?  I know the code itself is Java
but they have some neat ideas about being able to take 'slices' across the
repository and treat the slice as a single file for things like revision
tracking.  In some ways this is like a changeset; I could see wanting to
track revisions this way, for example:</p>

<p>

<ol>

<li>Changeset 'fix broken ptrace' gets applied</li>
<li>Other stuff gets changed</li>
<li>Changeset 'fix fix broken ptrace' is applied</li>

</ol>

</p>

<p>I would want to be able to treat 1 and 3 as a single changeset with two
revision levels.</p>

</quote>

<p>Larry McVoy replied, <quote who="Larry McVoy">Except that those are
ideas as far as I can tell, not actual code.  In the for what it is worth
department, we've done this internally and found it doesn't work as well
as you might hope.  Sometimes there are clear delinations and you really
can move stuff around but most of the time there is stuff built on top of
the stuff you want to move and there is no way for a program to tell the
difference between enhancements vs fixes to the original change.  Because of
this, we've developed a policy, which is very hard to make stick, which is
"one idea, one changeset, no fixes".</quote> Chuck said that the last he'd
seen, the Stellation folks had a pretty good prototype. But he also admitted,
<quote who="Chuck Ebbert">The whole Eclipse/CDT/Stellation assemblage takes so
much work just to get off the ground it's not even funny, not to mention their
directions for putting Stellation on Oracle are curiously empty.</quote></p>

</section>

<section
  title="OpenSSI 0.9.6 Released"
  subject="[ANNOUNCE]OpenSSI 0.9.6 is now available"
  archive="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0304.1/0372.html"
  posts="1"
  startdate="09 Apr 2003 05:11:51 -0800"
>
<topic>FS: NFS</topic>
<topic>FS: devfs</topic>

<p>Aneesh Kumar K.V quoted a post from Brian J. Watson from the
ssic-linux-devel mailing list:</p>

<quote who="Brian J. Watson">

<p>Since 0.8.0, OpenSSI has been booted on more than 67 IA-32 nodes.
It includes a first cut of HA-CFS, which allows the cluster to lose its CFS
root filesystem server node and continue running, if another node is attached
to the same disk. The Lustre and NFS clients were integrated (non-root). LVS
now automatically registers any socket that does a listen(). Unix domain
sockets, SysV shared memory, and SysV semaphores are all clusterwide.</p>

<p>A /proc interface can now be used to migrate a process, rather than
SIGMIGRATE. An ssidevfs mount is now done for every node, and /dev is a
context symlink into the ssidevfs for a process' node. CFS now supports
file locking via fcntl(). The SSI version of util-linux has been merged with
2.11z. The xinetd server is now run on all nodes by default.</p>

<p>Various bugs have been fixed, including races, hangs, panics, and problems
with strace on IA64 and Alpha.</p>

<p>The latest version of OpenSSI is 0.9.6. Both binary RPMs and source code
can be found on <a href="http://openssi.org/">http://openssi.org/</a>.</p>

</quote>

</section>

</kc>

