<?xml version="1.0" ?>

<kc>

<title>Kernel Traffic</title>

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

<issue num="259" date="22 May 2004 00:00:00 -0800" />

<intro>My computer crashed recently, leaving me with none; and I'm
now using a slow loaner. I'm very grateful for the loan, which came on
short notice from the <a href="http://www.eff.org">EFF</a>, but I need
a faster machine on a more permanent basis. At the moment I can't afford
this at all, so if anyone is interested in donating a machine, please <a
href="mailto:zbrown@tumblerings.org">let me know</a>.</intro>

<stats posts="1946" size="9742" contrib="508" multiples="265" lastweek="172">

<person posts="71" size="404" who="Paul Jackson" />
<person posts="67" size="321" who="Andrew Morton" />
<person posts="65" size="232" who="Jeff Garzik" />
<person posts="46" size="192" who="Andrea Arcangeli" />
<person posts="37" size="120" who="Pavel Machek" />
<person posts="35" size="191" who="William Lee Irwin III" />
<person posts="34" size="189" who="Pavel Machek" />
<person posts="32" size="152" who="Matt Mackall" />
<person posts="27" size="104" who="Benjamin Herrenschmidt" />
<person posts="27" size="75" who="Greg KH" />
<person posts="25" size="124" who="&quot;Martin J. Bligh&quot;" />
<person posts="24" size="150" who="Matthew Dobson" />
<person posts="23" size="284" who="Hugh Dickins" />
<person posts="23" size="83" who="Nigel Cunningham" />
<person posts="23" size="70" who="Andi Kleen" />
<person posts="22" size="136" who="&quot;Richard B. Johnson&quot;" />
<person posts="21" size="89" who="Tom Rini" />
<person posts="21" size="86" who="Len Brown" />
<person posts="21" size="75" who="Nick Piggin" />
<person posts="18" size="62" who="Arjan van de Ven" />
<person posts="18" size="61" who="Ingo Molnar" />
<person posts="17" size="65" who="&quot;Michael Frank&quot;" />
<person posts="17" size="60" who="Richard Browning" />
<person posts="16" size="81" who="&quot;Justin T. Gibbs&quot;" />
<person posts="15" size="50" who="Denis Vlasenko" />
<person posts="15" size="41" who="Jamie Lokier" />
<person posts="14" size="122" who="Clay Haapala" />
<person posts="14" size="54" who="David Mosberger" />
<person posts="14" size="43" who="Willy TARREAU" />
<person posts="13" size="99" who="Sid Boyce" />
<person posts="13" size="72" who="Dipankar Sarma" />
<person posts="13" size="63" who="&quot;Stephen C. Tweedie&quot;" />
<person posts="13" size="41" who="Jesse Barnes" />
<person posts="12" size="36" who="&quot;David S. Miller&quot;" />
<person posts="12" size="30" who="Christoph Hellwig" />
<person posts="11" size="41" who="Marcelo Tosatti" />
<person posts="11" size="39" who="Bartlomiej Zolnierkiewicz" />
<person posts="11" size="34" who="James Morris" />
<person posts="10" size="79" who="Zwane Mwaikambo" />
<person posts="10" size="48" who="&quot;Ivan Godard&quot;" />
<person posts="10" size="37" who="Takashi Iwai" />
<person posts="10" size="34" who="Geert Uytterhoeven" />
<person posts="10" size="26" who="Meelis Roos" />
<person posts="9" size="223" who="Martin Schwidefsky" />
<person posts="9" size="60" who="Sridhar Samudrala" />
<person posts="9" size="40" who="Rusty Russell" />
<person posts="9" size="31" who="David Brownell" />
<person posts="9" size="27" who="Marc-Christian Petersen" />
<person posts="9" size="25" who="Trond Myklebust" />
<person posts="8" size="84" who="Jouni Malinen" />
<person posts="8" size="29" who="Chris Mason" />
<person posts="8" size="23" who="Lev Lvovsky" />
<person posts="7" size="37" who="&quot;Amit S. Kale&quot;" />
<person posts="7" size="24" who="Dave Jones" />
<person posts="7" size="23" who="Russell King" />
<person posts="7" size="22" who="Jens Axboe" />
<person posts="7" size="21" who="Chris Friesen" />
<person posts="7" size="17" who="Andi Kleen" />
<person posts="6" size="32" who="Erich Focht" />
<person posts="6" size="30" who="Paul Mackerras" />
<person posts="6" size="28" who="=?ISO-8859-1?Q?Fr=E9d=E9ric_L=2E_W=2E_Meunier?=" />
<person posts="6" size="27" who="=?ISO-8859-1?Q?R=FCdiger_Klaehn?=" />
<person posts="6" size="27" who="&quot;Randy.Dunlap&quot;" />
<person posts="6" size="24" who="DervishD" />
<person posts="6" size="21" who="&quot;John Stoffel&quot;" />
<person posts="6" size="18" who="Praedor Atrebates" />
<person posts="6" size="17" who="Tony Lindgren" />
<person posts="6" size="17" who="Glenn Johnson" />
<person posts="6" size="15" who="bert hubert" />
<person posts="5" size="136" who="Ian Campbell" />
<person posts="5" size="98" who="Robert Schwebel" />
<person posts="5" size="90" who="=?big5?B?Qy5MLiBUaWVuIC0gpdCp08Kn?=" />
<person posts="5" size="58" who="Matthias Andree" />
<person posts="5" size="42" who="Martin Schaffner" />
<person posts="5" size="29" who="Linus Torvalds" />
<person posts="5" size="24" who="Robert Olsson" />
<person posts="5" size="22" who="Micha Feigin" />
<person posts="5" size="21" who="Marc Lehmann" />
<person posts="5" size="19" who="James Simmons" />
<person posts="5" size="18" who="mohanlal jangir" />
<person posts="5" size="18" who="Andries Brouwer" />
<person posts="5" size="18" who="Dmitry Torokhov" />
<person posts="5" size="17" who="Francois Romieu" />
<person posts="5" size="15" who="&quot;R. J. Wysocki&quot;" />
<person posts="5" size="14" who="David Woodhouse" />
<person posts="5" size="14" who="Alan Stern" />
<person posts="4" size="89" who="Dave Boutcher" />
<person posts="4" size="47" who="Marco Baan" />
<person posts="4" size="35" who="Hasso Tepper" />
<person posts="4" size="33" who="Bernd Fuhrmann" />
<person posts="4" size="32" who="Carl-Daniel Hailfinger" />
<person posts="4" size="30" who="BlaisorBlade" />
<person posts="4" size="29" who="Scott Long" />
<person posts="4" size="27" who="Kevin Corry" />
<person posts="4" size="23" who="Andreas Hartmann" />
<person posts="4" size="19" who="Chris Stromsoe" />
<person posts="4" size="18" who="Olof Johansson" />
<person posts="4" size="18" who="Matthew Dharm" />
<person posts="4" size="17" who="Ross Dickson" />
<person posts="4" size="16" who="&quot;Kenneth Chen&quot;" />
<person posts="4" size="16" who="Colin Leroy" />
<person posts="4" size="15" who="Petr Sebor" />
<person posts="4" size="14" who="Andre Hedrick" />
<person posts="4" size="14" who="(mike.miller)" />
<person posts="4" size="13" who="Balazs Ree" />
<person posts="4" size="13" who="john stultz" />
<person posts="4" size="13" who="Andries Brouwer" />
<person posts="4" size="13" who="Bongani Hlope" />
<person posts="4" size="12" who="Hans Reiser" />
<person posts="4" size="12" who="&quot;Jinu M.&quot;" />
<person posts="4" size="12" who="Adam Belay" />
<person posts="4" size="12" who="Wakko Warner" />
<person posts="4" size="12" who="Rick Lindsley" />
<person posts="4" size="12" who="Jarno Paananen" />
<person posts="4" size="11" who="Sven Hartge" />
<person posts="4" size="10" who="Luke-Jr" />
<person posts="4" size="10" who="&quot;J. Ryan Earl&quot;" />
<person posts="3" size="36" who="Marcel Holtmann" />
<person posts="3" size="31" who="Albert Cahalan" />
<person posts="3" size="31" who="Eric Valette" />
<person posts="3" size="30" who="Gabriel Devenyi" />
<person posts="3" size="28" who="&quot;Manpreet Singh&quot;" />
<person posts="3" size="26" who="&quot;Nikita V. Youshchenko&quot;" />
<person posts="3" size="26" who="&quot;Moore, Robert&quot;" />
<person posts="3" size="22" who="Zoltan Menyhart" />
<person posts="3" size="18" who="Florian Lohoff" />
<person posts="3" size="17" who="Neil Brown" />
<person posts="3" size="15" who="&quot;O.Sezer&quot;" />
<person posts="3" size="14" who="Helge Deller" />
<person posts="3" size="14" who="Peter Osterlund" />
<person posts="3" size="14" who="&quot;Nakajima, Jun&quot;" />
<person posts="3" size="14" who="George Anzinger" />
<person posts="3" size="13" who="Christoph Hellwig" />
<person posts="3" size="12" who="Felipe Alfaro Solana" />
<person posts="3" size="11" who="David Gibson" />
<person posts="3" size="11" who="Robin Holt" />
<person posts="3" size="11" who="Martin Zwickel" />
<person posts="3" size="11" who="Chris Cheney" />
<person posts="3" size="11" who="Lars Marowsky-Bree" />
<person posts="3" size="11" who=" (Eric W. Biederman)" />
<person posts="3" size="11" who="Bill Davidsen" />
<person posts="3" size="10" who="John Cherry" />
<person posts="3" size="10" who="(kuznet)" />
<person posts="3" size="10" who="&quot;Prakash K. Cheemplavam&quot;" />
<person posts="3" size="10" who="Adrian Bunk" />
<person posts="3" size="9" who="OGAWA Hirofumi" />
<person posts="3" size="9" who="John Lee" />
<person posts="3" size="9" who="Ivan Gyurdiev" />
<person posts="3" size="9" who="Samuel Rydh" />
<person posts="3" size="9" who="&quot;J.A. Magallon&quot;" />
<person posts="3" size="9" who="Olaf Hering" />
<person posts="3" size="9" who="(khandelw)" />
<person posts="3" size="9" who="&quot;Colin Leroy&quot;" />
<person posts="3" size="9" who="Mikael Pettersson" />
<person posts="3" size="8" who="Stefan Smietanowski" />
<person posts="3" size="8" who="&quot;Marco Berizzi&quot;" />
<person posts="3" size="8" who="Arkadiusz Miskiewicz" />
<person posts="3" size="8" who="Arvind Autar" />
<person posts="3" size="8" who="Vojtech Pavlik" />
<person posts="3" size="8" who="Karim Yaghmour" />
<person posts="3" size="8" who="Rik van Riel" />
<person posts="3" size="8" who="Davide Libenzi" />
<person posts="3" size="8" who="Andrzej Krzysztofowicz" />
<person posts="3" size="8" who="Dieter Stueken" />
<person posts="3" size="7" who="Phil Oester" />
<person posts="3" size="7" who="&quot;Emma&quot;" />
<person posts="3" size="7" who="Chris Wedgwood" />
<person posts="3" size="6" who="=?iso-8859-2?q?Micha=B3_Roszka?=" />
<person posts="2" size="177" who="&quot;Anders K. Pedersen&quot;" />
<person posts="2" size="61" who="Oystein Haare" />
<person posts="2" size="49" who="Wim Van Sebroeck" />
<person posts="2" size="47" who="Ken Ashcraft" />
<person posts="2" size="47" who="Vincent C Jones" />
<person posts="2" size="44" who="Matthew Wilcox" />
<person posts="2" size="42" who="Matt Miller" />
<person posts="2" size="37" who="Fabio Coatti" />
<person posts="2" size="19" who="Jurriaan" />
<person posts="2" size="15" who="Sergey Vlasov" />
<person posts="2" size="14" who="Jaco Kroon" />
<person posts="2" size="14" who="Jaroslav Kysela" />
<person posts="2" size="14" who="Armin Schindler" />
<person posts="2" size="13" who="&quot;Sergey S. Kostyliov&quot;" />
<person posts="2" size="12" who="Hugo Mills" />
<person posts="2" size="10" who="(shai)" />
<person posts="2" size="10" who="(bero)" />
<person posts="2" size="10" who="&quot;Nguyen, Tom L&quot;" />
<person posts="2" size="9" who="Mike Christie" />
<person posts="2" size="9" who="Andrew Theurer" />
<person posts="2" size="9" who="Eric" />
<person posts="2" size="9" who="Mark Gross" />
<person posts="2" size="9" who="Auzanneau Gregory" />
<person posts="2" size="8" who="Shawn Lindberg" />
<person posts="2" size="8" who="&quot;Ulrich Windl&quot;" />
<person posts="2" size="8" who="&quot;Hyok S. Choi&quot;" />
<person posts="2" size="8" who="&quot;Ivica Ico Bukvic&quot;" />
<person posts="2" size="8" who="Gene Heskett" />
<person posts="2" size="8" who="&quot;Justin Piszcz&quot;" />
<person posts="2" size="8" who="Anton Altaparmakov" />
<person posts="2" size="7" who="Hanna Linder" />
<person posts="2" size="7" who="walt" />
<person posts="2" size="7" who="Jonathan Sambrook" />
<person posts="2" size="7" who="Tomasz Rola" />
<person posts="2" size="7" who="Nathan Scott" />
<person posts="2" size="7" who="Ulrich Drepper" />
<person posts="2" size="7" who="Mike Waychison" />
<person posts="2" size="7" who="Dan Hopper" />
<person posts="2" size="7" who="Srivatsa Vaddagiri" />
<person posts="2" size="7" who="Tony Breeds" />
<person posts="2" size="7" who="John McCutchan" />
<person posts="2" size="7" who="Ralf Hildebrandt" />
<person posts="2" size="7" who="Herbert Xu" />
<person posts="2" size="7" who="Thomas Svedberg" />
<person posts="2" size="7" who="Erik Andersen" />
<person posts="2" size="6" who="Badari Pulavarty" />
<person posts="2" size="6" who="(mikem)" />
<person posts="2" size="6" who=" (don)" />
<person posts="2" size="6" who="Nikita Danilov" />
<person posts="2" size="6" who="(Andries.Brouwer)" />
<person posts="2" size="6" who="James Bottomley" />
<person posts="2" size="6" who="David Weinehall" />
<person posts="2" size="6" who="Christian Leber" />
<person posts="2" size="6" who="Larry McVoy" />
<person posts="2" size="6" who="Scott Feldman" />
<person posts="2" size="6" who="Robert Gadsdon" />
<person posts="2" size="6" who="Guennadi Liakhovetski" />
<person posts="2" size="6" who="(viro)" />
<person posts="2" size="6" who="&quot;Hemmann, Volker Armin&quot;" />
<person posts="2" size="6" who="Frank Denis" />
<person posts="2" size="6" who="(markw)" />
<person posts="2" size="6" who="Dirk Morris" />
<person posts="2" size="6" who="Dumitru Ciobarcianu" />
<person posts="2" size="6" who="Todd Poynor" />
<person posts="2" size="6" who="Stephen Smalley" />
<person posts="2" size="6" who="=?ISO-8859-1?Q?Ram=F3n?= Rey Vicente" />
<person posts="2" size="6" who="Rik van Ballegooijen" />
<person posts="2" size="6" who="Ben Collins" />
<person posts="2" size="6" who="Karol Kozimor" />
<person posts="2" size="6" who="Keith Owens" />
<person posts="2" size="6" who="&quot;Maciej W. Rozycki&quot;" />
<person posts="2" size="6" who="&quot;Miller, Mike (OS Dev)&quot;" />
<person posts="2" size="5" who="Matt Domsch" />
<person posts="2" size="5" who="Andreas Jellinghaus" />
<person posts="2" size="5" who="&quot;Chen, Kenneth W&quot;" />
<person posts="2" size="5" who="Stephen Hemminger" />
<person posts="2" size="5" who="Edgar Toernig" />
<person posts="2" size="5" who="Listar Mailing List Mangler" />
<person posts="2" size="5" who="Ben Greear" />
<person posts="2" size="5" who="Zoltan NAGY" />
<person posts="2" size="5" who="Andreas Happe" />
<person posts="2" size="5" who="Chris Wright" />
<person posts="2" size="5" who="Roland Dreier" />
<person posts="2" size="5" who="Manfred Spraul" />
<person posts="2" size="5" who="Helge Hafting" />
<person posts="2" size="5" who="Maciej Soltysiak" />
<person posts="2" size="5" who="Sam Ravnborg" />
<person posts="2" size="4" who="James Lamanna" />
<person posts="2" size="4" who="Michel Roelofs" />
<person posts="2" size="4" who="(tigran)" />
<person posts="2" size="4" who="&quot;Casey Allen Shobe&quot;" />
<person posts="2" size="4" who="&quot;Job 317&quot;" />
<person posts="2" size="4" who="Giuliano Pochini" />
<person posts="2" size="4" who="&quot;n.v.t n.v.t&quot;" />
<person posts="2" size="4" who="Ivan Kokshaysky" />
<person posts="2" size="4" who="Anton Blanchard" />
<person posts="2" size="4" who="=?iso-8859-1?q?g=20atmaram?=" />
<person posts="1" size="56" who="Redeeman" />
<person posts="1" size="39" who="&quot;Paul&quot;" />
<person posts="1" size="37" who="Carsten Menke" />
<person posts="1" size="35" who="Joey Parrish" />
<person posts="1" size="33" who="Paul Blazejowski" />
<person posts="1" size="33" who="Lucas de Souza Santos" />
<person posts="1" size="27" who="Piet Delaney" />
<person posts="1" size="19" who="&quot;Alexander Stohr&quot;" />
<person posts="1" size="16" who="long" />
<person posts="1" size="15" who="&quot;Bagalkote, Sreenivas&quot;" />
<person posts="1" size="11" who="&quot;James B. Hiller&quot;" />
<person posts="1" size="11" who="&quot;Li, Shaohua&quot;" />
<person posts="1" size="11" who="Nobuhiko Yoshida" />
<person posts="1" size="10" who="(uaca)" />
<person posts="1" size="9" who="&quot;F.Jin&quot;" />
<person posts="1" size="8" who="Tim Blechmann" />
<person posts="1" size="8" who="&quot;Leubner, Achim&quot;" />
<person posts="1" size="8" who="(ico)" />
<person posts="1" size="8" who="Vladimir Klenov" />
<person posts="1" size="7" who="Tomas Vinar" />
<person posts="1" size="7" who="&quot;Brian T. Brunner&quot;" />
<person posts="1" size="7" who="Lincoln Dale" />
<person posts="1" size="7" who="Ray Bryant" />
<person posts="1" size="7" who=" (Arthur Othieno)" />
<person posts="1" size="7" who="Roland Mas" />
<person posts="1" size="7" who="Hirokazu Takata" />
<person posts="1" size="7" who="hamish" />
<person posts="1" size="7" who="Richard Zidlicky" />
<person posts="1" size="6" who="Frederik Himpe" />
<person posts="1" size="6" who="Andreas Henriksson" />
<person posts="1" size="6" who="Stephen Rothwell" />
<person posts="1" size="6" who="Thomas Steudten" />
<person posts="1" size="6" who="&quot;Guy&quot;" />
<person posts="1" size="6" who="(trini)" />
<person posts="1" size="6" who="Brian Gerst" />
<person posts="1" size="5" who=" (Frank A. Uepping)" />
<person posts="1" size="5" who="Alexander Larsson" />
<person posts="1" size="5" who="Maneesh Soni" />
<person posts="1" size="5" who="Michael Baehr" />
<person posts="1" size="5" who="equi-NoX" />
<person posts="1" size="5" who="(jg9600)" />
<person posts="1" size="5" who="Malte =?iso-8859-1?q?Schr=F6der?=" />
<person posts="1" size="5" who="Romain Lievin" />
<person posts="1" size="5" who="&quot;Nicolas Ross&quot;" />
<person posts="1" size="5" who="Humberto Massa" />
<person posts="1" size="4" who="Miquel van Smoorenburg" />
<person posts="1" size="4" who="Nick Craig-Wood" />
<person posts="1" size="4" who="&quot;Patrick J. LoPresti&quot;" />
<person posts="1" size="4" who="Henrik Gustafsson" />
<person posts="1" size="4" who="&quot;Patrick J. LoPresti&quot;" />
<person posts="1" size="4" who="(slindber)" />
<person posts="1" size="4" who="Ric Wheeler" />
<person posts="1" size="4" who="Tim Moore" />
<person posts="1" size="4" who="Alexander Hoogerhuis" />
<person posts="1" size="4" who="Jurgen Kramer" />
<person posts="1" size="4" who="Jonathan Sambrook" />
<person posts="1" size="4" who="Dominik Brodowski" />
<person posts="1" size="4" who="Andy Isaacson" />
<person posts="1" size="4" who="Brandon Low" />
<person posts="1" size="4" who="Eric Dumazet" />
<person posts="1" size="4" who="Antony Suter" />
<person posts="1" size="4" who="&quot;Bill Rugolsky Jr.&quot;" />
<person posts="1" size="4" who="Mary Edie Meredith" />
<person posts="1" size="4" who="Diego Calleja =?ISO-8859-15?Q?Garc=EDa?=" />
<person posts="1" size="4" who="Patrick McHardy" />
<person posts="1" size="4" who="(Valdis.Kletnieks)" />
<person posts="1" size="4" who="Andreas Dilger" />
<person posts="1" size="4" who="Christian Vogel" />
<person posts="1" size="4" who="&quot;Marcos D. Marado Torres&quot;" />
<person posts="1" size="4" who="Jan-Benedict Glaw" />
<person posts="1" size="4" who="Vincent Bernat" />
<person posts="1" size="4" who="Rokob Tibor Andras" />
<person posts="1" size="4" who="Paul Wagland" />
<person posts="1" size="3" who="&quot;Rui Santos&quot;" />
<person posts="1" size="3" who="Rajesh Venkatasubramanian" />
<person posts="1" size="3" who="Matthew Reppert" />
<person posts="1" size="3" who="&quot;Brown, Len&quot;" />
<person posts="1" size="3" who="Zdenek Tlusty" />
<person posts="1" size="3" who="David Lang" />
<person posts="1" size="3" who="Matt Gulick" />
<person posts="1" size="3" who="Mariusz Mazur" />
<person posts="1" size="3" who="Szakacsits Szabolcs" />
<person posts="1" size="3" who="Horst von Brand" />
<person posts="1" size="3" who="Markus Gaugusch" />
<person posts="1" size="3" who="David T Hollis" />
<person posts="1" size="3" who="Con Kolivas" />
<person posts="1" size="3" who="&quot;Andrew Reiter&quot;" />
<person posts="1" size="3" who="Petr Vandrovec" />
<person posts="1" size="3" who="Niel Lambrechts" />
<person posts="1" size="3" who="David Kastrup" />
<person posts="1" size="3" who="&quot;AHMED JAMAL BENNIS &quot;" />
<person posts="1" size="3" who="Pavel Mironchik" />
<person posts="1" size="3" who="Kristian =?ISO-8859-1?Q?S=F8rensen?=" />
<person posts="1" size="3" who="&quot;Dr. Giovanni A. Orlando&quot;" />
<person posts="1" size="3" who="&quot;Sofia Pujeh&quot;" />
<person posts="1" size="3" who="J" />
<person posts="1" size="3" who="Herbert Poetzl" />
<person posts="1" size="3" who="Cameron Patrick" />
<person posts="1" size="3" who="Sven Dowideit" />
<person posts="1" size="3" who="Nick Piggin" />
<person posts="1" size="3" who="Ignacy Gawedzki" />
<person posts="1" size="3" who="Brian Childs" />
<person posts="1" size="3" who="Willy Tarreau" />
<person posts="1" size="3" who="&quot;Paul Rolland&quot;" />
<person posts="1" size="3" who="Christian Kujau" />
<person posts="1" size="3" who="Jedi/Sector One" />
<person posts="1" size="3" who="Christophe Saout" />
<person posts="1" size="3" who="Manuel Jander" />
<person posts="1" size="3" who="Daniel Forrest" />
<person posts="1" size="3" who="(postmaster)" />
<person posts="1" size="3" who="Joel Jaeggli" />
<person posts="1" size="3" who="=?iso-8859-1?Q?J=F6rn?= Engel" />
<person posts="1" size="3" who="(frontstep)" />
<person posts="1" size="3" who="Ricky Beam" />
<person posts="1" size="3" who="(service.messagerie-em)" />
<person posts="1" size="3" who="Janne Pikkarainen" />
<person posts="1" size="3" who="&quot;Jason Munro&quot;" />
<person posts="1" size="3" who="Kirk Reiser" />
<person posts="1" size="3" who="Mark" />
<person posts="1" size="3" who="&quot;John Hawkes&quot;" />
<person posts="1" size="3" who="Jakub Jelinek" />
<person posts="1" size="3" who="Ignacy Gawedzki" />
<person posts="1" size="3" who="Michael Pavlovsky" />
<person posts="1" size="3" who="cliff white" />
<person posts="1" size="3" who="Christoph Pleger" />
<person posts="1" size="3" who="Oliver Feiler" />
<person posts="1" size="3" who="Stephens Tim-MGI1634" />
<person posts="1" size="3" who="Jean Delvare" />
<person posts="1" size="3" who="&quot;Siseci&quot;" />
<person posts="1" size="3" who=" (Michael Mauch)" />
<person posts="1" size="3" who="Hugang" />
<person posts="1" size="3" who="Chuck Campbell" />
<person posts="1" size="3" who="Phil Rigby" />
<person posts="1" size="3" who="&quot;Nick Warne&quot;" />
<person posts="1" size="3" who="(emanager)" />
<person posts="1" size="3" who="Claudio Martins" />
<person posts="1" size="3" who="&quot;Shawn Starr&quot;" />
<person posts="1" size="2" who="&quot;Miquel van Smoorenburg&quot;" />
<person posts="1" size="2" who="Heiko Carstens" />
<person posts="1" size="2" who="Brian Jackson" />
<person posts="1" size="2" who="&quot;F. Baker&quot;" />
<person posts="1" size="2" who="&quot;chas williams (contractor)&quot;" />
<person posts="1" size="2" who="Nick Popoff" />
<person posts="1" size="2" who="Roger Luethi" />
<person posts="1" size="2" who="Jeff Chua" />
<person posts="1" size="2" who="&quot;Jim Gifford&quot;" />
<person posts="1" size="2" who="Deepak Saxena" />
<person posts="1" size="2" who="&quot;Gruzchiki&quot;" />
<person posts="1" size="2" who="Andrew Morton" />
<person posts="1" size="2" who="Bjorn Helgaas" />
<person posts="1" size="2" who="Pasi Savolainen" />
<person posts="1" size="2" who="Chris Meadors" />
<person posts="1" size="2" who="=?ISO-8859-1?Q?Lenar_L=F5hmus?=" />
<person posts="1" size="2" who="Mark McPherson" />
<person posts="1" size="2" who="(Jean-Francois.Martel)" />
<person posts="1" size="2" who="(lml)" />
<person posts="1" size="2" who="Dave McCracken" />
<person posts="1" size="2" who="Tyler Riddle" />
<person posts="1" size="2" who="Stefan Seyfried" />
<person posts="1" size="2" who="Ari Pollak" />
<person posts="1" size="2" who="&quot;Timothy C. McGrath&quot;" />
<person posts="1" size="2" who="Darren Williams" />
<person posts="1" size="2" who="John Rose" />
<person posts="1" size="2" who="Martijn Kuipers" />
<person posts="1" size="2" who="Dave Hansen" />
<person posts="1" size="2" who="Anurekh Saxena" />
<person posts="1" size="2" who="&quot;Robert L. Harris&quot;" />
<person posts="1" size="2" who="&quot;Barry K. Nathan&quot;" />
<person posts="1" size="2" who="GOTO Masanori" />
<person posts="1" size="2" who="Daniel Drake" />
<person posts="1" size="2" who="&quot;Anthony Rosati (NSI)&quot;" />
<person posts="1" size="2" who="Joseph Pingenot" />
<person posts="1" size="2" who="Jonathan Briggs" />
<person posts="1" size="2" who="Grzegorz Kulewski" />
<person posts="1" size="2" who="Greg Ungerer" />
<person posts="1" size="2" who="Malcolm Blaney" />
<person posts="1" size="2" who="Greg Weeks" />
<person posts="1" size="2" who="Christian Gut" />
<person posts="1" size="2" who="Nigel Kukard" />
<person posts="1" size="2" who="Dominik Karall" />
<person posts="1" size="2" who="Marco d'Itri" />
<person posts="1" size="2" who="Ruth Ivimey-Cook" />
<person posts="1" size="2" who="&quot;O.Sezer&quot;" />
<person posts="1" size="2" who="&quot;John Bothe&quot;" />
<person posts="1" size="2" who="Rajsekar" />
<person posts="1" size="2" who="Ananth N Mavinakayanahalli" />
<person posts="1" size="2" who="Davyd Madeley" />
<person posts="1" size="2" who="&quot;Matt H.&quot;" />
<person posts="1" size="2" who="badari" />
<person posts="1" size="2" who="&quot;Randy.Dunlap&quot;" />
<person posts="1" size="2" who="Daniel Egger" />
<person posts="1" size="2" who="Jeff Woods" />
<person posts="1" size="2" who="Alex Williamson" />
<person posts="1" size="2" who="Andreas Happe" />
<person posts="1" size="2" who="Eli Cohen" />
<person posts="1" size="2" who=" (Danny ter Haar)" />
<person posts="1" size="2" who="Oliver Neukum" />
<person posts="1" size="2" who="&quot;Emma&quot;" />
<person posts="1" size="2" who="&quot;Emma&quot;" />
<person posts="1" size="2" who="Hans-Peter Jansen" />
<person posts="1" size="2" who="Ingo Oeser" />
<person posts="1" size="2" who="Heinz Diehl" />
<person posts="1" size="2" who="&quot;ben&quot;" />
<person posts="1" size="2" who="Matti Aarnio" />
<person posts="1" size="2" who="Emmanuel Fleury" />
<person posts="1" size="2" who="&quot;Jan Kesten&quot;" />
<person posts="1" size="2" who="(gstein)" />
<person posts="1" size="2" who="Harald Glatt" />
<person posts="1" size="2" who="christophe varoqui" />
<person posts="1" size="2" who="Telephone Wind-up" />
<person posts="1" size="2" who="dean gaudet" />
<person posts="1" size="2" who="billy rose" />
<person posts="1" size="2" who="Roman Zippel" />
<person posts="1" size="2" who="Cory Tusar" />
<person posts="1" size="2" who="Carl Spalletta" />
<person posts="1" size="2" who="&quot;Frederick, Fabian&quot;" />
<person posts="1" size="2" who="&quot;sebastien\.bourdeauducq&quot;" />
<person posts="1" size="2" who="&quot;Steve Kieu&quot;" />
<person posts="1" size="2" who="Timothy Miller" />
<person posts="1" size="2" who="(tbeg)" />
<person posts="1" size="2" who="Roland Stigge" />
<person posts="1" size="2" who="Benoit Poulot-Cazajous" />
<person posts="1" size="2" who="&quot;Linux Kernel&quot;" />
<person posts="1" size="2" who="Juan Antonio Magallon" />
<person posts="1" size="2" who="Warren Turkal" />
<person posts="1" size="2" who="The NeverGone" />
<person posts="1" size="2" who="Mike Fedyk" />
<person posts="1" size="2" who="Rajsekar" />
<person posts="1" size="2" who="(bulletproof)" />
<person posts="1" size="2" who="Fabian Fenaut" />
<person posts="1" size="2" who="Chuck Lever" />
<person posts="1" size="2" who="&quot;Svetoslav Slavtchev&quot;" />
<person posts="1" size="2" who="(joe)" />
<person posts="1" size="2" who="&quot;faustino&quot;" />
<person posts="1" size="2" who="&quot;irvin&quot;" />
<person posts="1" size="2" who="Wolfgang Korsch" />
<person posts="1" size="2" who="Oleg Drokin" />
<person posts="1" size="2" who="Jacob Larsen" />
<person posts="1" size="1" who="Fabian Frederick" />
<person posts="1" size="1" who="Female Gushers" />
<person posts="1" size="1" who="Soeren Noehr Christensen" />
<person posts="1" size="1" who="Ecartis" />

