<?xml version="1.0" ?>

<kc>

<title>Kernel Traffic</title>

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

<issue num="262" date="11 Jun 2004 00:00:00 -0800" />

<stats posts="932" size="5313" contrib="324" multiples="156" lastweek="93">

<person posts="24" size="112" who="Andrew Morton" />
<person posts="21" size="151" who="Andreas Gruenbacher" />
<person posts="21" size="95" who="Len Brown" />
<person posts="20" size="66" who="Greg KH" />
<person posts="17" size="51" who="Pavel Machek" />
<person posts="13" size="41" who="Timothy Miller" />
<person posts="12" size="229" who="Grzegorz Kulewski" />
<person posts="12" size="37" who="&quot;David S. Miller&quot;" />
<person posts="11" size="40" who="Dave Olien" />
<person posts="11" size="37" who="Russell King" />
<person posts="10" size="279" who="Michael Hunold" />
<person posts="10" size="91" who="Herbert Xu" />
<person posts="10" size="50" who="Pavel Machek" />
<person posts="10" size="41" who="Bartlomiej Zolnierkiewicz" />
<person posts="10" size="35" who="Paul Jackson" />
<person posts="9" size="108" who="Craig Bradney" />
<person posts="9" size="41" who="Dmitry Torokhov" />
<person posts="9" size="31" who="Andi Kleen" />
<person posts="9" size="31" who="Bill Davidsen" />
<person posts="9" size="30" who="Trond Myklebust" />
<person posts="8" size="136" who=" (Bob Tracy)" />
<person posts="8" size="95" who="Marcelo Tosatti" />
<person posts="8" size="60" who="Ross Dickson" />
<person posts="8" size="39" who="Grzegorz Piotr Jaskiewicz" />
<person posts="8" size="33" who="Rusty Russell" />
<person posts="8" size="32" who="Christoph Hellwig" />
<person posts="8" size="27" who="(viro)" />
<person posts="8" size="25" who="&quot;Nigel Cunningham&quot;" />
<person posts="7" size="101" who="Hugh Dickins" />
<person posts="7" size="49" who="&quot;Prakash K. Cheemplavam&quot;" />
<person posts="7" size="46" who="Christian =?iso-8859-1?q?Kr=F6ner?=" />
<person posts="7" size="40" who="Linus Torvalds" />
<person posts="7" size="34" who="&quot;Robert M. Stockmann&quot;" />
<person posts="7" size="32" who="=?iso-8859-1?Q?J=F6rn?= Engel" />
<person posts="7" size="25" who="Erik Steffl" />
<person posts="7" size="23" who="Marcel Holtmann" />
<person posts="6" size="57" who="Clay Haapala" />
<person posts="6" size="36" who="David Gibson" />
<person posts="6" size="26" who="Pat LaVarre" />
<person posts="6" size="25" who="Junfeng Yang" />
<person posts="6" size="23" who="&quot;Richard B. Johnson&quot;" />
<person posts="6" size="20" who="Chris Friesen" />
<person posts="6" size="20" who="Tom Rini" />
<person posts="6" size="19" who="&quot;Maciej W. Rozycki&quot;" />
<person posts="6" size="18" who="Nick Piggin" />
<person posts="6" size="16" who="Zwane Mwaikambo" />
<person posts="5" size="42" who="Matthias Andree" />
<person posts="5" size="30" who="Keiichiro Tokunaga" />
<person posts="5" size="28" who="Arjen Verweij" />
<person posts="5" size="26" who="Marc Boucher" />
<person posts="5" size="25" who="David Johnson" />
<person posts="5" size="24" who="William Lee Irwin III" />
<person posts="5" size="21" who="Matt Domsch" />
<person posts="5" size="21" who="Hans Reiser" />
<person posts="5" size="20" who="Chris Wright" />
<person posts="5" size="19" who="James Simmons" />
<person posts="5" size="18" who="(Valdis.Kletnieks)" />
<person posts="5" size="18" who="Duncan Sands" />
<person posts="5" size="16" who="Willy Tarreau" />
<person posts="5" size="15" who="Oliver Neukum" />
<person posts="5" size="15" who="&quot;J. Bruce Fields&quot;" />
<person posts="5" size="13" who="Erik Mouw" />
<person posts="4" size="62" who="Martin Knoblauch" />
<person posts="4" size="38" who="Sebastian Witt" />
<person posts="4" size="30" who="&quot;Mirko Caserta&quot;" />
<person posts="4" size="28" who="Clemens Schwaighofer" />
<person posts="4" size="27" who="Marc Giger" />
<person posts="4" size="23" who="OGAWA Hirofumi" />
<person posts="4" size="23" who="(stefan.eletzhofer)" />
<person posts="4" size="22" who="&quot;Heilmann, Oliver&quot;" />
<person posts="4" size="20" who="Keith Owens" />
<person posts="4" size="19" who="Carl-Daniel Hailfinger" />
<person posts="4" size="16" who="Jason Cox" />
<person posts="4" size="16" who="Derek Chen-Becker" />
<person posts="4" size="15" who="Joel Jaeggli" />
<person posts="4" size="14" who="Chris Mason" />
<person posts="4" size="12" who="Ivan Kokshaysky" />
<person posts="4" size="12" who="Geert Uytterhoeven" />
<person posts="4" size="11" who="Horst von Brand" />
<person posts="4" size="10" who="Kim Holviala" />
<person posts="4" size="10" who="James Morris" />
<person posts="3" size="107" who="Erik Jacobson" />
<person posts="3" size="62" who="Roessner Christian" />
<person posts="3" size="46" who="Jeff Garzik" />
<person posts="3" size="33" who="&quot;Randy.Dunlap&quot;" />
<person posts="3" size="30" who="&quot;Marc Rieffel&quot;" />
<person posts="3" size="12" who="&quot;Nigel Cunningham&quot;" />
<person posts="3" size="12" who="really bensoo_at_soo_dot_com" />
<person posts="3" size="12" who="Kronos" />
<person posts="3" size="11" who="Nikita Danilov" />
<person posts="3" size="10" who="Kenn Humborg" />
<person posts="3" size="10" who="=?iso-8859-1?q?M=E5ns_Rullg=E5rd?=" />
<person posts="3" size="10" who="Darren Hart" />
<person posts="3" size="10" who="&quot;Marco Cavallini&quot;" />
<person posts="3" size="9" who="Benjamin Herrenschmidt" />
<person posts="3" size="9" who="Shantanu Goel" />
<person posts="3" size="9" who="Andries Brouwer" />
<person posts="3" size="9" who="&quot;Jorge Bernal (Koke)&quot;" />
<person posts="3" size="9" who="Karol Kozimor" />
<person posts="3" size="8" who="Manfred Spraul" />
<person posts="3" size="8" who="Zwane Mwaikambo" />
<person posts="3" size="7" who="&quot;Allen Martin&quot;" />
<person posts="2" size="55" who="Anton Altaparmakov" />
<person posts="2" size="46" who="Pierre Berthier" />
<person posts="2" size="38" who="David Lang" />
<person posts="2" size="32" who="&quot;Rongfeng Tang&quot;" />
<person posts="2" size="25" who="Matt Tolentino" />
<person posts="2" size="24" who="Benoit Plessis" />
<person posts="2" size="18" who="Jesse Allen" />
<person posts="2" size="16" who="&quot;Ken Ashcraft&quot;" />
<person posts="2" size="12" who="Jurriaan" />
<person posts="2" size="12" who="&quot;E. Oltmanns&quot;" />
<person posts="2" size="12" who="Oliver Heilmann" />
<person posts="2" size="12" who="Dru" />
<person posts="2" size="11" who="Matthew Dharm" />
<person posts="2" size="11" who="Seve Ho" />
<person posts="2" size="11" who="Ian Kumlien" />
<person posts="2" size="11" who="&quot;Hemmann, Volker Armin&quot;" />
<person posts="2" size="10" who="Rene Rebe" />
<person posts="2" size="10" who="(raven)" />
<person posts="2" size="10" who="Jan-Benedict Glaw" />
<person posts="2" size="10" who="Andreas Dilger" />
<person posts="2" size="9" who="John Cherry" />
<person posts="2" size="8" who="Bastian Blank" />
<person posts="2" size="8" who="Denis Vlasenko" />
<person posts="2" size="8" who="Nathan Scott" />
<person posts="2" size="8" who="&quot;Marco Cavallini&quot;" />
<person posts="2" size="8" who="Steve French" />
<person posts="2" size="8" who="&quot;Eric D. Mudama&quot;" />
<person posts="2" size="8" who="Paul P Komkoff Jr" />
<person posts="2" size="7" who="Ian Kent" />
<person posts="2" size="7" who="(jamagallon)" />
<person posts="2" size="7" who="Tigran Aivazian" />
<person posts="2" size="7" who="CaT" />
<person posts="2" size="7" who="Dave Airlie" />
<person posts="2" size="7" who="Michal Ludvig" />
<person posts="2" size="7" who="Nicolas Mailhot" />
<person posts="2" size="7" who="Gene Heskett" />
<person posts="2" size="6" who="Ken Moffat" />
<person posts="2" size="6" who="Jeff Moyer" />
<person posts="2" size="6" who="Urban Widmark" />
<person posts="2" size="6" who="Sam Ravnborg" />
<person posts="2" size="6" who="Tim Hockin" />
<person posts="2" size="6" who="Rogier Wolff" />
<person posts="2" size="6" who="Matthew Wilcox" />
<person posts="2" size="5" who="Eric Dumazet" />
<person posts="2" size="5" who="&quot;Martin Angler&quot;" />
<person posts="2" size="5" who="Ben Greear" />
<person posts="2" size="5" who="Tom Vier" />
<person posts="2" size="5" who="Remi Colinet" />
<person posts="2" size="5" who="Brian Gerst" />
<person posts="2" size="5" who="&quot;Patrick J. LoPresti&quot;" />
<person posts="2" size="5" who="Jamie Lokier" />
<person posts="2" size="5" who="(thornber)" />
<person posts="2" size="5" who="Parag Nemade" />
<person posts="2" size="4" who="(postmaster)" />
<person posts="1" size="54" who=" (Michael Berger)" />
<person posts="1" size="42" who="Zoltan Boszormenyi" />
<person posts="1" size="31" who="Wim Van Sebroeck" />
<person posts="1" size="24" who="Jonathan Corbet" />
<person posts="1" size="15" who="Stephen Hemminger" />
<person posts="1" size="14" who="Michael Brown" />
<person posts="1" size="14" who="Alexey Mahotkin" />
<person posts="1" size="11" who="=?iso-8859-1?q?Robin=20Parker?=" />
<person posts="1" size="11" who="Juergen Stohr" />
<person posts="1" size="11" who="Mingming Cao" />
<person posts="1" size="9" who="James Cleverdon" />
<person posts="1" size="8" who="(odain2)" />
<person posts="1" size="7" who="Mary Edie Meredith" />
<person posts="1" size="7" who="&quot;Kelledin&quot;" />
<person posts="1" size="6" who="=?iso-8859-1?Q?Jesper_Langkj=E6r?=" />
<person posts="1" size="6" who="&quot;Jose R. Santos&quot;" />
<person posts="1" size="6" who="amavisd-new" />
<person posts="1" size="5" who="&quot;Stanley, Jon&quot;" />
<person posts="1" size="5" who="&quot;Des micros-casques sans fils et filaires .....&quot;" />
<person posts="1" size="5" who="Jan Nieuwenhuizen" />
<person posts="1" size="5" who="Carson Gaspar" />
<person posts="1" size="5" who="Arnd Bergmann" />
<person posts="1" size="5" who="Christian Kroener" />
<person posts="1" size="5" who="Armin Schindler" />
<person posts="1" size="5" who="&quot;Martin J. Bligh&quot;" />
<person posts="1" size="5" who="Panagiotis Papadakos" />
<person posts="1" size="5" who="Arthur Perry" />
<person posts="1" size="5" who="John Reiser" />
<person posts="1" size="5" who="Vince Castellano" />
<person posts="1" size="5" who="Dylan Thurston" />
<person posts="1" size="5" who="&quot;Justin Albstmeijer&quot;" />
<person posts="1" size="4" who="&quot;I-Gene Leong&quot;" />
<person posts="1" size="4" who=" (Markus  =?ISO-8859-1?Q?=20T=F6rnqvist?=)" />
<person posts="1" size="4" who="Christoph Pohl" />
<person posts="1" size="4" who="Hanna Linder" />
<person posts="1" size="4" who="David Lang" />
<person posts="1" size="4" who="&quot;Theodore Ts'o&quot;" />
<person posts="1" size="4" who="&quot;rufus amadi&quot;" />
<person posts="1" size="4" who="Tim Connors" />
<person posts="1" size="4" who="Vojtech Pavlik" />
<person posts="1" size="4" who="Dave Boutcher" />
<person posts="1" size="4" who="Kenneth Johansson" />
<person posts="1" size="4" who="Jon" />
<person posts="1" size="4" who="Mail Delivery Service" />
<person posts="1" size="4" who="&quot;Juergen E. Fischer&quot;" />
<person posts="1" size="4" who="Go Taniguchi" />
<person posts="1" size="4" who="Alexander Gran" />
<person posts="1" size="4" who="Mail Delivery Subsystem" />
<person posts="1" size="4" who="Eric Sandeen" />
<person posts="1" size="4" who="E-Mail-Lieferservice" />
<person posts="1" size="3" who="Paulo Marques" />
<person posts="1" size="3" who="amavisd-new" />
<person posts="1" size="3" who="Matthias Andree" />
<person posts="1" size="3" who="Stefan Traby" />
<person posts="1" size="3" who="Tom Armistead" />
<person posts="1" size="3" who="&quot;Vladimir Atanaskovik&quot;" />
<person posts="1" size="3" who="Moritz Muehlenhoff" />
<person posts="1" size="3" who="Adam Jaskiewicz" />
<person posts="1" size="3" who="Andreas Tscharner" />
<person posts="1" size="3" who="Jon DeVree" />
<person posts="1" size="3" who=" (=?iso-8859-1?q?Ga=EBl_Le_Mignot?=)" />
<person posts="1" size="3" who="Jakob Oestergaard" />
<person posts="1" size="3" who="Grant Grundler" />
<person posts="1" size="3" who="Martin Hermanowski" />
<person posts="1" size="3" who="(support)" />
<person posts="1" size="3" who="(Swamy_Gautham)" />
<person posts="1" size="3" who="Daniel Egger" />
<person posts="1" size="3" who="&quot;Petri T. Koistinen&quot;" />
<person posts="1" size="3" who="Bjorn Helgaas" />
<person posts="1" size="3" who="&quot;Nick Warne&quot;" />
<person posts="1" size="3" who="&quot;Steve Lee&quot;" />
<person posts="1" size="3" who="Christoph Lameter" />
<person posts="1" size="3" who="Sven Geggus" />
<person posts="1" size="3" who="Junio C Hamano" />
<person posts="1" size="3" who="&quot;AYMET SRL&quot;" />
<person posts="1" size="3" who="Nathan Lynch" />
<person posts="1" size="3" who="Paul Mackerras" />
<person posts="1" size="3" who="Karim Yaghmour" />
<person posts="1" size="3" who="Jakub Jelinek" />
<person posts="1" size="3" who="Ian Stirling" />
<person posts="1" size="3" who="&quot;Adrian Yee&quot;" />
<person posts="1" size="3" who="Ingo Molnar" />
<person posts="1" size="3" who="&quot;Adrian Yee&quot;" />
<person posts="1" size="3" who="Felipe W Damasio" />
<person posts="1" size="3" who="Mail Delivery Service" />
<person posts="1" size="3" who="Jussi Laako" />
<person posts="1" size="3" who="Dumitru Ciobarcianu" />
<person posts="1" size="3" who="Jurjen Oskam" />
<person posts="1" size="3" who="(MAILER-DAEMON)" />
<person posts="1" size="3" who="&quot;MailScanner&quot;" />
<person posts="1" size="3" who="Kevin O'Connor" />
<person posts="1" size="3" who="(hcgroup_7)" />
<person posts="1" size="3" who="Gilles May" />
<person posts="1" size="3" who="Jens Axboe" />
<person posts="1" size="3" who="(noreply)" />
<person posts="1" size="3" who="&quot;Srinivas G.&quot;" />
<person posts="1" size="3" who="(Postmaster)" />
<person posts="1" size="2" who="Chris Meadors" />
<person posts="1" size="2" who="DervishD" />
<person posts="1" size="2" who="Theodore Ts'o" />
<person posts="1" size="2" who="Alan Cox" />
<person posts="1" size="2" who="Alan Stern" />
<person posts="1" size="2" who="Soeren Sonnenburg" />
<person posts="1" size="2" who="Rogier Wolff" />
<person posts="1" size="2" who="Marcos B" />
<person posts="1" size="2" who="David Brownell" />
<person posts="1" size="2" who="&quot;gonzalo&quot;" />
<person posts="1" size="2" who=" (Danny ter Haar)" />
<person posts="1" size="2" who="&quot;Paul Rolland&quot;" />
<person posts="1" size="2" who="Rob Couto" />
<person posts="1" size="2" who=" &lt;dalu5464@sina.com&gt;" />
<person posts="1" size="2" who="Mail Delivery Subsystem" />
<person posts="1" size="2" who="(linux-sh-admin)" />
<person posts="1" size="2" who="Jesse Barnes" />
<person posts="1" size="2" who="Albert Cahalan" />
<person posts="1" size="2" who="(carloschoenberg)" />
<person posts="1" size="2" who="Niel Lambrechts" />
<person posts="1" size="2" who="(Postmaster)" />
<person posts="1" size="2" who="Frank Otto" />
<person posts="1" size="2" who="Danny ter Haar" />
<person posts="1" size="2" who="&quot;Brett E.&quot;" />
<person posts="1" size="2" who="Jorge Bernal" />
<person posts="1" size="2" who="Tomas Szepe" />
<person posts="1" size="2" who="(rajsekar)" />
<person posts="1" size="2" who="Peter Clifton" />
<person posts="1" size="2" who="Fabrice =?iso-8859-1?q?M=E9nard?=" />
<person posts="1" size="2" who="(publishing)" />
<person posts="1" size="2" who="David =?iso-8859-15?Q?G=F3mez?=" />
<person posts="1" size="2" who="=?ISO-8859-1?Q?Szima_G=E1bor?=" />
<person posts="1" size="2" who="Alan Cox" />
<person posts="1" size="2" who="Alan Tan" />
<person posts="1" size="2" who="Justin Cormack" />
<person posts="1" size="2" who="Ralf Hildebrandt" />
<person posts="1" size="2" who="&quot;MailScanner, TheBog.net&quot;" />
<person posts="1" size="2" who="Matt Mackall" />
<person posts="1" size="2" who="=?ISO-8859-1?Q?Sven_K=F6hler?=" />
<person posts="1" size="2" who="Erik Andersen" />
<person posts="1" size="2" who="FabF" />
<person posts="1" size="2" who="&quot;System Anti-Virus Administrator&quot;" />
<person posts="1" size="2" who="MNH" />
<person posts="1" size="2" who="Rajsekar" />
<person posts="1" size="2" who="Aivils" />
<person posts="1" size="2" who="&quot;P. Christeas&quot;" />
<person posts="1" size="2" who="&quot;Frederick, Fabian&quot;" />
<person posts="1" size="2" who="&quot;Sistema Antivirus&quot;" />
<person posts="1" size="2" who="(MAILER-DAEMON)" />
<person posts="1" size="2" who="(MAILER-DAEMON)" />
<person posts="1" size="2" who="=?ISO-8859-1?Q?Fr=E9d=E9ric_L=2E_W=2E_Meunier?=" />
<person posts="1" size="2" who="Wichert Akkerman" />
<person posts="1" size="2" who="Matthias Jim Knopf" />
<person posts="1" size="2" who="&quot;Matt H.&quot;" />
<person posts="1" size="2" who="(csg69)" />
<person posts="1" size="2" who="netbuisiness" />
<person posts="1" size="2" who="&quot;Williams Parker&quot;" />
<person posts="1" size="2" who="=?iso-8859-1?q?Lucas=20Silva?=" />
<person posts="1" size="2" who="(canstorels)" />
<person posts="1" size="2" who="Mark Hahn" />
<person posts="1" size="2" who="&quot;Miquel van Smoorenburg&quot;" />
<person posts="1" size="2" who="Chris Wedgwood" />
<person posts="1" size="2" who="(jlnance)" />
<person posts="1" size="2" who="tj" />
<person posts="1" size="2" who="Norberto Bensa" />
<person posts="1" size="1" who="&quot;Amie Westby&quot;" />
<person posts="1" size="1" who="&quot;Postmaster&quot;" />
<person posts="1" size="1" who="(aupechemignon)" />
<person posts="1" size="1" who="(SMTP_Admin)" />
<person posts="1" size="1" who="&quot;millard&quot;" />