</stats>

<section
  title="PXA255 LCD Driver"
  subject="[PATCH] PXA255 LCD Driver"
  archive="http://www.google.com/groups?hl=en&amp;lr=&amp;ie=UTF-8&amp;selm=1AGjG-4zi-13%40gated-at.bofh.it"
  posts="13"
  startdate="17 Mar 2004 02:09:43 -0800"
  enddate="25 Mar 2004 09:13:39 -0800"
>
<topic>Framebuffer</topic>
<topic>I2C</topic>
<topic>MAINTAINERS File</topic>
<topic>Sound: i810</topic>
<topic>Version Control</topic>

<p>Ian Campbell said, <quote who="Ian Campbell">Attached is a patch
against the most recent BK tree which implements a driver for the on-chip
LCD controller of the Xscale PXA255 processor. It is based on the SA1100
FB driver and has been hacked on by various people on the ARM mailing
list.</quote> He added, <quote who="Ian Campbell">I posted it to the fbdev
list @ sf.net (from MAINTAINERS) but that list seems to be pretty quiet
and <a href="http://www.linux-fbdev.org">www.linux-fbdev.org</a> (also
from MAINTAINERS) seems to be down -- is there a more appropriate place
these days for framebuffer stuff?</quote> James Simmons replied, <quote
who="James Simmons">We are on the list. As for www.linux-fbdev.org. That
has never been fixed.  Some how that domain name is in limbo :-( The sf
site is the main site for fbdev developement.</quote> Geert Uytterhoeven
also said the fbdev list was active, and asked on a technical note, <quote
who="Geert Uytterhoeven">why don't you use the standard modedb mode parameter
style?</quote> Ian replied, <quote who="Ian Campbell">I was trying too (I
mostly copied the i810 driver). How wrong did I get it? I'm willing to rework
it to make it the same as the standard.</quote> Geert recommended Ian take
his lead from drivers/video/modedb.c and fb_find_mode(), and Ian replied:</p>

<quote who="Ian Campbell">

<p>Ah, I had seen that, but it doesn't seem to be very appropriate for an
LCD controller in an embedded environment. TFT and STN (STN in particular)
displays don't often fit into any of the standard mode definitions. There's
also several settings which aren't in the DB, such as pixel clock polarity,
dual vs. single panel STN etc.</p>

<p>I quite often get asked to make some arbitrary panel which a customer
picked up somewhere dirt cheap to work, it is very useful to be able to give
each of the parameters explicitly, even if they do not correspond to a mode
listed in the DB.</p>

<p>I could make the code use the same XRESxYRES-DEPTH syntax though since
the 2.4 version did (by copying the parsing code from fb_find_mode()),
I just changed it to match i810fb for the 2.6 port.</p>

<p>I had considered extending the modedb stuff to support the requirements of
embedded LCD controller drivers and to encompass a db of LCD panels by part
number (Kconfig selectable, something like the NLS support perhaps) containing
the extra options that you can have -- but I wasn't sure if it was something
that would be useful only to me or to all embedded LCD driver authors.</p>

</quote>

<p>James replied:</p>

<quote who="James Simmons">

<p>The way to handle different types of displays, LCD, CRT etc has improved
greatly in the latest 2.6.X kernels. You don't need to lock yourself into
the standard modedb database. Also  modedb is used only for selecting a
particular resolution. The structure used to define the display panels
behavior is struct fb_monspecs. Take a look at it in fb.h. I'm interested
if I got all the needed data from the EDID about a display panel.</p>

<p>Here is basically what you have to do to handle mode setting:</p>

<p>

<ol>

<li>

<p>   Does the displaying hardware tell you data about itself? You have to
   ask yourself can I get display hardware information. If it does
   what format is it in. In most hardware today you can get data about the
   display hardware in a EDID block format. Usually that data is retrieved
   via i2c. Fbdev driver writers must write the code handling getting the
   display hardware's data. Once you have the EDID data block you can use
   already written functions to parse the EDID block.</p>

<p>   If you display hardware does not use EDID format then the driver
   writer must parse the data himself. What data needs to get generated?
   This is covered next.</p>

</li>

<li>

<p>Attempt to generate the struct fb_monspecs data. Now it is not a
   absolute requirement but it sure does help. There is one per physical
   display. This means for cases like laptops you can have one framebuffer's
   data being displayed on two physical displays (attached CRT and the LCD
   panel). In this case you would have two struct fb_monspecs per struct
   fb_info. When you are going to change the video mode you would have to
   valid the new mode against BOTH physical displays. In fact you can get
   a bunch of crazy combo's. The important part is that use generate a
   fb_monospec if possible.</p>

<p>        Note that fb_monospec has a mode database in its data structure.
   Sometimes the display hardware will tell use what the "best" video
   modes are for it. Also some display hardware is limited in what it can
   be allow to display. SO those modes are the only ones that actually
   work.</p>

<p>        Now back to the EDID case. There is a global function that will get
   the monitor limits for you. This function will also build you your
   modedb for you!!!</p>

<p>   fb_get_monitor_limits(unsigned char *edid, struct fb_monspecs *specs)</p>

<p>   Again what if we don't use EDID. Well if you can get the display
   hardware information in some way it is in your best interest to create
   a struct fb_monspec and also the modedb attached to it. What if you
   can't get supported modes to build a database but you can get the monitor
   limits? Here are your options.</p>

</li>

<li>Okay now we "might" have our monitor data and our modedb. If we have to
   ask ourselves does the hardware allow the change of the resolution? If
   it doesn't then why do we generate a fb_monospec or a modedb. Because
   that data can be very useful to userland :-) If this is the case you
   can call fb_find_mode on your modedb if you have one and return the
   default struct fb_var_screeninfo that we need. If you don't have a
   modedb you still need to supply a default struct fb_var_screeninfo that
   represents the display resolution. Also you could have the case where
   you swap about the display. In this case you might want to create a new
   fb_monospec and update your var data even if you don't change your
   resolution. Now we are done. If you hardware can change modes then
   continue on.</li>

<li>Now what to do for when we want to set the graphics display. Before we
   consider the monitor we have to see if the new resolution request is
   complete. Not every fb_var_screeninfo request is complete. Often the user
   only is concern with xres, yres and bpp. That is it. Alot of data is
   missing. This is bug in many drivers that they don't fill in that data
   thus often when the user tried to change the resolution they ended up
   with a blank screen. So how do we deal with it?</li>

<li>First we can use a modedb we have to find the best fit. If not use the
   function fb_get_mode in fbmon.c.</li>

<li>

<p>Now that we have the purposed mode we call the function</p>

<p>   fb_validate_mode(const struct fb_var_screeninfo *var, struct fb_info *info)</p>

<p>   This tells us if the requested video mode is to much for our display
   hardware to handle.</p>

</li>

<li>If the monitor can handle it we call the drivers xxxfb_check_var
   function to see if the graphics chip can handle the mode.</li>

</ol>

</p>

<p>I hope that answers your question. Now that I wrote this I'm going to make
it apart of the documenation in the kernel for a driver how to.</p>

</quote>

<p>This didn't seem to be exactly what Ian needed, and the discussion petered
out.</p>

</section>

<section
  title="Abstract Data Type For nodemasks"
  subject="[PATCH] Introduce nodemask_t ADT [0/7]"
  archive="http://www.google.com/groups?hl=en&amp;lr=&amp;ie=UTF-8&amp;selm=1BeOx-7ax-55%40gated-at.bofh.it&amp;prev=/groups%3Fas_ugroup%3Dlinux.kernel%26as_uauthors%3DMatthew%2520Dobson%26as_usubject%3D%255BPATCH%255D%2520Introduce%2520nodemask_t%2520ADT%2520%255B0/7%255D%26as_drbb%3Db%26as_mind%3D18%26as_minm%3DMar%26as_miny%3D2004%26as_maxd%3D18%26as_maxm%3DMar%26as_maxy%3D2004"
  posts="56"
  startdate="18 Mar 2004 15:04:24 -0800"
  enddate="26 Mar 2004 16:50:10 -0800"