</stats>

<section
  title="sym53c500_cs PCMCIA SCSI Driver Released"
  subject="[PATCH] sym53c500_cs PCMCIA SCSI driver (new)"
  archive="http://www.google.com/groups?hl=en&amp;lr=&amp;ie=UTF-8&amp;selm=1JgpW-1iL-1%40gated-at.bofh.it"
  posts="16"
  startdate="09 Apr 2004 18:17:03 -0800"
  enddate="25 Apr 2004 14:59:08 -0800"
>
<topic>Disks: SCSI</topic>

<mention>Bill Davidsen</mention>

<p>Bob Tracy said:</p>

<quote who="Bob Tracy">

<p>The attached patch set implements a PCMCIA SCSI driver for host adapters
based on the Symbios 53c500 chip.  The original driver for this chip was
written by Thomas Corner and available only as an add-on to the pcmcia-cs
package.  I've been maintaining the add-on driver on an infrequent basis
for the past several years, and the release of the 2.6 kernel "forced"
a long overdue update.</p>

<p>The only host adapter I'm aware of that uses the sym53c500 controller
chip is the "new" version of the New Media Bus Toaster (circa 1996), and
the attached driver has been tested using this particular adapter on a
2.6.4 kernel.  The patch set applies cleanly to 2.6.4 and 2.6.5.</p>