>
<topic>Hot-Plugging</topic>

<mention>Jesse Barnes</mention>
<mention>William Lee Irwin III</mention>

<p>Matthew Dobson said that, based on William Lee Irwin III's cpumask_t
code, <quote who="Matthew Dobson">I've got a fairly good size patch set
to implement an ADT (Abstract Data Type) for nodemasks, which follows the
path blazed by wli with the cpumask_t code.  The basic idea is to create a
generic, platform/arch-agnostic nodemask data type, complete with operations
to do most anything you'd want to do with a nodemask.  This stops us from
open-coding nodemask operations, allows non-consecutive node numbering (ie:
nodes don't have to be numbered 0...numnodes-1), gets rid of numnodes entirely
(replaced with num_online_nodes()), and will facilitate the hotplugging
of whole nodes.</quote> Jesse Barnes was thrilled to hear about this,
and asked for clarification regarding what a node actually was. Martin
J. Bligh said, <quote who="Martin J. Bligh">I think the closest answer we
have is that it's a grouping of cpus and memory, where either may be NULL.
I/O isn't directly associated with a node, though it should fit into the topo
infrastructure, to give distances from io buses to nodes (for which I think
we currently use cpumasks, which is probably wrong in retrospect, but then
life is tough and flawed ;-))</quote> Matthew replied, <quote who="Matthew
Dobson">Yeah... We used cpumasks because that seemed like a good idea at
the time.  Nodemasks may be a better choice now...  We can write a quicky
inline function nodemask_to_cpumask() as well, to keep the current users
happy.</quote> Elsewhere, he added, <quote who="Matthew Dobson">There have
been arguments about exactly what a node is since there has been a concept
of a node at all.  In the kernel, it isn't defined.  A node doesn't *have*
to have CPUs on it (see nr_cpus_node()), doesn't *have* to have memory,
doesn't *have* to have I/O.  It's supposed to be just a container for those
3 things, but the containers can be empty.  This code doesn't get into what
a node is, just makes sure they're used properly... ;)</quote></p>

<p>Elsewhere, Paul Jackson also replied to Matthew's original post, saying:</p>

<quote who="Paul Jackson">

<p>Your nodemask_t reminds me of something I posted
to linux-ia64 last November 7, 2004, under the subject: "<a
href="http://www.gelato.unsw.edu.au/linux-ia64/0311/7438.html">[PATCH preview]
Adds nodemask_t for use in cpusets (NUMA memory placement)</a>".</p>

<p>Chris Hellwig responded to it at the time asking why I didn't provide a
single generic mask ADT, and make cpumask and nodemask instances of that.</p>

<p>I coded that up, but then got distracted.  The remaining issue for which
I didn't have a good answer was that my proposal would break the optimum
handling for sparc64 or other systems that didn't handle passing structures
on the stack efficiently.</p>

<p>Bill Irwin was a party to my discussions of that effort, so I presume
that if he felt it had further merit, he would have mentioned it to you,
Matthew.</p>

<p>Could one of you, Bill or Matthew, speak to why this generic mask ADT,
underlying both cpumask and nodemask, should not be pursued further, instead
of duplicating the various details of cpumask, after a global s/cpu/node/g
change?</p>

<p>I am attaching the header file include/linux/mask.h for my current version
of this mask.h, in case someone reading wants more specifics of what it is
that I am referring to.</p>

<p>This version almost certainly does _not_ work on big endian 64 systems,
due to my ignorance of how kernel bitmasks were layed out when I last worked
on this mask.h header.  Unlike the sparc64 performance issues with passing
structs on the stack, I would hope that the big/little endian issues could
be fixed without messing things up too much.</p>

<p>If this mask.h could actually be made to work, including on sparc64,
then it would seem to be a much cleaner solution.  With it, we would define
cpumask_t and nodemask_t as simply:</p>

<pre>  typedef __mask(NR_NODES) nodemask_t;
  typedef __mask(NR_CPUS) cpumask_t;</pre>

<p>and either use operations such as mask_and() on both, or if one insisted
on keeping operations that specifically called out cpumask, add some 15
trivial defines such as:</p>

<pre>  #define cpumask_and(dst, src1, src2) mask_and(dst, src1, src2)</pre>

</quote>

<p>Matthew confirmed that Bill had never mentioned that work to him; but
Matthew added, <quote who="Matthew Dobson">That is a better idea, if it can be
made to work.  My goal is to stop the proliferation of open-coded references
to node details as soon as possible.  If we we nip this behavior in the bud
and convert all users of cpu/node data to cpumask_t/nodemask_t, we can (more)
easily change the underlying details of how all the cpumask and nodemask
functions work later.  If the users all call our macros, then it's easy to
find them ('grep -r "nodes_and" *' vs searching for every '&amp;' in the
kernel that may or may not be a node or cpu mask) and test them.</quote> Paul
said this was a worthy goal, and folks discussed various technical issues.</p>

</section>

<section
  title="Documenting KGDB"
  subject="Document hooks in kgdb"
  archive="http://www.google.com/groups?hl=en&amp;lr=&amp;ie=UTF-8&amp;selm=1Bv33-67A-53%40gated-at.bofh.it"
  posts="10"
  startdate="19 Mar 2004 08:20:09 -0800"
  enddate="31 Mar 2004 21:39:57 -0800"
>
<topic>Forward Port</topic>
<topic>Version Control</topic>

<p> Tom Rinisaid:</p>

<quote who="Tom Rini">

<p>This is an attempt to document the various architecture specific functions
that are part of KGDB.  There are a number of optional functions, depending
on hardware setps, for which empty defaults are provided.  There are also
functions which must be implemented and for which no default is provided.</p>

<p align="center">The required functions are:</p>

<p>int kgdb_arch_handle_exception(int vector, int signo, int err_code, char *InBuffer, char *outBuffer, struct pt_regs *regs)<br />
        This function MUST handle the 'c' and 's' command packets,
        as well packets to set / remove a hardware breakpoint, if used.</p>

<p>void regs_to_gdb_regs(unsigned long *gdb_regs, struct pt_regs *regs)<br />
        Convert the ptrace regs in regs into what GDB expects to
        see for registers, in gdb_regs.</p>

<p>void sleeping_thread_to_gdb_regs(unsigned long *gdb_regs, struct task_struct *p)<br />
        Like regs_to_gdb_regs, except that the process in p is sleeping,
        so we cannot get as much information.</p>

<p>void gdb_regs_to_regs(unsigned long *gdb_regs, struct pt_regs *regs)<br />
        Convert the GDB regs in gdb_regs into the ptrace regs pointed
        to in regs.</p>

<p align="center">The optional functions are:</p>

<p>int kgdb_arch_init(void) :<br />
        This function will handle the initalization of any architecture
        specific hooks.  If there is a suitable early output driver,
        kgdb_serial can be pointed at it now.</p>