</quote>

<p>Christoph Hellwig replied:</p>

<quote who="Christoph Hellwig">

<p>I've given it a short spin and here's a bunch of comments:</p>

<p>

<ol>

<li>the split into three source files is supserflous, one file should
do it</li>

<li>please don't use host.h or scsi.h from drivers/scsi/.  The defintions
not present in include/scsi/ are deprecated and shall not be used (the most
prominent example in your driver are the Scsi_&lt;Foo&gt; typedefs that have
been replaced by struct scsi_foo</li>

<li>the driver doesn't even try to deal with multiple HBAs</li>

<li>your detection logic could be streamlined a little, e.g. the
request/release resource mess</li>

</ol>

</p>

</quote>

<p>Regarding collecting everything into a single file, Bob was
skeptical. He said that currently it was true, the driver only supported
PCMCIA implementations, so there was no real need for multiple files. But
he added, <quote who="Bob Tracy">My thinking was if someone comes up with a
host adapter that isn't PCMCIA, the SYM53C500.c file is to the sym53c500_cs
driver what the qlogicfas.c file is to the qlogic_cs driver, that is, core
functions that could support multiple types of host adapters.</quote> Bill
Davidsen thought this made enough sense to justify the split, especially given
that Bob had split the files along the lines that other drivers had already
used; but Christoph said it would be better to wait until the need actually
arose before splitting the file. Otherwise the danger was that the split as
currently designed might not be quite right, and it tended to add unnecessary
complexity just by having more files than was actually necessary.</p>

<p>In response to Christoph's objection in his original post, to Bob's
detection logic, Bob said he'd try to clean it up, adding, <quote who="Bob
Tracy">the goal for the initial port was to replicate the functionality I
already had in older kernel versions.  It appears I faithfully replicated
the deficiencies of the old driver as well :-).</quote> Christoph explained,
<quote who="Christoph Hellwig">Any 2.6 driver is better than none and your
looks quite okay from the functional standpoint.  We just need to have a
little higher bars for new drivers as we already have lots of maintaince
overhead for old and sloppy written drivers.</quote> Bob replied, <quote
who="Bob Tracy">Attached is the second attempt at a 2.6 PCMCIA driver for
SCSI cards based on the Symbios 53c500 controller.  The patch set was tested
with (and applies cleanly to) 2.6.5.  As requested, the driver source has
been consolidated into a single file.  All remnants of code that might have
supported non-PCMCIA host adapters have been ripped out, which allowed for the
requested streamlining of the detection logic: Card Services is doing most
of the heavy lifting in that area anyway :-).</quote> After some detailed
technical criticism by Christoph going line-by-line through the patch,
Bob posted a third update, saying:</p>

<quote who="Bob Tracy">

<p>here's the latest attempt at a 2.6 driver for PCMCIA SCSI cards using
the Symbios 53c500 controller.  This includes (at least) "newer" versions
of the New Media Bus Toaster (circa 1997).  The attached patch set applies
cleanly to 2.6.5.</p>

<p>In addition to all the concerns Christoph raised in response to the
previous two submissions, there was an issue with the code for handling a
CS_EVENT_CARD_RESET event: the event handler was calling the bus_reset function
with a NULL scsi_cmnd argument.  The potential problem was masked by the fact
my bus_reset function was a trivial reimplementation of the default behavior
in the absence of a bus_reset function.  Folks using the qlogic_cs driver are
hereby warned: if the event handler tries to process a CS_EVENT_CARD_RESET
event (probably following a "resume"), qlogicfas_bus_reset() will be called
with a NULL scsi_cmnd argument, and the next thing you'll see will be the
"oops" resulting from a null pointer dereference.  For what it's worth,
someone besides me has noted this can happen: see the comment block above
qlogicfas_bus_reset() in linux/drivers/scsi/qlogicfas.c.</p>

<p>Major differences between this version and prior ones:</p>

<p>

<ol>

<li>Support for multiple HBAs should now be in place.  The only global
host variable affects the PIO speed, and that's affected by a compile-
time define.</li>