<p>void kgdb_printexceptioninfo(int exceptionNo, int errorcode, char *buffer)<br />
        Write into buffer and information about the exception that has
        occured that can be gleaned from exceptionNo and errorcode.</p>

<p>void kgdb_disable_hw_debug(struct pt_regs *regs)<br />
        Disable hardware debugging while we are in kgdb.</p>

<p>void kgdb_correct_hw_break(void)<br />
        A hook to allow for changes to the hardware breakpoint, called
        after a single step (s) or continue (c) packet, and once we're about
        to let the kernel continue running.</p>

<p>void kgdb_post_master_code(struct pt_regs *regs, int eVector, int err_code)<br />
        Store the raw vector and error, for later retreival.</p>

<p>void kgdb_shadowinfo(struct pt_regs *regs, char *buffer, unsigned threadid)<br />
struct task_struct *kgdb_get_shadow_thread(struct pt_regs *regs, int threadid)<br />
struct pt_regs *kgdb_shadow_regs(struct pt_regs *regs, int threadid)<br />
        If we have a shadow thread (determined by setting
        kgdb_ops-&gt;shadowth = 1), these functions are required to return
        information about this thread.</p>

</quote>

<p>Amit S. Kale was very encouraging about adding this information to the
source, and also said, <quote who="Amit S. Kale">An addition: shadow threads
are needed to provide information not retrievable by gdb. e.g. Backtraces
beyond interrupt entrypoints, that aren't retrievable in absence of debugging
info for interrupt entrypoint code.</quote></p>

<p>At some point, Pavel Machek asked, <quote who="Pavel Machek">Where can I
get latest kgdb? The version on kgdb.sf.net is still against 2.6.3, afaics. Or
should I forward port it?</quote> Tom replied, <quote who="Tom Rini">CVS is
against 2.6.4.  Once 2.6.5 comes out, I'll move it forward again.  Locally,
I've got a series of patches vs 2.6.5-rc3 + some -mm bits for Andrew which
I hope to post today, but might not make it until tomorrow.</quote> Pavel
took a look and noticed that the CVS tree <i>was</i> actually against 2.6.4,
but that it recorded itself as being against 2.6.3; he offered a patch
to fix the discrepancy. Tom accepted it, and Amit added, <quote who="Amit
S. Kale">Yes. We have to keep that in mind. This has happened second time.
Thanks, Pavel.</quote></p>

</section>

<section
  title="Entitlement-Based Scheduler Update"
  subject="[PATCH] O(1) Entitlement Based Scheduler v1.1"
  archive="http://www.google.com/groups?hl=en&amp;lr=&amp;ie=UTF-8&amp;selm=1BJp8-4dz-25%40gated-at.bofh.it"
  posts="5"
  startdate="19 Mar 2004 23:41:56 -0800"
  enddate="25 Mar 2004 20:59:51 -0800"
>
<topic>Virtual Memory</topic>

<p>John Lee said:</p>

<quote who="John Lee">

<p>This patch is an update of the original Entitlement Based Scheduler
announed a few weeks ago. The patch can be downloaded from</p>

<p><a
href="http://sourceforge.net/projects/ebs-linux/">http://sourceforge.net/projects/ebs-linux/</a></p>

<p>and applies to Linux 2.6.4.</p>

<p>The two main changes in this version are:</p>

<p>

<ol>

<li>Interactivity has been greatly improved, courtesy of "ramp-up" dampening
being applied to newly forked tasks.</li>

<li>Background tasks are now "almost background" tasks in that they are
given periodic (but slow) promotion.</li>

</ol>

</p>

<p>As before, when using this patch X should be reniced to -15.</p>

</quote>

<p>Andi Kleen reported good success with this patch, but added, <quote
who="Andi Kleen">There seem to be still small issues, but I wasn't able to
pinpoint them to a scenario (I'm not even 100% sure they are related to
the CPU scheduler, could be IO elevator or VM too). Just thought I would
mention them. Occassionally (very seldom, saw it two times yesterday) I have
visible stalls (2-3s) of my xterms.  It doesn't seem to be  related to direct
visible background load (but i wasn't able yet to get a top up during such a
stall) I don't remember these stalls from the non Entitlement kernel. They
only happen very rarely so it could be something unrelated too. I know the
report is probably too vague to be useful.</quote> John said all reports
were useful, and added that Andi's problem almost certainly had to do with
John's scheduler patch, as no one else had reported any similar problems
with the stock kernel.</p>

</section>

<section
  title="cmpci.c Updates; Preferred Patch Submission Policy"
  subject="ANN: cmpci 6.64 released"
  archive="http://groups.google.com/groups?hl=en&amp;lr=&amp;ie=UTF-8&amp;safe=off&amp;selm=1CBSQ-4Ui-39%40gated-at.bofh.it"
  posts="3"
  startdate="22 Mar 2004 09:24:17 -0800"
  enddate="25 Mar 2004 18:08:22 -0800"
>

<mention>Andrew Morton</mention>

<p>C. L. Tien said:</p>

<quote who="C. L. Tien">

<p>I made many changes for cmpci.c since last release. Changes are made as follows:</p>

<p>

<ol>

<li>Fix the S/PDIF out programming bug appeared in 6.16.</li>
<li>Support 8338 4-channel playback.</li>
<li>S/PDIF loop can be used after AC3 playback.</li>
<li>Legacy devices (FM, MPU401 and gameport) are served by other modules.
   Now the code is thinner.</li>
<li>Remove parameters setting from kernel configure menu, they can be
   set easily when loading the module.</li>
<li>Add spdif_out to output 44.1K/48K 16-bit stereo to S/PDIF out.</li>
<li>Add hw_copy to duplicate audio of front speakers to surround speakers.</li>
<li>Change code to minimum patch for kernel 2.6.</li>

</ol>

</p>

<p>The attached cmpci.c in cmpci-6.64.tar.bz2 is the updated driver, and 46.diff is
the patch file that needed for kernel 2.6.</p>

<p>The cmpci-patch-2.4.25.tar.bz2 and cmpci-patch-2.6.4.tar.bz2 are patches for
kernel 2.4.25/2.6.4 tree patch, they are needed to support legacy
+devices, otherwise you may ignore them.</p>

<p>The cmi8738.tar.bz2 contains CMI8738, which is modified from CMI8338. It
describe the parameters cmi8738 can support.</p>

</quote>

<p>Jeff Garzik replied:</p>

<quote who="Jeff Garzik">

<p>The driver looks pretty good, for both 2.4 and 2.6.  And the listed
changes above sound OK.  I see the driver is smaller now.</p>

<p>May I respectfully request that you submit your driver update in the
form of multiple patches, one patch per email?  This is the normal method
of submitting changes to the Linux kernel.  For example, create and send 8
patches to Andrew Morton for inclusion in the 2.6.x kernel.  Each patch is
applied after the last one, in succeeding order.  Typical email subjects
would look like</p>

<p>[PATCH 1/8] cmpci: fix s/pdif out<br />
[PATCH 2/8] cmpci: support 8338 4-channel<br />
[PATCH 3/8] cmpci: s/pdif loop<br />
etc.</p>

<p>Splitting up changes in this manner allows for better verification, and
makes it easier to narrow down bugs to a specific change.  Large "one big
patch" updates often solve many bugs, and then add a few new bugs.</p>

</quote>

</section>

<section
  title="Linux 2.6.5-rc2-mm2 Released"
  subject="2.6.5-rc2-mm2"
  archive="http://www.google.com/groups?hl=en&amp;lr=&amp;ie=UTF-8&amp;selm=1Db05-11o-17%40gated-at.bofh.it"
  posts="26"
  startdate="23 Mar 2004 23:25:11 -0800"
  enddate="01 Apr 2004 13:46:51 -0800"
>
<topic>Kernel Release Announcement</topic>

<p>Andrew Morton announced 2.6.5-rc2-mm2, saying:</p>

<quote who="Andrew Morton">

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

<p>

<ul>

<li>Fixed the memory leak which 2.6.5-rc2-mm1 suffered from.</li>

<li>More writeback changes - correctness and performance fixes.</li>

<li>Various random fixes</li>

</ul>

</p>

</quote>

<p>Martin Zwickel reported that he was completely unable to get his X server
running, with the nvidia 5336 module. Andrew replied, <quote who="Andrew
Morton">-mm kernels currently are using 4k kernel stacks.  The nvidia driver
doesn't have a hope of running in that environment.</quote></p>

</section>

<section
  title="The Future Of dnotify"
  subject="[RFC,PATCH] dnotify: enhance or replace?"
  posts="11"
  startdate="24 Mar 2004 06:17:18 -0800"
  enddate="26 Mar 2004 02:12:01 -0800"
>
<topic>Backward Compatibility</topic>
<topic>Security</topic>

<p>Rudiger Klaehn siad:</p>

<quote who="Rudiger Klaehn">

<p>I have been working on a dnotify enhancement to let it work recursively
and to store information about what exactly has changed.</p>

<p>My current code can be found here: &lt;<a
href="http://www.lambda-computing.com/~rudi/dnotify/">http://www.lambda-computing.com/~rudi/dnotify/</a>&gt;</p>

<p>From reading the list, I got the impression that there is a general
consensus that the current dnotify mechanism is less than optimal, and that
something should be done about it. Is that correct?</p>

<p>My current implementation enhances the dnotify mechanism, but is backwards
compatible to the old mechanism. This is obviously the least intrusive
approach, but it is also less than optimal. For example it still requires an
open file handle to watch for changes in a tree, so it will create problems
when unmounting a device.</p>

<p>In an offline discussion, the issue came up wether it would not be better
to replace dnotify with a completely new mechanism like e.g. a special
netlink socket. Since most userspace programs (e.g. KDE and gnome) do not
use dnotify directly, but through the fam daemon, the required changes in
user space applications would not be that great.</p>

<p>So what is your take on this? Enhance or replace?</p>

</quote>

<p>Alexander Larsson replied:</p>

<quote who="Alexander Larsson">

<p>I think everyone agrees that dnotify is a POS that needs replacement,
however coming up with a good new API and implementation seems to be
hard (or at least uninteresting to kernel developers).</p>

<p>I for sure would welcome a sane file change notification API, i.e. one
that doesn't require the use of signals. However, I don't really care
about recursive monitors, and I'm actually unsure if you really want the
DN_EXTENDED functionallity in the kernel. It seems like a great way to
make the kernel use a lot of unswappable memory, unless you limit the
event queues, and if you do that you need to stat all files in userspace
anyway so you can correctly handle queue overflows.</p>

<p>I think the most important properties for a good dnotify replacement is:</p>

<p>

<ul>

<li>Don't use signals or any other global resource that makes it
impossible to use the API in a library thats supposed to be used by all
sorts of applications.</li>