<li>Although proc_info is officially obsolete in 2.6, I didn't delete the
associated code: it can be enabled by defining PROC_INFO at compile time
(for people like me who find it useful).</li>

<li>Cleanup/consolidation of multiple functions, including deletion of code
rendered superfluous by new 2.6 ways of doing things.</li>

</ol>

</p>

<p>Barring any remaining issues (Christoph?), I think we're finally ready
for prime time :-).</p>

</quote>

<p>Russell King had an objection to offer. He said:</p>

<quote who="Russell King">

<p>what happens if you're in the middle of a transaction, and you receive
a CS_EVENT_CARD_RESET.  What happens to the command in progress ?</p>

<p>Sure, the hardware is reset to a sane state, but what about the software
state in the driver?</p>

</quote>

<p>Bob admitted he didn't know what would happen in that case; Russell
remarked, <quote who="Russell King">From the brief look I had, it didn't look
like it - I suspect things will go gaga if someone ever invoked "cardctl
reset".</quote> Bob replied that maybe this was a case of just telling the
user to avoid doing that... but there was no further discussion.</p>

</section>

<section
  title="Per-User Signal-Pending And Message-Queue Limits In 2.6 And 2.4"
  subject="[PATCH] per-user signal pending and message queue limits"
  archive="http://www.google.com/groups?hl=en&amp;lr=&amp;ie=UTF-8&amp;selm=1MOEL-sJ-3%40gated-at.bofh.it"
  posts="12"
  startdate="19 Apr 2004 13:28:10 -0800"
  enddate="27 Apr 2004 10:09:35 -0800"
>
<topic>POSIX</topic>
<topic>Security</topic>

<p>Marcelo Tosatti, in addition to maintaining the 2.4 kernel, has also
been doing a bit of 2.6 work as well. He submitted a patch to Andrew Morton,
saying:</p>

<quote who="Marcelo Tosatti">

<p>Here goes the signal pending &amp; POSIX mqueue's per-uid limit patch.</p>

<p>Initialization has been moved to include/asm-i386/resource.h, as you suggested.</p>

<p>The global mqueue limit has been increased to 256 (64 per user), and the
global signal pending limit to 4096 (1024 per user).</p>

<p>This has been well tested.</p>

<p>If you are OK with it for inclusion (-mm) I'll generate the arch-dependant
changes for the other architectures.</p>

</quote>

<p>Andrew approved the patch and encouraged Marcelo to do the
architecture-dependent code as well. Jakub Jelinek, close by, observed,
<quote who="Jakub Jelinek">I wonder if it is a good idea to base mqueue
limitation on the number of message queues and not take into account how big
they are.  64 message queues with 1 byte msgsize and 1 maxmsg is certainly
quite harmless and the system could have even more queues for such a user,
while 64 message queues with 16K msgsize (current default) and 40 maxmsg
(also default) eats ~ 40M of kernel memory.</quote> Marcelo agreed with this,
saying the the amount of memory actually used would be a better yardstick.
Manfred Spraul cautioned, <quote who="Manfred Spraul">I agree, but note that
there is one hidden problem: There can be one notification for each registered
message queue. If there are more than ~560 queues and one process wants to
install SIGEV_THREAD notification handlers for all of them, then the netfilter
code will run against the socket rmem limit and mq_notify will block.  _If_
there are users that do that we'll have to bypass the normal sk_rmem_alloc
and add an mqueue specific limit.</quote> Andrew put it a little differently,
saying to Marcelo:</p>

<quote who="Andrew Morton">

<p>But we still have the global mq and signal limits?
These permit local denials of service attacks.  See <a
href="http://seclists.org/lists/linux-kernel/2004/Apr/2065.html">http://seclists.org/lists/linux-kernel/2004/Apr/2065.html</a></p>

<p>The major advantage of your work is that we can now remove those limits.
You'll be needing a 2.4 backport ;)</p>

</quote>

<p>Marcelo agreed with the DoS attack and the need for a 2.4 backport; though
he did add that actually it required 4 users acting in concert to successfully
do the attack. He also said, <quote who="Marcelo Tosatti">currently root is
allowed to allocate infinite number of mqueues. We want to remove that and
calculate on the amount of memory allocated. I'll also think about it and
come with an implementation.</quote> Along with the kernel part of the port,
he also added, <quote who="Marcelo Tosatti">we also need to do the userspace
part. ulimit is part of bash, so probably all shell's should be awared of
this?</quote> To that last, Andrew replied:</p>

<quote who="Andrew Morton">