<li>Get sane semantics. i.e. if a hardlink changes notify a file change in
all directories the file is in. (This is hard though, it needs backlinks
from the inodes to the directories, at least for the directories with a
monitor, something i guess we don't have today.)</li>

<li>Some way to get an event when the last open fd to the file is closed
after a file change. This means you won't get hundreds of write events
for a single file change. (Of course, you won't catch writes to e.g.
logs which aren't closed, so this has to be optional. But for a desktop,
this is often what you want.)</li>

</ul>

</p>

</quote>

<p>Rudiger replied:</p>

<quote who="Rudiger Klaehn">

<p>About recursive notification:</p>

<p>Some way to watch for changes on a whole file system is a must.  Otherwise
there is really no need to replace dnotify. When I start up KDE it watches
for 256 different directories in my /home directory. It would probably watch
even more directories if it could. With recursive watching it would only
need to watch two or three directories recursively.</p>

<p>About the buffer memory usage problem:</p>

<p>I have been testing the current approach for a few days continuously
now, and I don't get event buffer overflows even if I watch for all events
on "/". Of course the event buffer size should be limited. The current
implementation uses 10*4096 bytes, but in most cases starting with a single
4096 byte page should be enough.</p>

<p>Note that the most common events (read and write) are quite small.
Currently they are 32 bytes, but it would not be that hard to get them even
smaller if nessecary. This is quite good compared to libraries like dazuko
that report the complete path for each change.</p>

<p>Extended information about the type of change has been requested by many
persons, and it is nessecary for many applications. People have been writing
ugly syscall table hacks for this, so they must be really desperate to get
this information...</p>

<p>It should be optional though.</p>

</quote>

<p>John McCutchan also replied to Alexander, saying:</p>

<quote who="John McCutchan">

<p>Maybe adding a rate limiter on these write events would be a better
idea, live updates are usefull for the desktop. Also with a netlink
socket I think the overhead of many events would drop siginificantly.</p>

<p>Also a couple other items I think need to be on the list of features,</p>

<p>

<ul>

<li>Some way to not have an open file descriptor for each directory you
are monitoring. This causes so many problems when unmounting, and this
is really the most noticable problem for the user.</li>

<li>Better event vocabulary, we should fire events for all VFS ops. I
think right now it is limited to delete,create,written to. It would be
good to tell the listener exactly what happened, moved,renamed, etc.</li>

</ul>

</p>

</quote>

<p>Rudiger said of the second item, <quote who="Rudiger Klaehn">I had this
for a short time, but I threw it away since I wanted to concentrate on the
event dispatch infrastructure first. It would not be a big problem to add
this again.</quote> John added:</p>

<quote who="John McCutchan">

<p>One of the big requirements for a dnotify replacement is this</p>

<p>

<ul>

<li>Some way to not have an open file descriptor for each directory you
are monitoring. This causes so many problems when unmounting, and this
is really the most noticable problem for the user.</li>

</ul>

</p>

<p>I wanted to get some possible ideas from kernel hackers about how this
could be done. Inode numbers are not unique, but is there any way to get
a unique identifier on a file without using an open file? I have come
up with a few ideas.. I don't think they are very good, but here is
goes,</p>

<p>

<ul>

<li>When user passes fd to kernel to watch, the kernel takes over this
  fd, making it invalid in user space ( I know this is a terrible hack)
  then when a volume is unmounted, the kernel can walk the list of
  open fd's using for notifacation and close them, before attempting to
  unmount.</li>

<li>The user passes a path to the kernel, the kernel does some work so
  that it can track anything to do with that path, and again when
  an unmount is called the kernel cleans up anything used for
  notification.</li>

</ul>

</p>

<p>Both of these ideas are similar, does anyone have a better idea?</p>

</quote>

<p>At this point Alexander Viro came in decisively, with:</p>

<quote who="Alexander Viro">

<p>"Doctor, It Hurts When I Do It"</p>

<p>Seriously, dnotify sucks in a lot of ways, starting with the basic premise
- that userland can do notification-based maintainig of directory tree image.
It's racy by definition, so any attempts to use it for "security improvements"
are scam.  Which leaves us with file manglers and their ilk.</p>

<p>Note that any attempts to trace "aliases" in userland are hopelessly racy;
that mounting/unmounting doesn't even show on the radar; that different users
can see different parts of tree or, while we are at it, completely different
trees; that this crap is a DDoS on a server that exports any sort of network
filesystem to many clients - *especially* if you want notifications on the
entire tree.</p>

<p>IOW, idea is fundamentally flawed and IMO the real fix is to try and figure
out a decent UI that would provide what file managers are really used for.</p>

</quote>

<p>Rudiger replied, <quote who="Rudiger Klaehn">File managers are just one
application of an enhanced file change notification mechanism. There are many
much more interesting applications. For file managers the current dnotify
mechanism is OK.</quote> But there was no further discussion.</p>

</section>

<section
  title="Linux 2.4.26-pre6 Released"
  subject="Linux 2.4.26-pre6"
  archive="http://www.google.com/groups?hl=en&amp;lr=&amp;ie=UTF-8&amp;selm=1DtpR-pM-3%40gated-at.bofh.it"
  posts="3"
  startdate="24 Mar 2004 20:06:34 -0800"
  enddate="25 Mar 2004 12:04:30 -0800"
>
<topic>Power Management: ACPI</topic>

<p>Marcelo Tosatti announced 2.4.26-pre6, saying:</p>

<quote who="Marcelo Tosatti">

<p>Here goes the last -pre of 2.4.26 series.</p>

<p>It contains an ACPI update, SPARC/m68k/x86-64 (the latter adding basic
support for Intel IA32e), amongst others.</p>

</quote>

</section>

<section
  title="New MD Version 0.8.0 Released"
  subject="&quot;Enhanced&quot; MD version 0.8.0 now available"
  posts="1"
  startdate="25 Mar 2004 06:31:37 -0800"
>
<topic>BSD: FreeBSD</topic>
<topic>Disk Arrays: RAID</topic>

<p>Justin T. Gibbs announced:</p>

<quote who="Justin T. Gibbs">

<p>An updated snapshot of the Enahanced MD project is now available here:</p>

<p><a
href="http://people.freebsd.org/~gibbs/linux/SRC/emd-0.8.0-tar.gz">http://people.freebsd.org/~gibbs/linux/SRC/emd-0.8.0-tar.gz</a></p>

<p>and as diffs relative to the current 2.6 MD implementation:</p>

<p><a
href="http://people.freebsd.org/~gibbs/linux/SRC/emd-2.6-20040425-diffs.gz">http://people.freebsd.org/~gibbs/linux/SRC/emd-2.6-20040425-diffs.gz</a></p>

<p>A version of "emdadm" is also avaible to for this driver:</p>

<p><a
href="http://people.freebsd.org/~gibbs/linux/SRC/emdadm-0.00.1.tgz">http://people.freebsd.org/~gibbs/linux/SRC/emdadm-0.00.1.tgz</a></p>

<p>This snapshot includes support for RAID0, RAID1, and the Adaptec ASR and DDF
meta-data formats.  Additional RAID personalities and support for the Super90
and Super 1 meta-data formats will be added in the coming weeks, the end
goal being to provide a superset of the functionality in the current MD.</p>

<p>This drop adds the ability to create, delete, and monitor DDF and Adaptec
ASR meta-data based arrays from emdadm in addition to including several
bug fixes.</p>

<p>This release is still structured as an MD replacement.  While this makes
the diffs supplied above more relevant from a review standpoint, we believe
that it makes more sense at this stage in EMD development to provide it
as a separate driver.  This change will be reflected in our next release.
The hope is for EMD and MD to merge as EMD is reviewed and altered to suite
the communities needs.</p>

</quote>

</section>

<section
  title="Status Of Serial ATA (SATA)"
  subject="Serial ATA status"
  archive="http://www.google.com/groups?hl=en&amp;lr=&amp;ie=UTF-8&amp;selm=1DGGF-3vG-47%40gated-at.bofh.it"
  posts="2"
  startdate="25 Mar 2004 09:09:47 -0800"
  enddate="25 Mar 2004 09:19:11 -0800"
>
<topic>Disks: IDE</topic>
<topic>Serial ATA</topic>

<p>Fabian Fenaut asked about the status of the libata driver, specifically
whether it was still considered ALPHA code; and Jeff Garzik said:</p>

<quote who="Jeff Garzik">

<p>Given my recent work in bug fixing, and in isolating some problems to the
platform rather than libata, the Silicon Image driver will be moving to beta,
and the CONFIG_BROKEN marker removed, as soon as 2.6.5 kernel is out.</p>

<p>With the latest patches, I would say status of sata_sil is now "beta".</p>

</quote>

</section>

<section
  title="Consolidating Redundant msecs And jiffies Code"
  subject="[PATCH] Consolidate multiple implementations of jiffies-msecs"
  archive="http://www.google.com/groups?hl=en&amp;lr=&amp;ie=UTF-8&amp;selm=1DJEr-67B-11%40gated-at.bofh.it"
  posts="10"
  startdate="25 Mar 2004 12:17:41 -0800"
  enddate="29 Mar 2004 11:57:54 -0800"
>

<mention>David S. Miller</mention>
<mention>Jeff Garzik</mention>
<mention>Andrew Morton</mention>
<mention>Linus Torvalds</mention>

<p>Sridhar Samudrala said, <quote who="Sridhar Samudrala">The following
patch to 2.6.5-rc2 consolidates 6 different implementations of msecs to
jiffies and 3 different implementation of jiffies to msecs.  All of them
now use the generic msecs_to_jiffies() and jiffies_to_msecs() that are added
to include/linux/time.h</quote>. David S. Miller and Jeff Garzik liked this
patch, and pushed it upstream to Linus Torvalds and Andrew Morton.</p>

</section>

<section
  title="RNDIS USB Gadget Driver Released For 2.4"
  subject="[ANNOUNCE] RNDIS Gadget Driver"
  archive="http://www.google.com/groups?hl=en&amp;lr=&amp;ie=UTF-8&amp;selm=1DLwD-7MT-29%40gated-at.bofh.it"
  posts="20"
  startdate="25 Mar 2004 14:11:45 -0800"
  enddate="30 Mar 2004 08:25:10 -0800"
>
<topic>Microsoft</topic>
<topic>Networking</topic>
<topic>USB</topic>
<topic>Version Control</topic>

<p>Robert Schwebel said:</p>

<quote who="Robert Schwebel">

<p>finally, here is our RNDIS USB Gadget Driver - see the attached patch
against the gadget-2.4 BK tree as of now. It shouldn't be too difficult to
port this to 2.6.</p>

<p>The patch adds support for Microsoft's RNDIS protocol to the standard
g_ether driver. This makes it possible to connect a Linux USB gadget to any
standard Windows machine and &lt;*PALIM!*&gt; there is a new USB network
interface on the Windows side on which you can speak TCP/IP :-)</p>

<p>Unfortunately, although it works with the original Microsoft driver,
you need an inf file on the windows side; you can download the template for
that directly from M$.</p>

<p>Thanks to Auerswald GmbH for sponsoring this work!</p>

</quote>

<p>David Brownell kicked up his heels and said he was pleased as punch to
see this. He added, <quote who="David Brownell">I personally would prefer
that Microsoft adopt vendor-neutral protocols, instead of pushing the rest
of the industry to adopt things that are MSFT-biased ... for some reason,
they haven't listened to almost anyone on such topics.  Oh well.  ;)</quote>
David Woodhouse asked, <quote who="David Woodhouse">have they (or has anyone
else) invented a 'file system' USB device yet? For exporting some file
systems, pretending to be a block device really isn't very useful.</quote>
David replied:</p>

<quote who="David Brownell">

<p>There's a file system protocol used by many digital still cameras, which
isn't actually camera-specific.  Not MSFT-specific either.</p>

<p>Originally called "Picture Transfer Protocol" (PTP) it's actually more of
a remote hierarchical filesystem protocol ... with an event channel (handy
for "new picture" or "inserted new flash memory") and some built-in search
capabilities ("what JPGs do you have").  The strangest capability was a file
type tag, which isn't actually that bizarre.</p>

<p>As with RNDIS, and USB Mass Storage, I understand that support for PTP is
part of MS-Windows since about Win2K.  So a PTP gadget driver would probably
be a useful contribution to Linux.</p>

</quote>

<p>Don Reid said:</p>

<quote who="Don Reid">

<p>A host driver "USB PTP Storage" would be really nice too.  First as a
generic camera interface, second to access a gadget with the PTP interface.</p>

<p>(Please embarrass me by saying there already is one, I'll be so happy I
won't care :-) ).</p>

<p>I have a PTP camera and would certainly be happy to test such a driver.
Time to write it is a different matter.</p>

</quote>

<p>David said, <quote who="David Brownell">There isn't one.  There are two.
No need to be embarrassed ... ;) They're both user-mode drivers.  "gPhoto2",
and "jPhoto".  The author of jPhoto (moi) hasn't had time to update that
code in ages.</quote> But Don replied:</p>