<p>yup, the shells need to be changed, which is really awkward.  I was wrong
about how bash and zsh handle `ulimit 4 1024'.</p>

<p>Really the shells _should_ permit ulimit-by-number for this very reason.</p>

<p>Adding new ulimits is nice - it's a shame that the shells make it hard
to use.</p>

</quote>

<p>The next day Marcelo was hard at work again and posted a technical question;
and a few posts later said:</p>

<quote who="Marcelo Tosatti">

<p>Here goes the latest signal/mqueue per-uid limits patch. It now does:</p>

<p>

<ul>

<li>Create per-user signal limits, remove global limit</li>

<li>Create per-user message queue limits, accounting is now done on
memory-allocated (queue creation and message allocation). Note: it might be
nice to move deaccounting inside free_msg().</li>

</ul>

</p>

<p>I added an int to mqueue inode and to "struct msg_msg" (to save the UID
of inode creator, to guarantee deaccounting is done correctly if another
UID deletes the entries (eg root)). I wonder about cache locality. Has
anyone cared enough to align the mqueue structures? Dont think so... Does
it impact performance?</p>

<p>Thanks Andrew, Manfred and Jakub for their comments.</p>

<p>Attached are "mqsend.c" and "mqrec.c", two simple programs (copied from
libmqueue) which I used for testing, in case anyone is interested.</p>

</quote>

<p>Manfred had a technical criticism, but there was no discussion of this
updated patch.</p>

</section>

<section
  title="Crypto CRC32C Module"
  subject="[PATCH] crypto/crc32c implementation, updated 040419"
  archive="http://www.google.com/groups?hl=en&amp;lr=&amp;ie=UTF-8&amp;selm=1MOEP-sJ-21%40gated-at.bofh.it"
  posts="11"
  startdate="19 Apr 2004 13:31:55 -0800"
  enddate="27 Apr 2004 13:50:52 -0800"
>
<topic>Version Control</topic>

<mention>David S. Miller</mention>
<mention>James Morris</mention>

<p>Clay Haapala said, <quote who="Clay
Haapala">This patch against 2.6.6-rc1-bk implements the <a
href="http://www.haifa.il.ibm.com/satran/ips/Vince-Luben-crc32c-01.pdf">CRC32C
algorithm</a> as a type of digest.  It is implemented as a wrapper for
libcrc32c, available in a separate patch.  The crypto CRC32C module will
be used by the iscsi-sfnet driver.</quote> David S. Miller and James Morris
approved of the patch; Clay rediffed the patches against the official 2.6.6-rc1
tree, and after clearing up a few small objections, David applied it.</p>

</section>

<section
  title="Status Of IDE Module Unloading; IDE And libata"
  subject="[PATCH] prevent module unloading for legacy IDE chipset drivers"
  archive="http://www.google.com/groups?hl=en&amp;lr=&amp;ie=UTF-8&amp;selm=1NAq4-5OG-11%40gated-at.bofh.it"
  posts="11"
  startdate="21 Apr 2004 12:19:24 -0800"
  enddate="26 Apr 2004 07:54:27 -0800"
>
<topic>Disks: IDE</topic>
<topic>Disks: SCSI</topic>
<topic>FS: rootfs</topic>
<topic>Sound: ALSA</topic>
<topic>Sound: OSS</topic>

<p>Bartlomiej Zolnierkiewicz posted a patch to disable module unloading for
legacy IDE chipset drivers. This involved just removing the module_exit()
call from the drivers. Erik Andersen asked, <quote who="Erik Andersen">Out
of curiosity, what would be needed to make it safe to unload all ide modules
from a system with a scsi rootfs?</quote> Bartlomiej said that it made no
difference, because the user could regardless end up unloading modules that
were still in use. Erik Mouw said he'd been successfully unloading IDE
modules for years; he asked, <quote who="Erik Mouw">What makes IDE
sufficiently different from SCSI that we can't unload IDE host
drivers?</quote> Bartlomiej replied that a lack of reference counting, as
well as insufficient locking and other technical details accounted for this.
Erik M. asked, <quote who="Erik Mouw">Do you plan to fix the module
unloading in the current code, or is it easier to write a new driver based
on libata (assuming it has been fixed in libata)? If I understood Jeff's
latest libata update correctly, it should be possible Real Soon Now [tm],
right?</quote> Bartlomiej replied, <quote who="Bartlomiej
Zolnierkiewicz">I'm going to fix it but doing it properly requires major
changes in IDE code.</quote> He added:</p>

<quote who="Bartlomiej Zolnierkiewicz">

<p>I think there is a common misunderstanding about libata: it will not
replace IDE drivers any time soon.</p>

<p>I want to rewrite+merge current IDE code with libata during 2.7 (and yes,
legacy naming and ordering will be preserved!).</p>

<p>I hope nobody starts rewriting existing IDE drivers for libata and
pushing them upstream -&gt; it will mean maintenance problems much bigger
than OSS+ALSA.</p>

<p>However writing _new_ libata driver for 'exotic' PATA hardware is OK.</p>

</quote>

</section>

<section
  title="Linux 2.4.27-pre1 Released"
  subject="Linux 2.4.27-pre1"
  archive="http://www.google.com/groups?hl=en&amp;lr=&amp;ie=UTF-8&amp;selm=1NM8h-6OF-19%40gated-at.bofh.it"
  posts="5"
  startdate="22 Apr 2004 05:06:51 -0800"
  enddate="25 Apr 2004 02:19:11 -0800"
>
<topic>FS: procfs</topic>
<topic>Serial ATA</topic>
<topic>USB</topic>

<mention>David S. Miller</mention>
<mention>Geert Uytterhoeven</mention>

<p>Marcelo Tosatti announced Linux 2.4.27-pre1, saying:</p>

<quote who="Marcelo Tosatti">

<p>Most importantly it contains the addition of SATA drivers backport from
v2.6.</p>

<p>Also network driver updates, USB updates, etc.</p>

</quote>

<p>Geert Uytterhoeven posted a one-liner patch to the config scripts, saying
that the Packet Generator (an experimental feature) wouldn't compile unless
ProcFS was also included. David S.  Miller accepted the patch gratefully,
asking if 2.6 also needed a similar patch; but Geert confirmed that 2.6
already included the necessary dependencies.</p>

</section>

<section
  title="SiS Driver Fixes"
  subject="[sata] SiS driver fixes"
  archive="http://www.google.com/groups?hl=en&amp;lr=&amp;ie=UTF-8&amp;selm=1OXaT-5ZZ-3%40gated-at.bofh.it"
  posts="2"
  startdate="25 Apr 2004 11:00:18 -0800"
  enddate="26 Apr 2004 10:36:04 -0800"
>
<topic>Serial ATA</topic>

<p>Jeff Garzik said:</p>

<quote who="Jeff Garzik">

<p>Attached is a patch, and the full 2.6.x version of the SiS driver,
for testing.</p>

<p>This should address the problem where people were having their SATA drives
not recognized at probe time.</p>

<p>Any feedback, including "you didn't break anything", would be great,
as I don't have any SiS test hardware up and running.</p>

</quote>

<p>Robin Parker gave it a whirl and said, <quote who="Robin Parker">What
can I say??  It worked like a charm.</quote></p>

</section>

<section
  title="AHCI Driver; Open Hardware Specifications"
  subject="[sata] new driver -- AHCI"
  archive="http://www.google.com/groups?hl=en&amp;lr=&amp;ie=UTF-8&amp;selm=1OYzZ-77o-5%40gated-at.bofh.it"
  posts="2"
  startdate="25 Apr 2004 12:27:45 -0800"
  enddate="25 Apr 2004 13:29:36 -0800"
>
<topic>Disks: IDE</topic>
<topic>Disks: SCSI</topic>
<topic>Hot-Plugging</topic>
<topic>Networking</topic>
<topic>PCI</topic>
<topic>Serial ATA</topic>

<p>Jeff Garzik said:</p>

<quote who="Jeff Garzik">

<p>So, finally ATA has joined modern times.  People familiar with ATA know
the host controller interfaces have always been slow, often requiring 8+
io writes per command.  The SCSI and ethernet controller folks have been
rolling their eyes for years.</p>

<p>The current wave of SATA controllers make a big leap... into the present.
Either DMA rings or queues of depths ~32 are becoming the norm.  All very
hotplug-friendly, with highly optimized fast paths.</p>

<p>Of course, as is the unfortunate norm in the storage industry, all of
these are covered by NDAs, except for Intel's ICH6, which conforms the to
the fully-open AHCI specification.  In order to support such a controller,
all you need are PCI ids, and the following specifications:</p>

<p>AHCI: <a href="http://www.intel.com/technology/serialata/pdf/rev1_0.pdf">http://www.intel.com/technology/serialata/pdf/rev1_0.pdf</a><br />
SATA 1: <a href="http://www.serialata.org/collateral/zipdownloads/serialata10a.ZIP">http://www.serialata.org/collateral/zipdownloads/serialata10a.ZIP</a><br />
SATA 2: <a href="http://www.serialata.org/collateral/pdf/S2Ext_1_1_Gold.pdf">http://www.serialata.org/collateral/pdf/S2Ext_1_1_Gold.pdf</a><br />
ATA 1: <a href="http://www.t13.org/docs2004/d1532v1r4b ATA-ATAPI-7.pdf">http://www.t13.org/docs2004/d1532v1r4b ATA-ATAPI-7.pdf</a><br />
ATA 2: <a href="http://www.t13.org/docs2004/d1532v1r4b ATA-ATAPI-7.pdf">http://www.t13.org/docs2004/d1532v1r4b ATA-ATAPI-7.pdf</a><br />
ATA 3: <a href="http://www.t13.org/docs2004/d1532v1r4b ATA-ATAPI-7.pdf">http://www.t13.org/docs2004/d1532v1r4b ATA-ATAPI-7.pdf</a></p>

<p>In addition to being an open architecture, it has all the things you
would expect of a modern controller:  64-bit DMA support everywhere (no bank
switching), queueing support, trivial PIO and ATAPI support, access to the
low-level SATA FIS, and more.</p>

<p>So kudos to the AHCI folks (mainly at Intel), for making a decent,
open controller.  I always prefer to work on drivers for decent hardware,
whose hardware specification is open and public.</p>

</quote>

<p>Sven K&#246;hler replied, <quote who="Sven
K&#246;hler">seems like SiS is going to use AHCI too: <a
href="http://www.sis.com/products/chipsets/oa/athlon64/756Presentation.pdf">http://www.sis.com/products/chipsets/oa/athlon64/756Presentation.pdf</a></quote></p>

</section>

<section
  title="Linux 2.6.6-rc2-mm2 Released"
  subject="2.6.6-rc2-mm2"
  archive="http://www.google.com/groups?hl=en&amp;lr=&amp;ie=UTF-8&amp;selm=1P9Yw-7r7-23%40gated-at.bofh.it"
  posts="26"
  startdate="26 Apr 2004 00:39:44 -0800"
  enddate="27 Apr 2004 13:59:26 -0800"
>
<topic>FS: ReiserFS</topic>
<topic>FS: ext3</topic>
<topic>Framebuffer</topic>
<topic>Hot-Plugging</topic>
<topic>Kernel Release Announcement</topic>

<p>Andrew Morton announced 2.6.6-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.6-rc2/2.6.6-rc2-mm2/">ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.6-rc2/2.6.6-rc2-mm2/</a></p>

<p>

<ul>

<li>Largeish reiserfs feature update.  The biggest change is probably
the new block allocation algorithm.  See the changelog inside
reiserfs-group-alloc-9.patch for details.</li>

<li>Added the ia64 CPU hotplug support patch</li>

<li>More work against the ext3 block allocator.</li>

<li>Several more framebuffer driver update, some quite substantial.</li>

<li>Lots of fixes, mostly minor.</li>

</ul>

</p>

</quote>

</section>

<section
  title="LinuxAnt Deceptive In License Reporting"
  subject="hsf modem drivers lying about their license"
  archive="http://www.google.com/groups?hl=en&amp;lr=&amp;ie=UTF-8&amp;selm=1PkqX-7TI-3%40gated-at.bofh.it"
  posts="2"
  startdate="26 Apr 2004 11:50:16 -0800"
  enddate="26 Apr 2004 12:18:58 -0800"
>
<topic>Modems</topic>

<p>Jon DeVree reported:</p>

<quote who="Jon DeVree">

<p>Someone needs to take a look at the MODULE_LICENSE string reported by
the HSF modem drivers made by LinuxAnt.</p>

<p><a href="http://www.linuxant.com/drivers/hsf/full/downloads.php">http://www.linuxant.com/drivers/hsf/full/downloads.php</a></p>

<p>They creatively inserted a \0 character in it.
MODULE_LICENSE("GPL\0for files in the \"GPL\" directory; for others,
only LICENSE file applies");</p>

<p>Runnning modinfo -F license on the compiled driver gives:
GPL because of their creative null character. The actual license for most of
the files is NOT GPL.</p>

</quote>

<p>Chris Friesen remarked, <quote who="Chris Friesen">Ewww...that's evil.
Maybe we need to store the size of the license string for modinfo, so it
doesn't stop at the first null?</quote></p>

</section>

<section
  title="Linux 2.6.6-rc3 Released"
  subject="Linux 2.6.6-rc3"
  archive="http://www.google.com/groups?hl=en&amp;lr=&amp;ie=UTF-8&amp;selm=1PMQ9-5K6-3%40gated-at.bofh.it"
  posts="1"
  startdate="27 Apr 2004 18:03:35 -0800"
>
<topic>Digital Video Broadcasting</topic>
<topic>Kernel Release Announcement</topic>
<topic>USB</topic>

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

<quote who="Linus Torvalds">

<p>s390, cifs, ntfs, ppc, ppc64, cpufreq upates. Oh, and DVB and USB.</p>

<p>I'm hoping to do a final 2.6.6 later this week, so I'm hoping as many
people as possible will test this.</p>

</quote>

</section>

</kc>