<quote who="Don Reid">

<p>These are applications, not file system interfaces like USB Mass Storage.
I want to mount the camera or gadget file system and access it from any
program, not run a separate app to fetch files like Mass Stor. mounts a
memory device.</p>

<p>Why create a dedicated app like a camera interface instead of using your
favorite image browser on some files?</p>

</quote>

<p>David replied, <quote who="David Brownell">I think the basic answer to your
question is probably just that nobody's yet written, or at least submitted,
PTP client or server kernel code for Linux.</quote></p>

</section>

<section
  title="Linux 2.6.5-rc2-mm4 Released"
  subject="2.6.5-rc2-mm4"
  archive="http://www.google.com/groups?hl=en&amp;lr=&amp;ie=UTF-8&amp;selm=1E741-Sh-5%40gated-at.bofh.it"
  posts="11"
  startdate="26 Mar 2004 13:18:16 -0800"
  enddate="29 Mar 2004 07:23:56 -0800"
>
<topic>Kernel Release Announcement</topic>
<topic>SMP</topic>

<p>Andrew Morton announced Linux 2.6.5-rc2-mm4, saying:</p>

<quote who="Andrew Morton">

<p><a
href="ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.5-rc2/2.6.5-rc2-mm4/">ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.5-rc2/2.6.5-rc2-mm4/</a></p>

<p>

<ul>

<li>CPU scheduler updates.  We're heading into another big round of testing,
  measuring and tuning of the SMP/SMT/NUMA features in the CPU scheduler.
  Nick and Ingo are driving this - thanks to the people who are working with
  them.  We really need to get this wrapped up.</li>

<li>A significant number of changes to laptop-mode.  If you're using this,
  please grab the updated startup script from
Documentation/laptop-mode.txt.</li>

<li>A few more tweaks to the page reclaim logic.  Needs careful testing.  I
  have one workload which seems to run faster in laptop mode (minus the
  readahead size increase), which is a little odd.</li>

</ul>

</p>

</quote>

</section>

<section
  title="libata Update"
  subject="[sata] libata update"
  archive="http://www.google.com/groups?hl=en&amp;lr=&amp;ie=UTF-8&amp;selm=1FB9J-2KA-39%40gated-at.bofh.it"
  posts="21"
  startdate="26 Mar 2004 18:27:29 -0800"
  enddate="31 Mar 2004 23:35:14 -0800"
>
<topic>Serial ATA</topic>
<topic>Version Control</topic>

<p>Jeff Garzik said:</p>

<quote who="Jeff Garzik">

<p>More work on libata...  human-readable summary:</p>

<p>

<ul>

<li>scsi portion of command submission path now a lot more lightweight. Should reduce CPU usage a bit.</li>
<li>improved documentation (see below)</li>
<li>New SiS SATA driver.</li>
<li>Promise: minor improvements in locking, error handling, and initialization.  Promise users, please test.</li>
<li>Intel ICH5:  minor improvements in probing and combined mode handling. Intel users, please test.</li>

</ul>

</p>

<p>This is going to Linus after 2.6.5 is released.</p>

<p>BK repositories:<br />
        http://gkernel.bkbits.net/libata-2.[46]</p>

<p>Patches:<br />
<a href="http://www.kernel.org/pub/linux/kernel/people/jgarzik/libata/2.4.25-libata15.patch.bz2">http://www.kernel.org/pub/linux/kernel/people/jgarzik/libata/2.4.25-libata15.patch.bz2</a><br />
<a href="http://www.kernel.org/pub/linux/kernel/people/jgarzik/libata/2.6.5-rc2-bk6-libata2.patch.bz2">http://www.kernel.org/pub/linux/kernel/people/jgarzik/libata/2.6.5-rc2-bk6-libata2.patch.bz2</a></p>

<p>And also, there are some PDF docs generated from the source code.
Although this is always available via "make pdfdocs", I also post this
document at
<a href="http://www.kernel.org/pub/linux/kernel/people/jgarzik/libata/libata.pdf">http://www.kernel.org/pub/linux/kernel/people/jgarzik/libata/libata.pdf</a></p>

</quote>

</section>

<section
  title="Linux 2.4.26-rc1 Released"
  subject="Linux 2.4.26-rc1"
  archive="http://www.google.com/groups?hl=en&amp;lr=&amp;ie=UTF-8&amp;selm=1EApi-8hz-3%40gated-at.bofh.it"
  posts="31"
  startdate="27 Mar 2004 20:26:08 -0800"
  enddate="31 Mar 2004 21:24:20 -0800"
>
<topic>Power Management: ACPI</topic>

<p>Marcelo Tosatti announced 2.4.26-rc1, saying, <quote who="Marcelo
Tosatti">The first -rc contains an ACPI update, networking fixes, amongst
others.</quote> Willy Tarreau replied, <quote who="Willy Tarreau">It's OK
here on dual athlon, alpha is compiling. I identified a few warnings during
the compilation. I'll send a few patches to fix them.  The biggest one is
on agpgart, when the agp_generic_* functions are not used, but fixing this
needs a lot of #if and I feel like lazy right now :-)</quote> Later, he said,
<quote who="Willy Tarreau">drivers/char/agp/agpgart_be.c defines several
agp_generic_* functions for chipsets which do not need a specific one.
Unfortunately, a lot of chipsets don't use them all, so in most cases,
some of them are defined but not used. This makes gcc print warnings and
adds useless code. This afternoon, I felt brave and added all the #ifdef
needed depending on what the chipsets use. I did it carefully, so I think
I did not miss any, but a second check might be useful. An interesting
side effect is that it reduced the driver by about 2 kB for a VIA chipset.
Here is the patch against 2.4.26-rc1. I don't know if it's too late for
2.4.26, but at least it could be reviewed.</quote></p>

</section>

<section
  title="linux-libc-headers (llh) Updated"
  subject="[ANNOUNCE] linux-libc-headers 2.6.4.0"
  archive="http://www.google.com/groups?hl=en&amp;lr=&amp;ie=UTF-8&amp;selm=1EJsK-7e6-37%40gated-at.bofh.it"
  posts="1"
  startdate="28 Mar 2004 06:23:39 -0800"
>

<p>Mariusz Mazur announced:</p>

<quote who="Mariusz Mazur">

<p>Available at <a
href="http://ep09.pld-linux.org/~mmazur/linux-libc-headers/">http://ep09.pld-linux.org/~mmazur/linux-libc-headers/</a></p>

<p>Changes:</p>

<p>

<ul>

<li>updated to 2.6.4</li>
<li>added documentation (readme, changelog, license, authors)</li>
<li>linux/hdreg.h - 2.4 stuff</li>
<li>linux/major.h - 2.4 definitions</li>
<li>minor changes</li>

</ul>

</p>

<p>README file follows:</p>

<p>The linux-libc-headers (llh) package (available at <a
href="http://ep09.pld-linux.org/~mmazur/linux-libc-headers/">http://ep09.pld-linux.org/~mmazur/linux-libc-headers/</a>)
contains headers that export linux abi to userspace. These headers are a
heavily modified and cleaned up version of what comes with original linux
tarball. The first three digits of llh's version tag correspond to the
version of linux kernel of which abi is exported, but keep in mind there
are lots of 2.4 kernel compatibilities included.</p>

<p>Userland usefulness is achieved by removing kernel only parts (which often
generate errors) and using code provided by libc where possible (this allows
to avoid collisions when both linux and libc headers define the same structure
or constant). Unfortunately libc dependency might result in functionality
loss since libcs aren't always in sync with what kernel provides. If such a
case occurs please send a bug report to the maintainer (see AUTHORS file)
and, if possible, a workaround will be added. Do note that since llh is
primarily for 2.6 based kernels we assume glibc to be at least version 2.3.3
(as far as I know this version wasn't released officially but is being used
by many current linux distributions). Glibc is not a requirement though -
llh is known to work with other implementations of standard C library -
but obviously is a priority, so be prepared to send a bugreport if using
something else.  In case you're wondering why take such an approach if it's
obvious that it might generate problems. Well, according to my knowledge there
is consensus among kernel hackers as to how userland headers should look like,
but unfortunately proper implementation (and wider adoption) will take time
and something that just plain works (in most cases anyway) is needed now.</p>

</quote>

</section>

<section
  title="Linux 2.6.5-rc2-mm5 Released"
  subject="2.6.5-rc2-mm5"
  archive="http://www.google.com/groups?hl=en&amp;lr=&amp;ie=UTF-8&amp;selm=1F1zj-5BK-37%40gated-at.bofh.it"
  posts="8"
  startdate="29 Mar 2004 01:45:25 -0800"
  enddate="30 Mar 2004 01:40:19 -0800"
>
<topic>FS: NFS</topic>
<topic>Ioctls</topic>
<topic>Kernel Release Announcement</topic>
<topic>SMP</topic>

<p>Andrew Morton announced Linux 2.6.5-rc2-mm5, saying:</p>

<quote who="Andrew Morton">

<p><a href="ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.5-rc2/2.6.5-rc2-mm5/">ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.5-rc2/2.6.5-rc2-mm5/</a></p>

<p>

<ul>

<li>A fairly small update.  Mainly attempting to stabilise the CPU scheduler
changes.</li>

<li>A patch here which will hopefully fix the oopses which a few people have
seen in the NFS server code.</li>

<li>The pestiferous SMP oops in vt_ioctl() is back, and I really fixed it
this time.  I've a suspicion that the kernel used to have the right locking
in place, but someone removed it because of some deadlock.  If your kernel
does appear to deadlock, please include a sysrq-T trace in the report.</li>

</ul>

</p>

</quote>

</section>

<section
  title="Hotplug Scripts Updated"
  subject="[ANNOUNCE] 2004-03-29 release of hotplug scripts"
  archive="http://www.google.com/groups?hl=en&amp;lr=&amp;ie=UTF-8&amp;selm=1Fgox-1HS-13%40gated-at.bofh.it"
  posts="1"
  startdate="29 Mar 2004 17:31:32 -0800"
>
<topic>Backward Compatibility</topic>
<topic>Hot-Plugging</topic>

<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:<br />
        <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:<br />
        <a href="http://www.kernel.org/pub/linux/utils/kernel/hotplug/hotplug-2004_03_29.tar.gz">kernel.org/pub/linux/utils/kernel/hotplug/hotplug-2004_03_29.tar.gz</a><br />
or for those who like bz2 packages:<br />
        <a href="http://www.kernel.org/pub/linux/utils/kernel/hotplug/hotplug-2004_03_29.tar.bz2">kernel.org/pub/linux/utils/kernel/hotplug/hotplug-2004_03_29.tar.bz2</a></p>

<p>I've also packaged up some pre-built (and signed) Red Hat FC 2-test based rpms:<br />
        <a href="http://www.kernel.org/pub/linux/utils/kernel/hotplug/hotplug-2004_03_29-1.noarch.rpm">kernel.org/pub/linux/utils/kernel/hotplug/hotplug-2004_03_29-1.noarch.rpm</a><br />
        <a href="http://www.kernel.org/pub/linux/utils/kernel/hotplug/hotplug-base-2004_03_29-1.noarch.rpm">kernel.org/pub/linux/utils/kernel/hotplug/hotplug-base-2004_03_29-1.noarch.rpm</a></p>

<p>The source rpm is available if you want to rebuild it for other distros
or versions of Red Hat at:<br />
        <a href="http://www.kernel.org/pub/linux/utils/kernel/hotplug/hotplug-2004_03_29-1.src.rpm">kernel.org/pub/linux/utils/kernel/hotplug/hotplug-2004_03_29-1.src.rpm</a></p>

<p>The main web site for the linux-hotplug project can be found at:<br />
        <a href="http://linux-hotplug.sf.net/">http://linux-hotplug.sf.net/</a>
which contains lots of documentation on the whole linux-hotplug
process.</p>

<p>This release is recommended for _anyone_ using older versions of the
hotplug scripts (especially the last development snapshot) as lots of
bugs have been fixed.  Especially for any scsi or usb-storage users, now
the proper drivers should be automatically loaded when a device is
plugged in.</p>

<p>The release is still backwards compatible with 2.4, so there is no need
to worry about upgrading.</p>

<p>The full ChangeLog extract since the last release is included below for
those who want to know everything that's been changed, and who to blame
for them :)</p>

<p>Many thanks to everyone who has send in patches for this release,
without these submissions, this release would still contain lots of
issues...</p>

</quote>

</section>

<section
  title="Linux 2.6.5-rc3 Released"
  subject="Linux 2.6.5-rc3"
  archive="http://www.google.com/groups?hl=en&amp;lr=&amp;ie=UTF-8&amp;selm=1Fkiq-4Se-1%40gated-at.bofh.it"
  posts="15"
  startdate="29 Mar 2004 21:35:08 -0800"
  enddate="31 Mar 2004 13:38:05 -0800"
>
<topic>Kernel Release Announcement</topic>
<topic>Networking</topic>

<p>Linus Torvalds announced Linux 2.6.5-rc3, saying:</p>

<quote who="Linus Torvalds">

<p>x86-64, arm, ppc64, ia64, s390 updates.</p>

<p>And agp, acpi, ISDN and watchdog.</p>

<p>Nothing earth-shattering, in other words.</p>

</quote>

</section>

<section
  title="Linux 2.6.5-rc3-mm1 Released"
  subject="2.6.5-rc3-mm1"
  archive="http://www.google.com/groups?hl=en&amp;lr=&amp;ie=UTF-8&amp;selm=1FoP7-kZ-15%40gated-at.bofh.it"
  posts="20"
  startdate="30 Mar 2004 02:34:37 -0800"
  enddate="31 Mar 2004 15:05:13 -0800"
>
<topic>FS: devfs</topic>
<topic>FS: sysfs</topic>
<topic>Kernel Release Announcement</topic>
<topic>Version Control</topic>

<p>Andrew Morton announced Linux 2.6.5-rc3-mm1, saying:</p>

<quote who="Andrew Morton">

<p><a href="ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.5-rc3/2.6.5-rc3-mm1/">ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.5-rc3/2.6.5-rc3-mm1/</a></p>

<p>

<ul>

<li>Dropped the tty locking fix.  As predicted, it deadlocked.  I also
  reverted the patch from bk-driver-core.patch which is causing this race to
  trigger more frequently.</li>

<li>Added the rest of Ingo's recent CPU scheduler work.  This is for people
  to compare with 2.6.5-rc2-mm5.</li>

</ul>

</p>

</quote>

<p>Greg KH replied, <quote who="Greg KH">Argh, so the only way I'm going to
be able to get my little, tiny, simple vc class patch is by fixing all of the
tty layer locking code?  Ugh, that's so mean...  :)</quote> Andrew replied,
<quote who="Andrew Morton">Well the good news is that my test box now oopses
on about 2-out-of-3 boot attempts.  But that gets tiresome.</quote> Later
that day he posted a patch, and Russell King replied, <quote who="Russell
King">I suspect you may just be able to get away with this for serial
drivers using serial_core.  However, I suspect it'll break non-serial_core
using serial drivers.  The serial drivers track the tty count themselves,
so that they know when to do the final close processing (why you may ask -
because of the blocking for DCD in the open code.)  I wouldn't like to say
what would happen if -&gt;open were called for a different tty structure
for the same port while -&gt;close was in progress.</quote> Andrew replied:</p>

<quote who="Andrew Morton">

<p>You cannot defeat me that easily!</p>

<p>Actually the race+oops _was_ fixed in Linus's tree a week ago, sort-of.
If the race happens we end up running vcs_devfs_add() and vcs_devfs_remove()
against the tty concurrently, leaving it in indeterminate state.  This will
cause devfs warnings and missing devfs/sysfs stuff, but no oops.</p>

<p>The con_open-speedup.patch in -mm reintroduces the oops by not bogusly
overwriting tty-&gt;driver_data when tty-&gt;count &gt; 1.  Fun.</p>

<p>This rather nasty patch fixes things up again.</p>

</quote>

</section>

<section
  title="libata Update"
  subject="[sata] libata update"
  archive="http://www.google.com/groups?hl=en&amp;lr=&amp;ie=UTF-8&amp;selm=1FB9J-2KA-39%40gated-at.bofh.it"
  startdate="30 Mar 2004 13:31:39 -0800"
>
<topic>Serial ATA</topic>
<topic>Version Control</topic>

<p>Jeff Garzik said:</p>

<quote who="Jeff Garzik">

<p>A ton of SATA work in the past few weeks, but not a lot terribly new in
this update.  The update is mainly to rediff against the latest 2.4 and
2.6 kernels.  Note that this does not include experimental patches.
Notably absent are</p>

<p>

<ul>

<li>lba48 (large transfer) requests</li>
<li>splitting up Promise driver into sata_promise (tx2/tx4) and sata_sx4
(sx4) drivers.</li>
<li>adding better flush-cache / writeback caching support</li>

</ul>

</p>

<p>The above are all experimental patches I have locally.</p>

<p>Finally, per user requests, I have started posting the associated
changelog as well.</p>

<p>BK repositories:<br />
        http://gkernel.bkbits.net/libata-2.[46]</p>

<p>2.6.x patch and changelog:<br />
<a href="ftp://ftp.kernel.org/pub/linux/kernel/people/jgarzik/libata/2.6.5-rc3-libata1.patch.bz2">ftp://ftp.kernel.org/pub/linux/kernel/people/jgarzik/libata/2.6.5-rc3-libata1.patch.bz2</a><br />
<a href="ftp://ftp.kernel.org/pub/linux/kernel/people/jgarzik/libata/2.6.5-rc3-libata1.log">ftp://ftp.kernel.org/pub/linux/kernel/people/jgarzik/libata/2.6.5-rc3-libata1.log</a></p>

<p>2.4.x patch and changelog:<br />
<a href="ftp://ftp.kernel.org/pub/linux/kernel/people/jgarzik/libata/2.4.26-rc1-libata2.patch.bz2">ftp://ftp.kernel.org/pub/linux/kernel/people/jgarzik/libata/2.4.26-rc1-libata2.patch.bz2</a><br />
<a href="ftp://ftp.kernel.org/pub/linux/kernel/people/jgarzik/libata/2.4.26-rc1-libata2.log">ftp://ftp.kernel.org/pub/linux/kernel/people/jgarzik/libata/2.4.26-rc1-libata2.log</a></p>

<p>Drivers for SATA-2 controllers have been in development, and should be
making their appearance soon.</p>

</quote>

</section>

<section
  title="libsysfs Version 1.1.0 Released"
  subject="[ANNOUNCE] Libsysfs v1.1.0 release"
  archive="http://www.google.com/groups?hl=en&amp;lr=&amp;ie=UTF-8&amp;selm=1FMHN-42Y-19%40gated-at.bofh.it"
  posts="1"
  startdate="31 Mar 2004 04:56:53 -0800"
>
<topic>FS: sysfs</topic>
<topic>Security</topic>

<p>Ananth N Mavinakayanahalli said:</p>

<quote who="Ananth N Mavinakayanahalli">

<p>Version 1.1.0 of libsysfs, shipped as part of the sysfsutils
package is now available at</p>

<p><a href="http://linux-diag.sourceforge.net">http://linux-diag.sourceforge.net</a></p>

<p>Libsysfs provides a simple API to access the sysfs filesystem.</p>

<p>Changes in this release include:</p>

<p>

<ul>

<li>Lots of security auditing for buffer overflows.</li>
<li>C++ compatibility fixes.</li>
<li>Remove check for installed libsysfs during build.</li>

</ul>

</p>

<p>Thanks to everyone who have been providing patches and valuable
feedback.</p>

</quote>

</section>

<section
  title="ibmvscsi Updated"
  subject="[PATCH] ibmvscsi driver - sixth version"
  archive="http://www.google.com/groups?hl=en&amp;lr=&amp;ie=UTF-8&amp;selm=1FVBo-3p4-3%40gated-at.bofh.it"
  posts="9"
  startdate="31 Mar 2004 13:26:48 -0800"
  enddate="31 Mar 2004 16:16:12 -0800"
>

<p>Dave Boutcher said:</p>

<quote who="Dave Boutcher">

<p>Here is the next version of the ibmvscsi lldd.  I know you were waiting
for the fix that correctly checks for errors on the dma_map_foo calls, which
is included.  The other functional changes are to implement device_reset,
and to surface a bunch of adapter attributes through shost_attrs.</p>

<p>This driver has been under test for the last couple of months, and
is scheduled to ship in a couple of distributions shortly.  There are a
few bug fixes included in this patch as well, mostly in the area of abort
processing and correctly handling edge conditions (freeing buffers in error
paths etc.)</p>

<p>Comments always welcomed.  I would like to get this upstream if I can,
since the linux distributors are complaining slightly that it is not.</p>

</quote>

<p>There was some technical discussion, but nothing about getting the code
upstream.</p>

</section>

<section
  title="Umbrella 0.3 Released For 2.6 Kernels"
  subject="[ANNOUNCE] Umbrella-0.3 released"
  posts="1"
  startdate="01 Apr 2004 06:25:23 -0800"
>

<p>Kristian Sorensen announced:</p>

<quote who="Kristian Sorensen">

<p>After three weeks of development, we proudly present Umbrella version
0.3 for Linux 2.6.x kernels.</p>

<p align="center">--- Short version ---</p>

<p>Umbrella for implements a combination of process based mandatory
access control (MAC) and authentication of files for Linux on top of the
Linux Security Modules framework. The MAC scheme is enforced by a set of
restrictions for each process.</p>

<p align="center">--- What's new? ---</p>

<p>This release rounds up the implementation of process based restrictions.
To increase performance and to make the use of Umbrella even smoother for
programmers, restrictions have been devided into two levels.</p>

<p>Level 1 is a static set of restrictions, which is provided by The
Umbrella Team. At present these is aimed at protecting a Linux system on a HP
iPAQ. Level 2 is restrictions is purely defined by the programmer and applies
only to the process and sub-processes that the restricted program spawns.</p>

<p>A short simple example of the use of this may be found in the user
space program in the Umbrella 0.3 release or directly in cvs at: <a
href="http://cvs.sourceforge.net/viewcvs.py/*checkout*/umbrella/umbrella-devel/userspace/src/umb_user.c?rev=1.3">http://cvs.sourceforge.net/viewcvs.py/*checkout*/umbrella/umbrella-devel/userspace/src/umb_user.c?rev=1.3</a></p>

<p>Furthermore a hash table is implemented to increase flexibility and speed
of the lookup of restrictions.</p>

<p>More details is given on the Umbrella web site: <a
href="http://umbrella.sourceforge.net">http://umbrella.sourceforge.net</a>
and on the project site <a
href="http://www.sourceforge.net/projects/umbrella">http://www.sourceforge.net/projects/umbrella</a></p>

<p align="center">--- Download Umbrella 0.3 ---</p>

<p>The Umbrella 0.3 kernel patch together with a user
space example can be directly downloaded here: <a
href="http://prdownloads.sourceforge.net/umbrella/umbrella-0.3.tar.bz2?download">http://prdownloads.sourceforge.net/umbrella/umbrella-0.3.tar.bz2?download</a></p>

<p align="center">--- Comments, Questions and Contributions ---</p>

<p>Comments, questions and contributions are most
welcome! The development team can be contacted on
umbrella@cs.auc.dk or in the SourceForge forums, found here: <a
href="http://sourceforge.net/forum/?group_id=101217">http://sourceforge.net/forum/?group_id=101217</a></p>

</quote>

</section>

</kc>

