ChangeSet@1.1741, 2004-05-17 21:12:36-07:00, olof@austin.ibm.com
  [PATCH] ppc64: fix non-SMP build break
  
  arch/ppc64/lib/locks.c was recently added by Paulus' lock rewrite. It's
  always compiled, which breaks non-SMP builds. Below patch makes it depend
  on CONFIG_SMP.

ChangeSet@1.1724.2.4, 2004-05-17 16:44:49-07:00, greg@kroah.com
  merge

ChangeSet@1.1587.12.92, 2004-05-17 16:08:02-07:00, greg@kroah.com
  PCI Hotplug: clean up a lot of global symbols that do not need to be.

ChangeSet@1.1737, 2004-05-17 15:58:40-07:00, greg@kroah.com
  USB: fix up formatting issues with aiptek driver

ChangeSet@1.1736, 2004-05-17 15:37:07-07:00, greg@kroah.com
  USB: fix dumb compile error in aiptek driver
  
  Doesn't anyone ever actually build the patches they send me...

ChangeSet@1.1735, 2004-05-17 15:35:00-07:00, oliver@neukum.org
  [PATCH] USB: purge wait_ms from core
  
  this makes the core use the new safe waiting helper.
  
    - remove wait_ms from hub driver

ChangeSet@1.1734, 2004-05-17 15:34:21-07:00, oliver@neukum.org
  [PATCH] USB: new delay helper safe wrt waitqueues
  
  this is a new waiting helper safe even if we are left on a waitqueue.
  This version addresses Alan's concerns about ifdefs. Please apply.
  
    - add delay helper that is safe even if we are still on another waitqueue

ChangeSet@1.1733, 2004-05-17 15:33:22-07:00, david-b@pacbell.net
  [PATCH] USB: ethernet/rndis gadget address params
  
  This resolves a FIXME by adding module parameters that can
  be used to provide stable (vs random) addresses, and gets
  rid of a runtime error from obsolete module parameter usage
  in the RNDIS code.
  
  The stable ethernet addresses are nice to hosts, which will
  normally want to save them away in config databases.  For
  example, without stable addresses Windows XP will end up
  recording quite a lot of RNDIS devices.

ChangeSet@1.1732, 2004-05-17 15:32:03-07:00, david-b@pacbell.net
  [PATCH] USB: RNDIS (and CDC) filter flag handling
  
  This should fix the problem David Meggy found, where RNDIS was setting
  the OID_GEN_CURRENT_PACKET_FILTER state incorrectly.  It's the same
  issue Andrew Morton noticed a while back, for that matter, but with
  more than just a "now compiles on 64 bit" fix.
  
  Basically the code needs to interpret 32 bits provided in the request
  from the (Windows) host, rather than 8 bits of other memory that's got
  some irrelevant value.
  
  The fix is just to save the 32 bits.  I did the same thing with the
  CDC Ethernet filter, which should eventually be used the same way:  to
  limit what packets get sent to the host.  Also defined a couple more
  of the CDC requests.

ChangeSet@1.1731, 2004-05-17 15:31:31-07:00, bwheadley@earthlink.net
  [PATCH] USB: Aiptek.c Driver patch

ChangeSet@1.1724.1.3, 2004-05-17 22:46:10+01:00, rmk@flint.arm.linux.org.uk
  [ARM] Add linux/module.h include for ioremap.

ChangeSet@1.1724.1.2, 2004-05-17 22:28:23+01:00, rmk@flint.arm.linux.org.uk
  [ARM] Update atomic.h
  
  This re-jigs atomic.h by providing atomic_add_return and
  atomic_sub_return as other architectures do.  This allows us to
  implement the atomic ops that test the new value without having
  to write the underlying atomic operation in various forms.

ChangeSet@1.1724.2.2, 2004-05-17 15:15:48-04:00, jgarzik@redhat.com
  Merge redhat.com:/spare/repo/netdev-2.6/remove-rcpci
  into redhat.com:/spare/repo/net-drivers-2.6

ChangeSet@1.1724.1.1, 2004-05-17 20:02:14+01:00, icampbell@com.rmk.(none)
  [ARM] Fix use of page->count
  
  Patch from: Ian Campbell
  
  This changes the atomic_t in struct page named count into a private
  member _count which breaks arch/arm/mm/init.c at line 80 which reads
  page->count directly in show_mem().
                                                                                  
  The comments in the above changeset suggest that page_count(page) is
  precisely equal to the old page->count semantics, even though the
  semantics of _count are different, so I think the following is correct

ChangeSet@1.1730, 2004-05-17 11:38:40-07:00, oliver@neukum.org
  [PATCH] USB: further fix to mdc800
  
  I made a mistake fixing that driver. Here's the fix. Please apply soon.
  
    - fix race condition leading to busy waiting

ChangeSet@1.1729, 2004-05-17 11:13:32-07:00, david-b@pacbell.net
  [PATCH] USB: fix MSEC_TO_JIFFIES in usb code
  
  Here are some MSEC_TO_JIFFIES() fixes missed by whoever did it,
  plus a minor fix to grab root_hub->serialize() during OHCI
  suspend.  (I forgot to cut/paste those lines from resume.)

ChangeSet@1.1728, 2004-05-17 11:12:22-07:00, david-b@pacbell.net
  [PATCH] USB: fix CONFIG_PM build issues

ChangeSet@1.1727, 2004-05-17 11:01:17-07:00, arjanv@redhat.com
  [PATCH] USB: fix obsolete header usage in usb storage
  
  drivers/scsi/hosts.h is obsolete, <scsi/scsi_host.h> is the prefered header
  nowadays. (hosts.h is just a 1 line wrapper to include it for now anyway)

ChangeSet@1.1726, 2004-05-17 11:00:46-07:00, zwane@fsmlabs.com
  [PATCH] USB: fix usb-serial serial_open oops
  
  No usb serial devices, just compiled in and the system has a USB controller.
  
  Unable to handle kernel NULL pointer dereference at virtual address 0000000c
   printing eip:
  c046a188
  *pde = 00000000
  Oops: 0000 [#1]
  PREEMPT SMP DEBUG_PAGEALLOC
  Modules linked in:
  CPU:    0
  EIP:    0060:[<c046a188>]    Not tainted VLI
  EFLAGS: 00010246   (2.6.6-mm3)
  EIP is at serial_open+0x38/0x170
  eax: 00000000   ebx: dc883000   ecx: c0613db8   edx: 00000000
  esi: 00000001   edi: 00000000   ebp: dc84cef0   esp: dc84cedc
  ds: 007b   es: 007b   ss: 0068
  Process serial (pid: 1073, threadinfo=dc84c000 task=ddffca50)
  Stack: 00000000 de8f4f5c ffffffed 00000100 de8f4f5c dc84cf14 c035a874 090115a0
         0bc00000 dc883000 00000000 de8f4f5c 00000001 df8a2dfc dc84cf40 c0171270
         dc84c000 00000001 00000000 de8f4f5c dbc75e94 00000000 de8f4f5c dbc75e94
  Call Trace:
   [<c01076c5>] show_stack+0x75/0x90
   [<c010781f>] show_registers+0x11f/0x180
   [<c01079c6>] die+0xb6/0x170
   [<c011af20>] do_page_fault+0x1e0/0x525
   [<c010732d>] error_code+0x2d/0x40
   [<c035a874>] tty_open+0x274/0x3b0
   [<c0171270>] chrdev_open+0x160/0x340
   [<c0166426>] dentry_open+0x156/0x230
   [<c01662cd>] filp_open+0x4d/0x50
   [<c0166858>] sys_open+0x38/0x70
   [<c0106199>] sysenter_past_esp+0x52/0x79
  
  Code: de 63 c0 89 55 f0 c7 45 ec 00 00 00 00 85 f6 0f 85 31 01 00 00 c7 83
  8c 09 00 00 00 00 00 00 8b 43 08 e8 3c fe ff ff 31 d2 89 c7 <8a> 50 0c 8b
  43 08 29 d0 8b 74 87 18 89 b3 8c 09 00 00 89 5e 04
  
  (gdb) list *serial_open+0x38
  0xc046a188 is in serial_open (drivers/usb/serial/usb-serial.c:465).
  460
  461             /* get the serial object associated with this tty pointer */
  462             serial = usb_serial_get_by_index(tty->index);
  463
  464             /* set up our port structure making the tty driver remember our port object, and us it */
  465             portNumber = tty->index - serial->minor;
  466             port = serial->port[portNumber];
  467             tty->driver_data = port;
  468
  469             port->tty = tty;

ChangeSet@1.1725, 2004-05-17 09:46:52-07:00, greg@kroah.com
  USB: fix build error in drivers/usb/serial/console.c
  
  Thanks to Adrian Bunk <bunk@fs.tum.de> for pointing this out.

ChangeSet@1.1626.1.10, 2004-05-17 01:41:56-04:00, jgarzik@redhat.com
  [libata] replace ATA_QCFLAG_ATAPI with inline helper
  
  Detection of an ATAPI taskfile is possible using a simple test
  on existing information, so there is no need to cache this value
  in a separate flag (ATA_QCFLAG_ATAPI).  Instead, create and use
  a new helper function is_atapi_taskfile().

ChangeSet@1.1626.1.9, 2004-05-17 00:21:15-04:00, jgarzik@redhat.com
  [libata] scsi simulator improvements: MODE SENSE, SEEK(6,10), REZERO_UNIT
  
  * SEEK(6), SEEK(10), and REZERO_UNIT are no-ops.  Unconditionally
    complete these commands with success.
  * MODE SENSE caching page work:
  	* correct page length
  	* set bit, if read-ahead is disabled
  	* set bit, if writeback caching is enabled
  	  (previously, this bit was never set, even if
  	   writeback caching was enabled)
  * add MODE SENSE r/w error recovery page

ChangeSet@1.1626.1.8, 2004-05-16 22:19:19-04:00, jgarzik@redhat.com
  [libata] comments and constants
  
  * note a nasty problem with shared interrupts that must be fixed
    before we turn on certain code paths.
  * add a few comments to the READ CAPACITY scsi simulator
  * remove a FIXME comment from the TEST UNIT READY scsi simulator
  * add constant for ATA command CHECK POWER MODE, and associated
    "mandatory" power management feature set bit.

ChangeSet@1.1626.1.7, 2004-05-16 21:33:18-04:00, jgarzik@redhat.com
  [libata] SCSI->ATA simulator hacking: INQUIRY command
  
  The SCSI T10 committee is working on a document describing a standard
  method for translating ATA<->SCSI, since it being done quite often
  these days.  Some of the recommendations are reasonable, and we implement
  two here:
  
  * Mirror that ATA 'removeable media' bit into INQUIRY output.
  * Change behavior of INQUIRY output field 'product revision' from
    the libata software version number to the first 4 bytes of the
    ATA device's firmware revision number.
  
  Rather than cache the firmware revision in struct ata_device, as was/is
  done with two other strings, I took the opportunity to eliminate the
  caching of the two other strings, 'vendor' and 'product'.  These strings
  are now retrieved as needed from the IDENTIFY [PACKET] DEVICE info page,
  since we cache its entire contents.
  
  Retrieving a string from the identify-device page is done via the
  helper function ata_dev_id_string(), which is now exported.
  
  This patch winds up making struct ata_device 40 bytes smaller, and
  the libata core gets a bit smaller as well.

ChangeSet@1.1626.1.6, 2004-05-16 18:48:08-04:00, jgarzik@redhat.com
  [libata] remove redundant use of ATA_QCFLAG_SG in ATAPI packet translation
  
  ata_scsi_translate() sets this flag for all ATA->SCSI translated
  commands, so it need not be done in atapi_xlat().  The now-removed
  use in atapi_xlat() was also inconsistent WRT PIO versus DMA.

ChangeSet@1.1626.1.5, 2004-05-16 18:35:15-04:00, jgarzik@redhat.com
  [libata] DMADIR support
  
  DMADIR bit is necessary for some PATA->SATA bridges.  These
  bridges require the OS driver to specify the data xfer direction,
  for PACKET (a.k.a. scsi) commands.
  
  A reliable DMADIR detection method hasn't yet been developed,
  and ATAPI is still a WIP, so DMADIR is enabled with an ifdef for
  now.

ChangeSet@1.1717.3.1, 2004-05-16 08:55:56-07:00, akpm@osdl.org
  [PATCH] Fixed quota recursion fix
  
  This fixes the gfp_mask setting on the quota inode.

ChangeSet@1.1719, 2004-05-16 09:52:33-04:00, corbet@lwn.net
  Remove drivers/net/auto_irq.c.
  
  No more users of the autoirq_xxx() API existed, so this file is not
  only unused, it isn't even listed in any makefiles.

ChangeSet@1.1717.2.2, 2004-05-16 14:37:30+01:00, rmk@flint.arm.linux.org.uk
  [ARM] Convert execve() to be a function rather than a SWI call.
  
  This eliminates the last SWI user from the kernel - now all SWI calls
  will only come from userspace.  More importantly, this also allows us
  to empty the kernel stack when starting userspace programs from
  kernelspace, thereby ensuring that the user registers always appear
  at the top of the kernel stack.

ChangeSet@1.1717.2.1, 2004-05-16 14:12:49+01:00, rmk@flint.arm.linux.org.uk
  [ARM] Move a bunch of symbol exports from armksyms.c
  
  This moves a bunch of EXPORT_SYMBOL() statements from armksyms.c
  into the file which defines the function/variable such that the
  exports are localised.
  
  This also means we can get rid of the ugly __xxx_to_xxx__is_a_macro
  in include/asm-arm/arch-*/memory.h

ChangeSet@1.1717.1.8, 2004-05-16 12:08:21+01:00, rmk@flint.arm.linux.org.uk
  [SERIAL] Remove base_baud default from 8250_pci
  
  Since all boards specify base_baud, the code to default base_baud to
  the architecture-defined BASE_BAUD is redundant.  Also, defaulting
  to the architecture-defined BASE_BAUD is wrong since the UARTs on a
  serial PCI card will be clocked at the same rate no matter what the
  architecture of the host machine.

ChangeSet@1.1717.1.7, 2004-05-15 17:29:10-07:00, rth@twiddle.net
  [PATCH] alpha: fix GP-load symbol linkage
  
  From: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
  
  This skips the GP-loading function prologue (two instructions: 8 bytes)
  on BRSGP linkage correctly, fixing an oops on alpha while loading the
  aic7xxx driver.

ChangeSet@1.1717.1.6, 2004-05-15 17:11:18-07:00, torvalds@evo.osdl.org
  We need to use "memset_io()" when accessing PCI
  mapped memory.
  
  A regular "memset()" may be using cache control
  instructions etc, which is not appropriate for
  memory-mapped IO.
  
  This also fixes a warning.

ChangeSet@1.1717.1.5, 2004-05-15 16:31:31-07:00, torvalds@ppc970.osdl.org
  Merge bk://bk.arm.linux.org.uk/linux-2.6-rmk
  into ppc970.osdl.org:/home/torvalds/v2.6/linux

ChangeSet@1.1717.1.2, 2004-05-15 16:20:21-07:00, jack@ucw.cz
  [PATCH] Quota fix 2
  
  This fixes the problem with recursion into filesystem when inode of
  quota file needs a page + some other allocation problems.  I hope I got
  the GFP mask setting right..

ChangeSet@1.1718, 2004-05-15 18:45:33-04:00, jgarzik@redhat.com
  Merge redhat.com:/spare/repo/b44-2.6.5
  into redhat.com:/spare/repo/net-drivers-2.6

ChangeSet@1.1371.768.1, 2004-05-15 18:28:24-04:00, pp@ee.oulu.fi
  [netdrvr b44] better reset behavior
  
  This patch makes the b44-after-bcm4400 scenario work for
  me. What was happening is that the broadcom driver sets a "power off MAC"
  bit, and we didn't remove that when initializing the chip.
  Also added some (a bit ugly, I know  ) logic to clear up the address
  filter stuff, which is what recent broadcom drivers do...

ChangeSet@1.1626.1.4, 2004-05-15 18:07:32-04:00, jgarzik@redhat.com
  [libata] handle non-data ATAPI commands via interrupt
  
  It's easier to do it this way, than polling, at the moment.
  
  Also, fix a test in ata_scsi_translate that was incorrectly
  erroring-out non-data commands.

ChangeSet@1.1626.1.3, 2004-05-15 14:36:08-04:00, jgarzik@redhat.com
  [libata] minor stuff
  
  * now that ATAPI is close to working, making ATAPI DMA interrupts
    in ata_host_intr
  * remove unnecessary space character in printk() output (oh, the horror)

ChangeSet@1.1717, 2004-05-15 11:13:22-07:00, torvalds@ppc970.osdl.org
  Fix gidsetsize == 0 for real this time.
  
  We need to always allocate at least one indirect block
  pointer, since we always fill out blocks[0] even if
  we don't have any groups.

ChangeSet@1.1716, 2004-05-15 11:08:29-07:00, B.Zolnierkiewicz@elka.pw.edu.pl
  [PATCH] remove bogus drivers/ide/pci/cmd640.h
  
  Trivia.
  
  CMD640 driver doesn't use generic IDE PCI code (it doesn't even include
  this header).

ChangeSet@1.1715, 2004-05-15 11:01:48-07:00, B.Zolnierkiewicz@elka.pw.edu.pl
  [PATCH] ide-disk.c: more write cache fixes
  
  - many Maxtor disks incorrectly claim CACHE FLUSH EXT command support,
    fix it by checking both CACHE FLUSH EXT command and LBA48 support
    (thanks to Eric D. Mudama for help in fixing this)
  
  - write_cache() was called with 'drive->id->cfs_enable_2 & 0x3000' as 'int arg'
    argument which was always truncated to zero due to 'u8 drive->wcache = arg'
    assignment so write cache was indeed enabled but drive->wcache was zero
    (thanks to Rene Herman for help in debugging this)
  
  - flush cache in idedisk_start_power_step() only if ATA-6 CACHE FLUSH (EXT)
    bits are present in disk's identify data (prevents sending unknown commands)
  
  - set drive->wcache in idedisk_setup() not idedisk_attach() (no need to check
    id->command_set_2 - we check id->cfs_enable_2 instead in write_cache() call)
  
  - use ide_cacheflush_p() in idedisk_setup()
  
  - minor cleanups

ChangeSet@1.1714, 2004-05-15 10:41:14-07:00, ak@muc.de
  [PATCH] Handle empty nodes in sysfs on x86-64
  
  This code is shared between i386 and x86-64, and x86-64 needs to check
  for empty nodes here.  Otherwise you can get oopses at boot in some
  circumstances. 
  
  This handles empty nodes != 0; empty node zero are still broken in other
  ways.

ChangeSet@1.1713, 2004-05-15 10:41:03-07:00, ak@muc.de
  [PATCH] x86-64: fix /dev/mem caching behaviour
  
  This changes the /dev/mem caching behaviour on x86-64 to be compatible
  with i386.
  
  By default everything is set cached.
  
  This actually makes WC MTRRs on AMD systems work, which would get
  overriden by the UC PAT bits that were set earlier.  This can make DVD
  decoding with hardware support a lot faster. 
  
  It also supports O_SYNC now, like i386, although that is not really
  safe, because it allows the user to create undefined cache attribute
  conflicts that can corrupt caches in some circumstances.  I kept it for
  now.  Better would to disallow it, until Terrence Ripperda's PAT
  framework is getting merged, that can avoid these problems. 
  
  Actually it would be probably a good idea to add a printk here to catch
  broken programs for i386 and x86-64, but that is for another patch.

ChangeSet@1.1712, 2004-05-15 10:40:53-07:00, ak@muc.de
  [PATCH] x86-64 updates
  
  Various accumulated x86-64 patches and bug fixes.
  
  It fixes one nasty bug that has been there since NX is used by 
  default in the kernel. With heavy AGP memory allocation it would
  set NX on parts of the kernel mapping in some corner cases, which gave
  endless crash loops. Thanks goes to some wizards in AMD debug labs
  for getting a trace out of this.
  
  Also various other fixes. This patches only changes x86-64 specific
  files, i have some changes outside too that I am sending separately.
  
   - Fix help test for CONFIG_NUMA
   - Don't enable SMT nice on CMP
   - Move HT and MWAIT checks up to generic code
   - Update defconfig
   - Remove duplicated includes (Arthur Othieno)
   - Set up GSI entry for ACPI SCI correctly (from i386)
   - Fix some comments
   - Fix threadinfo printing in oopses
   - Set task alignment to 16 bytes
   - Handle NX bit for code pages correctly in change_page_attr()
   - Use generic nops for non amd specific kernel
   - Add __KERNEL__ checks in unistd.h (David Lee)

ChangeSet@1.1711, 2004-05-15 10:38:09-07:00, torvalds@ppc970.osdl.org
  Fix bogus debug code in usb/misc/cytherm.c
  
  Uncovered by recent cleanup of "dev_dbg()".

ChangeSet@1.1710, 2004-05-15 10:27:04-07:00, akpm@osdl.org
  [PATCH] i2o_config build fix
  
  Stomp a C99ism.

ChangeSet@1.1709, 2004-05-15 10:26:53-07:00, akpm@osdl.org
  [PATCH] Fix botched fbdev lvalue conversion

ChangeSet@1.1708, 2004-05-15 10:26:42-07:00, akpm@osdl.org
  [PATCH] typhoon locking fix
  
  Initialise the semaphore even if !MODULE

ChangeSet@1.1707, 2004-05-15 10:26:32-07:00, akpm@osdl.org
  [PATCH] radeonfb stack space fix
  
  These (unused) arrays are causing huge stack utilisation when instantiated in
  an auto variable.  Remove them for now.

ChangeSet@1.1706, 2004-05-15 10:26:21-07:00, akpm@osdl.org
  [PATCH] bootmem.c cleanup
  
  From: Michael Buesch <mbuesch@freenet.de>
  
  - BUG_ON() conversion
  
  - Remove redundant dump_stack() (BUG already does that)

ChangeSet@1.1705, 2004-05-15 10:26:11-07:00, akpm@osdl.org
  [PATCH] groups_alloc(0) clobbers memory past end of block
  
  From: Olaf Kirch <okir@suse.de>
  
  Authentication code in net/sunrpc makes frequent use of groups_alloc(0),
  which seems to clobber memory past the end of what it allocated.
  
  If called with gidsetsize == 0, groups_alloc will set nblocks = 0,
  but still does a
  
  	group_info->blocks[0] = group_info->small_block;

ChangeSet@1.1704, 2004-05-15 10:26:00-07:00, akpm@osdl.org
  [PATCH] ac97_plugin_ad1980 porting fix
  
  From: "Uwe Bugla" <uwe.bugla@gmx.de>
  
  Fix up a mistake in the 2.4->2.6 forward-port of this driver.

ChangeSet@1.1703, 2004-05-15 10:25:50-07:00, akpm@osdl.org
  [PATCH] Increase xfsbufd_centisecs when in laptop mode
  
  From: Bart Samwel <bart@samwel.tk>
  
  The attached patch is the outcome of a discussion with Nathan.
  
  When laptop mode is active, there is no need for XFS to wake up xfsbufd (the
  daemon that flushes buffers that are too old) too often.  The default is once
  every second, this patch makes laptop mode do it once every 30 seconds.

ChangeSet@1.1702, 2004-05-15 10:25:39-07:00, akpm@osdl.org
  [PATCH] Laptop mode control script support for XFS *_centisecs sysctl values.
  
  From: Bart Samwel <bart@samwel.tk>
  
  XFS now uses
  	/proc/sys/fs/xfs/xfssyncd_centisecs
  	/proc/sys/fs/xfs/xfsbufd_centisecs
  	/proc/sys/fs/xfs/age_buffer_centisecs
  
  Here's a patch to support these values in the laptop mode control script.

ChangeSet@1.1701, 2004-05-15 10:25:29-07:00, akpm@osdl.org
  [PATCH] remove unused acpi_irq_to_vector()
  
  From: Bjorn Helgaas <bjorn.helgaas@hp.com>
  
  Now that everybody has acpi_gsi_to_irq(), we can nuke the deprecated
  acpi_irq_to_vector().  No references remain.

ChangeSet@1.1700, 2004-05-15 10:25:17-07:00, akpm@osdl.org
  [PATCH] floppy.c: better/cleaner use of debugt
  
  From: "Randy.Dunlap" <rddunlap@osdl.org>
  
  From: "Luiz Fernando N. Capitulino" <lcapitulino@prefeitura.sp.gov.br>
  
  floppy_debugt.patch: better use of the debugt functions.

ChangeSet@1.1699, 2004-05-15 10:25:08-07:00, akpm@osdl.org
  [PATCH] floppy.c: better floppy_init error handling
  
  From: "Randy.Dunlap" <rddunlap@osdl.org>
  
  From: "Luiz Fernando N. Capitulino" <lcapitulino@prefeitura.sp.gov.br>
  
  Adds a better audit for floppy_init().  Fixes one real bug (in calling
  blk_queue_max_sectors()).

ChangeSet@1.1698, 2004-05-15 10:24:57-07:00, akpm@osdl.org
  [PATCH] Export `laptop_mode' for XFS
  
  From: <bart@samwel.tk>
  
  XFS needs `laptop_mode'.

ChangeSet@1.1697, 2004-05-15 10:24:47-07:00, akpm@osdl.org
  [PATCH] Remove old sh-sci driver
  
  From: Paul Mundt <lethal@linux-sh.org>
  
  The old drivers/char sh-sci driver is no long used by anyone, both sh and
  h8300 are using the drivers/serial version at this point, so we can get rid
  of the old one entirely.

ChangeSet@1.1696, 2004-05-15 10:24:36-07:00, akpm@osdl.org
  [PATCH] Fix x86_64 allmodconfig with gcc-3.4.0
  
  From: Andi Kleen <ak@muc.de>
  
  *** Warning: "memcmp" [drivers/atm/zatm.ko] undefined!
  
  gcc 3.4 specific problem.  This patch should fix it.  Actually it would be
  better to move all these EXPORT_SYMBOLs into lib/string.c, it is silly that
  each arch has to duplicate all that.

ChangeSet@1.1695, 2004-05-15 10:24:25-07:00, akpm@osdl.org
  [PATCH] remove driver model code in mwave driver
  
  From: Christoph Hellwig <hch@lst.de>
  
  Someone blindly added sysfs support to the driver long time ago without
  understanding the implications (and if they were understood the driver
  would need half a rewrite for it).  Herber Xu recently noticed the problems
  this causes on unload, so let's if 0 out all that code and get the driver
  working again.

ChangeSet@1.1694, 2004-05-15 10:24:15-07:00, akpm@osdl.org
  [PATCH] Make /proc/sysrq-trigger ignore sysrq_enabled
  
  It's silly that writing to /proc/sysrq-trigger does nothing if you haven't
  enabled /proc/sys/kernel/sysrq.  So provide a new __handle_sysrq() which
  ignores the sysrq_enabled check.
  
  The patch also withdraws __handle_sysrq_nolock() from the kernel API.  It had
  no callers.

ChangeSet@1.1693, 2004-05-15 10:24:04-07:00, akpm@osdl.org
  [PATCH] x86_64 msr.c warning fix
  
  arch/x86_64/kernel/msr.c:1:10: warning: extra tokens at end of #ident directive

ChangeSet@1.1692, 2004-05-15 10:23:54-07:00, akpm@osdl.org
  [PATCH] fix aic7xxx_old.c for !PCI
  
  From: Adrian Bunk <bunk@fs.tum.de>
  
  drivers/scsi/aic7xxx_old.c: In function `aic7xxx_release':
  drivers/scsi/aic7xxx_old.c:10971: warning: implicit declaration of function `pci_release_regions'

ChangeSet@1.1691, 2004-05-15 10:23:43-07:00, akpm@osdl.org
  [PATCH] fix tlan.c for !PCI
  
  From: Adrian Bunk <bunk@fs.tum.de>
  
  drivers/net/tlan.c: In function `tlan_remove_one':
  drivers/net/tlan.c:449: warning: implicit declaration of function `pci_release_regions'

ChangeSet@1.1690, 2004-05-15 10:23:33-07:00, akpm@osdl.org
  [PATCH] fix cyclades compile with !PCI
  
  From: Adrian Bunk <bunk@fs.tum.de>
  
  drivers/char/cyclades.c: In function `cy_cleanup_module':
  drivers/char/cyclades.c:5638: warning: implicit declaration of function `pci_release_regions'

ChangeSet@1.1689, 2004-05-15 10:23:22-07:00, akpm@osdl.org
  [PATCH] Fix endianess in modpost when cross-compiling for sparc on i386
  
  From: Mathieu Chouquet-Stringer <mchouque@online.fr>
  
  This patch makes the following code work again:
  
  #ifdef STT_REGISTER
                  if (info->hdr->e_machine == EM_SPARC ||
                      info->hdr->e_machine == EM_SPARCV9) {
                          /* Ignore register directives. */
                          if (ELF_ST_TYPE(sym->st_info) == STT_REGISTER)
                                  break;
                  }
  #endif
  
  This portion of code is sparc specific and nothing else in modpost.c uses
  e_machine meaning cross-compiling for sparc on i386 (or any little endian
  machine) is the only way to experience the bug.
  
  Without it, e_machine has the wrong value and modpost then generates a lot
  of "*** Warning: \"symbol\" [filename.ko] undefined" messages.

ChangeSet@1.1688, 2004-05-15 10:23:12-07:00, akpm@osdl.org
  [PATCH] m68k: use print_modules()
  
  From: Geert Uytterhoeven <geert@linux-m68k.org>

ChangeSet@1.1687, 2004-05-15 10:23:01-07:00, akpm@osdl.org
  [PATCH] implement print_modules()
  
  From: Arjan van de Ven <arjanv@redhat.com>,
        Rusty Russell <rusty@rustcorp.com.au>
  
  The patch below resolves the "Not Yet Implemented" print_modules() thing.
  This is a really useful feature for distros; it allows us to do statistical
  analysis on which modules are present how often in oopses compared to how
  often they are used normally.  In addition it helps to spot candidates for
  certain bugs without having to go back to the customer asking for this
  information.

ChangeSet@1.1686, 2004-05-15 10:22:51-07:00, akpm@osdl.org
  [PATCH] Fix reiserfs oom crash
  
  From: Oleg Drokin <green@linuxhacker.ru>
  
  Thanks to Standford guys, a case where reiserfs can dereference NULL
  pointer if memory allocation fail during mount was identified.

ChangeSet@1.1685, 2004-05-15 10:22:41-07:00, akpm@osdl.org
  [PATCH] fix block layer ioctl bug
  
  From: Alan Cox <alan@redhat.com>
  
  The block layer checks for -EINVAL from block layer driver ioctls.  This is
  wrong - ENOTTY is unknown and some drivers correctly use this.  I suspect
  for an internal ioctl 2.7 should change to -ENOIOCTLCMD and bitch about old
  style returns
  
  This is conservative fix for the 2.6 case, it keeps the bogus -EINVAL to
  avoid breaking stuff

ChangeSet@1.1684, 2004-05-15 10:22:30-07:00, akpm@osdl.org
  [PATCH] fix linux doc errors
  
  From: Alan Cox <alan@redhat.com>

ChangeSet@1.1683, 2004-05-15 10:22:19-07:00, akpm@osdl.org
  [PATCH] security: minor cleanups in capability.c
  
  From: Chris Wright <chrisw@osdl.org>
  
  Remove confusing error message when loading as secondary module, and ditch
  conditional MY_NAME macro.

ChangeSet@1.1682, 2004-05-15 10:22:09-07:00, akpm@osdl.org
  [PATCH] security: remove empty build of capability.o
  
  From: Chris Wright <chrisw@osdl.org>
  
  The build includes capability.c when CONFIG_SECURITY=n, yet the whole file is
  ifdef'd out.  Remove unnecessary build step as well as superfluous ifdefs.

ChangeSet@1.1681, 2004-05-15 10:21:58-07:00, akpm@osdl.org
  [PATCH] PCI debug compile fix in sis_router_probe()
  
  From: Pavel Roskin <proski@gnu.org>
  
  I get a compile error when I define "DEBUG" in arch/i386/pci/pci.h.  Variable
  rt is not defined in sis_router_probe(), file arch/i386/pci/irq.c.

ChangeSet@1.1680, 2004-05-15 10:21:48-07:00, akpm@osdl.org
  [PATCH] calculate NGROUPS_PER_BLOCK from PAGE_SIZE
  
  From: Greg Edwards <edwardsg@sgi.com>
  
  On ia64, EXEC_PAGESIZE (max page size) is 65536, but the default page size is
  16k.  This results in NGROUPS_PER_BLOCK in include/linux/sched.h being
  calculated incorrectly when the page size is anything other than 64k.  For
  example, on a 16k page size kernel, a setgroups() call with a gidsetsize of
  65536 will end up walking over memory since only 1/4 of the needed pages were
  allocated for the blocks[] array in the group_info struct.
  
  Patch below calculates NGROUPS_PER_BLOCK from PAGE_SIZE instead.

ChangeSet@1.1679, 2004-05-15 10:21:37-07:00, akpm@osdl.org
  [PATCH] dquot_release oops fix
  
  From: Jan Kara <jack@ucw.cz>
  
  Fix a null-pointer-deref oops in the quota code.

ChangeSet@1.1678, 2004-05-15 10:21:27-07:00, akpm@osdl.org
  [PATCH] videodev: handle class_register() failure
  
  From: "Randy.Dunlap" <rddunlap@osdl.org>
  
  From: <WHarms@bfs.de>(Walter Harms)
  
  (acked by Gerd)

ChangeSet@1.1677, 2004-05-15 10:21:16-07:00, akpm@osdl.org
  [PATCH] Update laptop mode control script with XFS_HZ=100
  
  From: Bart Samwel <bart@samwel.tk>
  
  The laptop mode control script incorrectly guesses XFS_HZ=1000.  This is
  incorrect, since the patches that made XFS use USER_HZ went into 2.6.6 as
  well.  This changes XFS_HZ to 100 and removes the warning from the doc about
  checking XFS_HZ.

ChangeSet@1.1676, 2004-05-15 10:21:06-07:00, akpm@osdl.org
  [PATCH] Watchdog timer for Intel IXP4xx CPUs
  
  From: Deepak Saxena <dsaxena@plexity.net>
  
  Following patch adds a driver for the watchdogs on the Intel IXP4xx family of
  network processors (ARM).

ChangeSet@1.1675, 2004-05-15 10:20:55-07:00, akpm@osdl.org
  [PATCH] Fix AladdinCard entry in parport_pc
  
  From: Christian Groessler <cpg@aladdin.de>
  
  Our AladdinCard also uses the oxsemi_840 chips and locks up when ecp mode
  is enabled.

ChangeSet@1.1674, 2004-05-15 10:20:44-07:00, akpm@osdl.org
  [PATCH] create_workqueue locking fix
  
  Fix some silliness in there.

ChangeSet@1.1673, 2004-05-15 10:20:34-07:00, akpm@osdl.org
  [PATCH] laptop-mode documentation fix
  
  From: Sau Dan Lee <danlee@informatik.uni-freiburg.de>
  
  The script /etc/acpi/actions/battery.sh in the document doesn't run,
  because of a wrong name.

ChangeSet@1.1672, 2004-05-15 10:20:24-07:00, akpm@osdl.org
  [PATCH] ib700wdt watchdog driver fix #2
  
  From: Patrice Bouchand <PBouchand@cyberdeck.com>
  
  The value written in the WDT_STOP register is not important.  As soon as
  something is written, the watchdog timer stops.  But things will be cleaner
  if we use the following patch.

ChangeSet@1.1671, 2004-05-15 10:20:13-07:00, akpm@osdl.org
  [PATCH] ib700wdt watchdog driver fix
  
  From: Patrice Bouchand <PBouchand@cyberdeck.com>
  
  ibwdt_ping(): we should write the current timeout's index into the holdoff
  register, not the timeout's value in seconds.

ChangeSet@1.1670, 2004-05-15 10:20:03-07:00, akpm@osdl.org
  [PATCH] expose backing dev max read-ahead
  
  From: Jens Axboe <axboe@suse.de>
  
  Expose the blockdev's VM readahead in /sys/block/hda/queue/read_ahead_kbytes
  
  This duplicates `blockdev --setra', but we're trying to get away from
  ioctls.
  
  It would be nice to have a readahead-setting mechanism which also allows,
  say, NFS to be tuned.  But there is no common exposure point for
  backing_dev_infos.  One option might be per-superblock:
  
  	mount -o remount,read_ahead_kbytes=64
  
  but the generic remount code also has no visibility of the backing_dev, so it
  would need a new super_block operation.  One which doesn't accidentally modify
  default_backing_dev_info.

ChangeSet@1.1669, 2004-05-15 10:19:52-07:00, akpm@osdl.org
  [PATCH] efivars: check that it's enabled
  
  From: "Randy.Dunlap" <rddunlap@osdl.org>
  
  EFI-enabled kernels crash on non-EFI machines.  efivars_init() and
  efivars_exit() need to check efi_enabled instead of assuming that the
  system is using EFI.

ChangeSet@1.1668, 2004-05-15 10:19:35-07:00, akpm@osdl.org
  [PATCH] make buildcheck
  
  From: Arjan van de Ven <arjanv@redhat.com>
  
  the patch below adds a "make buildcheck" target which checks for the "uses
  exit in init" bug using Keith Owen's script.  In the future other similar
  sanity checks can be added to this target, but even just this one has been
  quite useful already.  I use it in the kernel rpm build process for
  example, and I'm sure the OSDL build testers can/want to use it too.
  
  From: Keith Owens <kaos@ocs.com.au>
  
    They commented out the progress print statements, I prefer to have them
    present but no big deal.  The licence is missing.

ChangeSet@1.1667, 2004-05-15 10:19:25-07:00, akpm@osdl.org
  [PATCH] Include Aliases in kallsyms
  
  From: Rusty Russell <rusty@rustcorp.com.au>
  
  Kallsyms discards symbols with the same address, but these are sometimes
  useful.  Skip this minor optimization and make kallsyms_lookup deal with
  aliases

ChangeSet@1.1666, 2004-05-15 10:19:11-07:00, akpm@osdl.org
  [PATCH] show last kernel-image symbol in /proc/kallsyms
  
  From: Rusty Russell <rusty@rustcorp.com.au>
  
  The current code doesn't show the last symbol (usually _einittext) in
  /proc/kallsyms.  The reason for this is subtle: s_start() returns an empty
  string for position 0 (ignored by s_show()), and s_next() returns the first
  symbol for position 1.
  
  What should happen is that update_iter() for position 0 should fill in the
  first symbol.  Unfortunately, the get_ksymbol_core() fills in the symbol
  information, *and* updates the iterator: we have to split these functions,
  which we do by making it return the length of the name offset.
  
  Then we can call get_ksymbol_core() without moving the iterator, meaning
  that we can call it at position 0 (ie.  s_start()).

ChangeSet@1.1665, 2004-05-15 10:19:00-07:00, akpm@osdl.org
  [PATCH] slabify iocontext + request_queue
  
  From: Jens Axboe <axboe@suse.de>
  
  Move both request_queue and io_context allocation to a slab cache.
  
  This is mainly a space-saving exercise.  Some setups have a lot of disks
  and the kmalloc rounding-up can consume significant amounts of memory.

ChangeSet@1.1664, 2004-05-15 10:18:50-07:00, akpm@osdl.org
  [PATCH] i2o_proc module owner fix
  
  From: Warren Togami <wtogami@redhat.com>

ChangeSet@1.1663, 2004-05-15 10:18:39-07:00, akpm@osdl.org
  [PATCH] Fix i2o_proc kernel panic on access of /proc/i2o/iop0/lct
  
  From: Markus Lidel <Markus.Lidel@shadowconnect.com>
  
  The patch converts i2o_proc to seq_file, thereby fixing a bug in the
  i2o_proc.c module, where the kernel panics, if you access /proc/i2o/iop0/lct
  and read more then 1024 bytes of it.

ChangeSet@1.1662, 2004-05-15 10:18:28-07:00, akpm@osdl.org
  [PATCH] fbdev: Q40 fbdev updates.
  
  From: James Simmons <jsimmons@infradead.org>
  
  It ports this driver to sysfs api and fixes a colormap issue.

ChangeSet@1.1661, 2004-05-15 10:18:18-07:00, akpm@osdl.org
  [PATCH] fbdev: Fix fbcon and unimap
  
  From: Fabrice Menard <menard.fabrice@wanadoo.fr>
  
  Trying to solve my latin1 char problems with the framebuffer console, I
  found that fbcon doesn't set a unicode map.

ChangeSet@1.1660, 2004-05-15 10:18:07-07:00, akpm@osdl.org
  [PATCH] fbdev: New Asiliant framebuffer driver.
  
  From: James Simmons <jsimmons@infradead.org>
  
  This is the new asiliant framebuffer driver.

ChangeSet@1.1659, 2004-05-15 10:17:56-07:00, akpm@osdl.org
  [PATCH] fbdev: Vesa Fbdev update fix
  
  From: Geert Uytterhoeven <geert@linux-m68k.org>
  
  On Sun, 25 Apr 2004, James Simmons wrote:
  > This patch migrates the Vesa Framebuffer driver over to the
  > framebuffer_alloc/framebuffer_release api. It also fixes the error
  > handling paths. The mtrr issue that Geert brought up has been fixed.
  > With your approval Geert, Ben please apply this patch.
  
  > +	/* Set video size according to vram boot option */
  > +	if (vram && vram * 1024 * 1024 != vesafb_fix.smem_len)
  > +		vesafb_fix.smem_len = vram * 1024 * 1024;
  
  The second part of the test can be removed. The rest looks OK to me.

ChangeSet@1.1658, 2004-05-15 10:17:45-07:00, akpm@osdl.org
  [PATCH] fbdev: Vesa Fbdev update
  
  From: James Simmons <jsimmons@infradead.org>
  
  This patch migrates the Vesa Framebuffer driver over to the
  framebuffer_alloc/framebuffer_release api.  It also fixes the error
  handling paths.  The mtrr issue that Geert brought up has been fixed.

ChangeSet@1.1657, 2004-05-15 10:17:34-07:00, akpm@osdl.org
  [PATCH] fbdev: Virtual fbdev updates
  
  From: James Simmons <jsimmons@infradead.org>
  
  This is attempt 2 at the virtual framebuffer patch.  It migrates the driver
  to the framebuffer_release/framebuffer_alloc api.  It doesn't enable the
  driver by default.

ChangeSet@1.1656, 2004-05-15 10:17:23-07:00, akpm@osdl.org
  [PATCH] fbdev: Fix NULL-ptr dereference in pm2fb_probe
  
  From: Jim Hague <jim.hague@acm.org>
  
  It fixes the NULL pointer dereference and also a problem in pm2fb_blank().

ChangeSet@1.1655, 2004-05-15 10:17:12-07:00, akpm@osdl.org
  [PATCH] fbdev: set a default access_align value
  
  From: James Simmons <jsimmons@infradead.org>
  
  Set the default access_align variable.  This variable tells us how much data
  the hardware can handle in a single read/write cycle.  For example the epson
  chipset can handle only 16 bit reads and writes to the framebuffer.

ChangeSet@1.1654, 2004-05-15 10:17:01-07:00, akpm@osdl.org
  [PATCH] fbdev: remove redundant local
  
  From: James Simmons <jsimmons@infradead.org>
  
  Remove extra variable. We use i instead of rc.

ChangeSet@1.1653, 2004-05-15 10:16:51-07:00, akpm@osdl.org
  [PATCH] fbdev: remove redundant p->vrows calculation
  
  From: James Simmons <jsimmons@infradead.org>
  
  This patch removes the redundent calculation of p->vrows.  This is done in
  fbcon_resize.

ChangeSet@1.1652, 2004-05-15 10:16:40-07:00, akpm@osdl.org
  [PATCH] fbdev: clean up logo handling
  
  From: James Simmons <jsimmons@infradead.org>
  
  This make the logo handling code easier to read.  Merged the two code blocks
  since they test for the exact same condition.

ChangeSet@1.1651, 2004-05-15 10:16:30-07:00, akpm@osdl.org
  [PATCH] fbdev: video/imsttfb.c warning fix
  
  From: "Luiz Fernando N. Capitulino" <lcapitulino@prefeitura.sp.gov.br>
  
  drivers/video/imsttfb.c:1089: warning: `imsttfb_load_cursor_image' defined but not used
  drivers/video/imsttfb.c:1159: warning: `imstt_set_cursor' defined but not used

ChangeSet@1.1650, 2004-05-15 10:16:20-07:00, akpm@osdl.org
  [PATCH] fbdev: video/tdfxfb.c warning fix
  
  From: "Luiz Fernando N. Capitulino" <lcapitulino@prefeitura.sp.gov.br>
  
  Fix this:
  
  drivers/video/tdfxfb.c:1005: warning: `tdfxfb_cursor' defined but not used
  
  and make the acceleration function selectable (like hgafb and tridentfb)
  
  Geert says:
  
   tdfxfb_cursor() was not used before, causing a compiler warning. 
   tdfxfb_cursor() may work, but we don't know, so we didn't dare to enable it
   by default.  Now the user (he who has the hardware) can enable it, and tell
   us whether it works or not.

ChangeSet@1.1649, 2004-05-15 10:16:09-07:00, akpm@osdl.org
  [PATCH] fbdev: video/hgafb.c warning fix
  
  From: "Luiz Fernando N. Capitulino" <lcapitulino@prefeitura.sp.gov.br>
  
  Make HGA acceleration functions selectable in kernel config, fix these
  warnings:
  
  drivers/video/hgafb.c:452: warning: `hgafb_fillrect' defined but not used
  drivers/video/hgafb.c:472: warning: `hgafb_copyarea' defined but not used
  drivers/video/hgafb.c:502: warning: `hgafb_imageblit' defined but not used

ChangeSet@1.1648, 2004-05-15 10:15:59-07:00, akpm@osdl.org
  [PATCH] fbdev: video/tridentfb.c warning fix
  
  From: "Luiz Fernando N. Capitulino" <lcapitulino@prefeitura.sp.gov.br>
  
  Speaking with frame buffer people, we agree with this patch to fix the
  warning:
  
  drivers/video/tridentfb.c:455: warning: `tridentfb_fillrect' defined but not used
  drivers/video/tridentfb.c:473: warning: `tridentfb_copyarea' defined but not used

ChangeSet@1.1647, 2004-05-15 10:15:48-07:00, akpm@osdl.org
  [PATCH] fbdev: Neomagic driver update.
  
  From: James Simmons <jsimmons@infradead.org>
  
  Here is a updated driver for the neomagic.

ChangeSet@1.1646, 2004-05-15 10:15:37-07:00, akpm@osdl.org
  [PATCH] fbdev: radeonfb: fix garbled screen
  
  From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
  
  > My screen is still a bit garbeld after booting.
  > Still like http://zodiac.dnsalias.org/images/garbage.jpg
  
  Yes, usual boot-time x86 garbage. Well, let's imagine it's as simple
  as clearing the framebuffer during boot :) Try this patch and let me
  know. If that doesn't help, then the problem is definitely in fbcon.

ChangeSet@1.1645, 2004-05-15 10:15:26-07:00, akpm@osdl.org
  [PATCH] autofs4 compat ioctls
  
  From: <raven@themaw.net>
  
  These are the ioctls that need to be added to the compatibility layer.
  
  They are all esentially the same as the AUTOFS_IOC_PROTOVER in their 
  requirements and so should be fine.

ChangeSet@1.1644, 2004-05-15 10:15:15-07:00, akpm@osdl.org
  [PATCH] autofs4 race fix
  
  From: Ian Kent <raven@themaw.net>
  
  The case where two process similtaneously trigger a mount in autofs4 can
  cause multiple requests to the daemon for the same mount.  The daemon
  handles this OK but it's possible an incorrect error to be returned.  For
  this reason I believe it is better to change the spin lock to a semaphore
  in waitq.c.  This makes the second and subsequent request wait on the q as
  ther supposed to.

ChangeSet@1.1643, 2004-05-15 10:15:04-07:00, akpm@osdl.org
  [PATCH] autofs4: readdir futureproofing
  
  From: Ian Kent <raven@themaw.net>
  
  Needed for support coming development plans.

ChangeSet@1.1642, 2004-05-15 10:14:54-07:00, akpm@osdl.org
  [PATCH] autofs4: add ioctl to query unmountability
  
  From: Ian Kent <raven@themaw.net>
  
  Add ioctl to find out if autofs mount can be umounted.  When the daemon
  discovers this it's past the point of no return.

ChangeSet@1.1641, 2004-05-15 10:14:43-07:00, akpm@osdl.org
  [PATCH] autofs4: fix handling of chdir and chroot
  
  From: <raven@themaw.net>
  
  Pushed changes in sys_chdir and sys_chroot into the revalidate/lookup by
  using nameidata hint.

ChangeSet@1.1640, 2004-05-15 10:14:32-07:00, akpm@osdl.org
  [PATCH] autofs4: readdir fixes
  
  From: Ian Kent <raven@themaw.net>
  
  a. Implement readdir and friends for directory lookup for late mounting.
     This is done largely by replacing a catch all condition in
     try_to_fill_dentry with appropriate cases.
  
  b. Add path calc.  function in waitq.c to get extended path to return to
     daemon (for direct mounts).
  
  c. Add revalidate calls to sys_chdir and sys_chroot so that pwd lookups
     work correctly.
  
  d. Add ioctl to retrieve minor version for automount daemon (and me) to
     recognise module fix level.  Bumped minor version to 5.
  
  From: Hugh Dickins <hugh@veritas.com>
  
    After chdir (or chroot) to non-existent directory on 2.6.5-mm5, you can no
    longer unmount filesystem holding working directory (or root).

ChangeSet@1.1639, 2004-05-15 10:14:21-07:00, akpm@osdl.org
  [PATCH] autofs4: may_umount_tree() cleanup
  
  From: <raven@themaw.net>
  
  Patch to sync 2.6.6-rc2-mm2 with the result of my discussion with 
  Christoph Hellwig.
  
  Difference is that Christoph realised that merging may_umount_tree and
  may_umount was not worth it. They are now seperate functions.

ChangeSet@1.1638, 2004-05-15 10:14:11-07:00, akpm@osdl.org
  [PATCH] autofs4: expiry refcount fixes
  
  From: Ian Kent <raven@themaw.net>
  
  This patch is the result of an e-mail discussion with Soni Maneesh.  He felt
  that the use of reference counts in the expire module is unreliable (in the
  presence of rcu) and suggested it should use standard VFS calls where
  possible.  This has been done.  Once the boundary in autofs is reached we
  have no choice but to resort using reference counts (but under the
  vfsmount_lock).
  
  
  After review by hch:
  
  - renamed autofs4_may_umount to __may_umount_tree, made it static and moved
    it to namespace.c.
  
  - added stub function may_umount_tree with description
  
  - altered may_umount to use above stub function and added little description
  
  - added may_umount_tree prototype to fs.h
  
  - removed the EXPORT_SYMBOL for vfsmount_lock
  
  - updated expire.c to suit

ChangeSet@1.1637, 2004-05-15 10:14:00-07:00, akpm@osdl.org
  [PATCH] autofs4: locking rework
  
  From: Ian Kent <raven@themaw.net>
  
  Remove BKL from autofs4 module and add spinlock to serialise access to the
  automount daemon communication waitq.
  
  Locking requirements are different in 2.6 and so I'm seeking comments and
  suggestions on this.  I have taken a rather heavy handed approach to this in
  the patch.  For example, the VFS operations that directly change the
  filesystem, such as autofs4_mkdir etc, hold the inode semaphore on entry so
  the BKL has been removed.  I can't see why two locking mechanisms are needed.
   Rather than add locking all over the place, I'm looking for justification
  it's needed, as I don't see it myself.

ChangeSet@1.1636, 2004-05-15 10:13:49-07:00, akpm@osdl.org
  [PATCH] autofs4: printk cleanups and memory leak fix
  
  From: Ian Kent <raven@themaw.net>
  
  - Correct text in DPRINTK messages and comments, a little reformating and
    correct URL location for autofs v4 in Kconfig message.
  
  - Fix error-path memory leak in autofs4_fill_super()

ChangeSet@1.1635, 2004-05-15 10:13:39-07:00, akpm@osdl.org
  [PATCH] autofs4: dnotify + autofs may create signal/restart syscall loop
  
  From: Ian Kent <raven@themaw.net>
  
  From: Jeff Mahoney <jeffm@suse.com>
  
  I saw a recent bug report that showed when a process set up a dnotify
  against the autofs root and then attempted an access(2) call inside the
  autofs namespace on a mount that would fail, it would create a
  signal/restart loop.
  
  The cause is that the autofs code checks to see if any signals are pending
  after it waits on a response from the autofs daemon.  If it finds any, it
  assumes that autofs_wait was interrupted, and that it should return
  -ERESTARTNOINTR.  The problem with this is that a signal_pending(current)
  check will return true if *any* signals were received, not just if a signal
  that interrupted the wait was received.  autofs_wait explicitly blocks all
  signals except for SIGKILL, SIGQUIT, and SIGINT before calling
  interruptible_sleep_on.
  
  The effect is that if a dnotify is set against the autofs root, when the
  autofs daemon creates the directory, a dnotify event will be sent to the
  originating process.  Since the code in autofs_root_lookup doesn't check to
  see what signals are actually pending, it bails early, telling the caller
  to try again.  The loop goes on forever until interrupted via one of the
  actual interrupting signals.
  
  The following patch makes both autofs_root_lookup and autofs4_root_lookup
  verify that one of its defined "shutdown" signals are pending before
  bailing out early.  Any other signal should be delivered later, as
  expected.  It doesn't matter if the signal occured outside of the sleep in
  autofs_wait.  The calling process will either go away or try again.

ChangeSet@1.1634, 2004-05-15 10:13:28-07:00, akpm@osdl.org
  [PATCH] Use -msoft-float
  
  From: Dave Jones <davej@redhat.com>
  
  To catch accidental usage of floating point.  Has been in -mm for ages.

ChangeSet@1.1633, 2004-05-15 10:13:17-07:00, akpm@osdl.org
  [PATCH] sched: reduce node balancing interval
  
  From: Nick Piggin <nickpiggin@yahoo.com.au>
  
  From: Suresh Siddha <suresh.b.siddha@intel.com>
  
  Node max rebalance interval is too large.  It is currently dependent on
  number of online cpus.  For 16 cpu system, max node balance interval in
  busy case is 32 seconds.  Agreed that it will use max 32 seconds only when
  it doesn't find imbalance for a long time.  But this will lead to slow
  response time in cases where load runs for a second with no imbalance and
  suddently creates an imbalance.  My patch makes the busy max node rebalance
  interval equal to the base [scheduler].

ChangeSet@1.1632, 2004-05-15 10:13:06-07:00, akpm@osdl.org
  [PATCH] sched: less locking in balancing
  
  From: Nick Piggin <nickpiggin@yahoo.com.au>
  
  Analysis and basic idea from Suresh Siddha <suresh.b.siddha@intel.com>
  
  "This small change in load_balance() brings the performance back upto base
  scheduler(infact I see a ~1.5% performance improvement now).  Basically
  this fix removes the unnecessary double_lock.."
  
  Workload is SpecJBB on 16-way Altix.

ChangeSet@1.1631, 2004-05-15 10:12:56-07:00, akpm@osdl.org
  [PATCH] sched: fix scheduler for unsynched processor sched_clock
  
  From: Nick Piggin <nickpiggin@yahoo.com.au>
  
  Fine-tune the unsynched sched_clock handling.
  
  Basically, you need to be careful about ensuring timestamps get correctly
  adjusted when moving CPUs, and you *can't* look at your unadjusted
  sched_clock() and a remote task's ->timestamp and try to come up with
  anything meaningful.
  
  I think this second problem will really hit hard in the activate_task path
  on systems with unsynched sched_clock when you're waking up a remote task,
  which happens very often.  Andi, I thought some Opterons have unsynched
  tscs?  Maybe this is causing your unexplained bad interactivity?
  
  Another problem is a fixup in pull_task.  When adjusting ->timestamp from
  one processor to another, you must use timestamp_last_tick for the local
  processor too.  Using sched_clock() will cause ->timestamp to creep
  forward.
  
  A final small fix is for sync wakeups.  They were using __activate_task for
  some reason, thus they don't get credited for sleeping at all AFAIKS.
  
  And another thing, do we want to #ifdef timestamp_last_tick so it doesn't
  show on UP?

ChangeSet@1.1630, 2004-05-15 10:12:44-07:00, akpm@osdl.org
  [PATCH] sched: improved cpu_load rounding
  
  From: Nick Piggin <nickpiggin@yahoo.com.au>
  
  "Siddha, Suresh B" <suresh.b.siddha@intel.com> noticed a problem in the
  cpu_load averaging where the integer truncation could sometimes cause cpu_load
  to never quite reach its target.
  
  I'm not sure that you could demonstrate a real world problem, but I quite
  like this fix.

ChangeSet@1.1629, 2004-05-15 10:12:33-07:00, akpm@osdl.org
  [PATCH] Fix writeback_inodes-vs-umount race
  
  Fix bug identified by Chris Mason.
  
  If writeback_inodes is left holding a ref on the superblock's last inode then
  the superblock list walk can race with umount and the superblock can be
  released.
  
  Take and put a ref against the superblock to fix that.

ChangeSet@1.1628, 2004-05-15 10:12:23-07:00, akpm@osdl.org
  [PATCH] x86: stack dumps using frame pointers
  
  From: Adam Litke <agl@us.ibm.com>
  
  Teach the x86 stack tracing code to use frame pointers, if they are available.
  It eliminates all the false-positives in the normal stack traces.
  
  This is a big improvement, and -fomit-frame-pointer seems to make no
  difference at all to generated code size.  Maybe we should kill off
  -fomit-frame-pointer.

ChangeSet@1.1626.1.2, 2004-05-15 13:09:25-04:00, jgarzik@redhat.com
  [libata] internal cleanups
  
  Remove unused 'done_late' arg to ata_qc_complete(), which was never
  useful in 2.4, and never used at all in 2.6.
  
  This allows us to eliminate the same arg from ata_dma_complete(),
  and also make it more correct by passing the command rather than
  the ATA port structure as arg0.

ChangeSet@1.1626.1.1, 2004-05-15 12:47:04-04:00, jgarzik@redhat.com
  Merge redhat.com:/spare/repo/sata-hacks/atapi-hacks-2.6
  into redhat.com:/spare/repo/libata-2.6

ChangeSet@1.1627, 2004-05-15 09:42:40-07:00, shai@ftcon.com
  [PATCH] Multiple (ICH3) IDE-controllers in a system
  
  This fixes a problem with multiple IDE controllers in a system.
  
  The problem is that pcibios_fixups table (in arch/i386/pci/fixup.c) uses
  the pci_fixup_ide_trash() quirk for Intel's ICH3 (my case specifically
  8086:248b).  This clears any bogus BAR information set up by the BIOS.
  
  In a system which has multiple ICH3's can't use any of the IDE
  controllers beside the one on the first ICH3.
  
  Anyhow, the fix is to make sure pci_fixup_ide_trash resets the BARs only
  for first time being called, so the subsequent IDE controllers will use
  the BIOS BARs.  This is better than "loosing" all these IDE controllers
  in the case their BARs set right.
  
  The issue discussed and agreed with Bartlomiej Zolnierkiewicz (see below).

ChangeSet@1.1612.18.5, 2004-05-15 15:32:59+01:00, robin.farine@org.rmk.(none)
  [ARM PATCH] 1879/1: fix a few xscale "drain write & fill buffer" instructions
  
  Patch from Robin Farine
  
  Fix the xscale cache handling routines that were invalidating a D 
  cache line instead of draining the write & fill buffer as intended.

ChangeSet@1.1612.18.4, 2004-05-15 15:26:45+01:00, catalin.marinas@com.rmk.(none)
  [ARM PATCH] 1883/1: Bit 4 in pmd should be 0 for the ARMv6 architecture
  
  Patch from Catalin Marinas
  
  Unlike the v5 architecture, the ARM1136 requires that BIT4 is 0 in
  the first level page descriptor (ARM1136 TRM, page 6-39). It works
  at the moment but it might break future v6 cores.

ChangeSet@1.1612.18.3, 2004-05-15 15:19:34+01:00, catalin.marinas@com.rmk.(none)
  [ARM PATCH] 1882/1: Fixes in the v6_dma_(invalidate|flush)_range functions
  
  Patch from Catalin Marinas
  
  The v6_dma_invalidate_range - the "mcr" instruction for draining
  
  the write buffer requires r0 == 0. A "cmp" instruction for
  
  testing the end address is missing in the v6_dma_flush_range
  
  function.

ChangeSet@1.1612.18.2, 2004-05-15 15:13:48+01:00, catalin.marinas@com.rmk.(none)
  [ARM PATCH] 1881/1: Illegal strex instruction generated by gcc
  
  Patch from Catalin Marinas
  
  The _raw_write_(try)lock functions in include/asm-arm/spinlock.h
  
  should use the early clobber modifier (&) for the "tmp" register.
  
  A newer compiler (gcc-3.4.0) generates an "strexeq %0, %1, [%2]"
  
  instruction where %0 is the same as %2, which is illegal.

ChangeSet@1.1612.18.1, 2004-05-15 15:07:10+01:00, catalin.marinas@com.rmk.(none)
  [ARM PATCH] 1880/1: cache_type is uninitialised in the blockops_check() function
  
  Patch from Catalin Marinas
  
  In the blockops_check() function, cache_type is uninitialised
  
  because an "mcr" instruction is used instead of "mrc".

ChangeSet@1.1626, 2004-05-14 23:11:43-07:00, torvalds@ppc970.osdl.org
  Fix typo nonsense test in radeon PMAC backlight code.

ChangeSet@1.1625, 2004-05-14 23:01:25-07:00, torvalds@ppc970.osdl.org
  Make dev_dbg() "use" it's 'dev' argument even when not debugging.
  
  This avoids warnings about unused variables.

ChangeSet@1.1612.1.116, 2004-05-15 01:03:42-04:00, jgarzik@redhat.com
  [sound/oss i810] bump driver to version 1.00

ChangeSet@1.1622, 2004-05-14 21:53:01-07:00, aia21@cam.ac.uk
  [PATCH] x86_64 has buggy ffs() implementation
  
  x86_64 has an incorrect ffs() implementation.  The asm uses "g" instead
  of "rm" for the bsfl instruction.  (This was spotted by Yuri Per.)
  
  bsfl does not accept constant values but only memory or register ones.
  On i386 the correct "rm" is used.
  
  This causes NTFS build to fail as gcc optimizes a variable into a
  constant and ffs() then fails to assemble.

ChangeSet@1.1612.16.1, 2004-05-14 21:45:59-07:00, kkeil@suse.de
  [PATCH] fix typo in avm_cs PCMCIA AVM B1 cardservice driver
  
  this trivial fix makes the AVM B1 PCMCIA cards work with 2.6

ChangeSet@1.1612.1.115, 2004-05-15 00:18:55-04:00, jgarzik@redhat.com
  Merge redhat.com:/spare/repo/linux-2.6
  into redhat.com:/spare/repo/i810-audio-2.6

ChangeSet@1.1612.1.114, 2004-05-14 20:47:15-07:00, santil@us.ibm.com
  [PATCH] PowerPC Virtual Ethernet links to /sys/class/net/ethX
  
  This adds links to the driver and device inside /sys/class/net/ethX for
  PowerPC Virtual Ethernet devices.

ChangeSet@1.1612.1.113, 2004-05-14 20:47:05-07:00, santil@us.ibm.com
  [PATCH] PowerPC Virtual Ethernet duplicate MAC addresses
  
  This fixes a bug where different partitions were assigned the same MAC
  address.  Also, according to Anton, gcc 3.5 didn't like our mac_addr_p
  gymnastics, so this ends up fixing that as well.

ChangeSet@1.1612.1.112, 2004-05-14 20:07:57-07:00, benh@kernel.crashing.org
  [PATCH] ppc64: Add proper  SMP init on dual 970FX based machines
  
  This patch fixes SMP boot on Apple Xserve G5

ChangeSet@1.1612.1.111, 2004-05-14 19:56:29-07:00, akpm@osdl.org
  [PATCH] ppc64 iSeries: allow read only virtual disks
  
  From: Stephen Rothwell <sfr@canb.auug.org.au>
  
  It is possible to attach a virtual disk to a logical partition on an iSeries
  machine so that it is read only to the partition.  This patch allows Linux to
  use such virtual disks.

ChangeSet@1.1612.1.110, 2004-05-14 19:56:19-07:00, akpm@osdl.org
  [PATCH] ppc64: strengthen I/O and memory barriers
  
  From: Paul Mackerras <paulus@samba.org>
  
  After I sent the recent patch to include/asm-ppc64/io.h which put stronger
  barriers in the I/O accessor macros, Paul McKenney pointed out to me that a
  writex/outx could still slide out from inside a spinlocked region.  This patch
  makes the barriers a bit stronger so that this can't happen.  It means that we
  need to use a sync instruction for wmb (a full "heavyweight" sync), since
  drivers rely on wmb for ordering between writes to system memory and writes to
  a device.
  
  I have left smb_wmb() as a lighter-weight barrier that orders stores, and
  doesn't impose an ordering between cacheable and non-cacheable accesses (the
  amusingly-named eieio instruction).  I am assuming here that smp_wmb is only
  used for ordering stores to system memory so that another cpu will see them in
  order.  It can't be used for enforcing any ordering that a device will see,
  because it is just a gcc barrier on UP.
  
  This also changes the spinlock/rwlock unlock code to use lwsync ("light-weight
  sync") rather than eieio, since eieio doesn't order loads, and we need to
  ensure that loads stay inside the spinlocked region.

ChangeSet@1.1612.1.109, 2004-05-14 19:56:08-07:00, akpm@osdl.org
  [PATCH] ppc64: Kconfig bits for CONFIG_SPINLINE
  
  From: Paul Mackerras <paulus@samba.org>
  
  When I sent the patch to uninline the spinlocks, I inadvertently left out
  the change to arch/ppc64/Kconfig which defines the config symbol for
  inlining the locks (CONFIG_SPINLINE now).  This patch adds it.  It also
  adds a symbol CONFIG_PPC_SPLPAR which enables the code for calling the
  hypervisor on shared-processor logically-partitioned system to yield the
  physical processor to the lock holder when spinning.  (The code that
  depends on this symbol is already present in arch/ppc64/lib/locks.c.)

ChangeSet@1.1612.1.108, 2004-05-14 19:55:58-07:00, akpm@osdl.org
  [PATCH] ppc64: remove iseries interrupt recursion workaround
  
  From: Anton Blanchard <anton@samba.org>
  
  It turns out we do avoid irq recursion on iseries so remove the workaround.

ChangeSet@1.1612.1.107, 2004-05-14 19:55:47-07:00, akpm@osdl.org
  [PATCH] ppc64: NVRAM fixes
  
  From: Anton Blanchard <anton@samba.org>
  
  We check nvram_fetch/nvram_store against -1, so better not make these
  unsigned.

ChangeSet@1.1612.1.106, 2004-05-14 19:55:37-07:00, akpm@osdl.org
  [PATCH] ppc64: align some heavily used variables
  
  From: Anton Blanchard <anton@samba.org>
  
  Based on feedback from the hardware guys align jiffies and tb_last_stamp.
  We update both regularly and there are other read only, heavily accessed
  things that share those cachelines.

ChangeSet@1.1612.1.105, 2004-05-14 19:55:26-07:00, akpm@osdl.org
  [PATCH] ppc64: set MSR_RI in iseries exception code
  
  From: Anton Blanchard <anton@samba.org>
  
  We need to set MSR_RI in iseries exception prolog.

ChangeSet@1.1612.1.104, 2004-05-14 19:55:15-07:00, akpm@osdl.org
  [PATCH] ppc64: fix radix tree allocation under spinlock
  
  From: Anton Blanchard <anton@samba.org>
  
  We were allocating radix tree nodes in the interrupt code with GFP_KERNEL
  under a spinlock.  Change it to GFP_ATOMIC.

ChangeSet@1.1612.1.103, 2004-05-14 19:55:05-07:00, akpm@osdl.org
  [PATCH] ppc32: Move declarations into headers
  
  From: Paul Mackerras <paulus@samba.org>
  
  The patch below moves some declarations from C files into the appropriate
  header file in include/asm-ppc (and removes an unused local variable in a
  function).

ChangeSet@1.1612.1.102, 2004-05-14 19:54:54-07:00, akpm@osdl.org
  [PATCH] ppc32: Fix pmac compile after OCP changes
  
  From: Paul Mackerras <paulus@samba.org>
  
  Matt Porter's recent changes broke the compile for non-4xx ppc32 systems,
  unfortunately.  I get an error that mfdcr is not defined in
  include/asm-ppc/ocp.h when compiling for powermac (reasonable, since the
  mfdcr instruction only exists on 4xx processors).  The patch below fixes
  it.

ChangeSet@1.1612.1.101, 2004-05-14 19:54:43-07:00, akpm@osdl.org
  [PATCH] PPC32: PPC44x ports for new OCP
  
  From: Matt Porter <mporter@kernel.crashing.org>
  
  Merge all current PPC44x ports against new OCP.

ChangeSet@1.1612.1.100, 2004-05-14 19:54:32-07:00, akpm@osdl.org
  [PATCH] PPC32: PPC40x ports for new OCP
  
  From: Matt Porter <mporter@kernel.crashing.org>
  
  Merge all current PPC40x ports against new OCP.

ChangeSet@1.1612.1.99, 2004-05-14 19:54:21-07:00, akpm@osdl.org
  [PATCH] PPC32: Update 4xx defconfigs
  
  From: Matt Porter <mporter@kernel.crashing.org>
  
  Update all current 4xx defconfigs for new OCP.

ChangeSet@1.1612.1.98, 2004-05-14 19:54:10-07:00, akpm@osdl.org
  [PATCH] PPC32: 4xx core fixes and 440gx PIC support
  
  From: Matt Porter <mporter@kernel.crashing.org>
  
  Merge misc.  4xx core fixes and support for the new cascade scheme in the
  440gx.

ChangeSet@1.1612.1.97, 2004-05-14 19:53:59-07:00, akpm@osdl.org
  [PATCH] PPC32: IBM PPC4xx-specific OCP support
  
  From: Matt Porter <mporter@kernel.crashing.org>
  
  Merge PPC4xx-specific OCP support for new OCP core.

ChangeSet@1.1612.1.96, 2004-05-14 19:53:48-07:00, akpm@osdl.org
  [PATCH] PPC32: PPC44x lib support
  
  From: Matt Porter <mporter@kernel.crashing.org>
  
  Merge PPC44x library support against new OCP.

ChangeSet@1.1612.1.95, 2004-05-14 19:53:37-07:00, akpm@osdl.org
  [PATCH] PPC32: Bubinga/405EP for new OCP
  
  From: Matt Porter <mporter@kernel.crashing.org>
  
  Merge Bubinga/405EP support against new OCP.

ChangeSet@1.1612.1.94, 2004-05-14 19:53:26-07:00, akpm@osdl.org
  [PATCH] PPC32: New OCP core support (updated)
  
  From: Matt Porter <mporter@kernel.crashing.org>
  
  New OCP infrastructure ported from 2.4 along with several enhancements. 
  Updated patch with comments from hch and Valdis.

ChangeSet@1.1612.1.93, 2004-05-14 19:52:43-07:00, akpm@osdl.org
  [PATCH] PPC32: Add Book E / PPC44x specific exception support
  
  From: Matt Porter <mporter@kernel.crashing.org>
  
  Adds general Book E machine check exception support and PPC44x-specific
  machine check exception implementation.

ChangeSet@1.1612.1.92, 2004-05-14 19:52:31-07:00, akpm@osdl.org
  [PATCH] PPC32: Add Book E / PPC44x specific exception support
  
  From: Matt Porter <mporter@kernel.crashing.org>
  
  Adds general Book E debug exception support and PPC44x-specific debug
  exception implementation.

ChangeSet@1.1612.1.91, 2004-05-14 19:52:21-07:00, akpm@osdl.org
  [PATCH] PPC32: Fix copy prefetch on non coherent PPCs
  
  From: Matt Porter <mporter@kernel.crashing.org>
  
  This patch fixes the condition where prefetching cache lines beyond a
  buffer can cause data corruption on non cache coherent PPCs.  It is a port
  of the version that went into 2.4.  From Eugene Surovegin
  <ebs@ebshome.net>.

ChangeSet@1.1612.1.90, 2004-05-14 19:52:10-07:00, akpm@osdl.org
  [PATCH] PPC32: Fix __flush_dcache_icache_phys() for Book E
  
  From: Matt Porter <mporter@kernel.crashing.org>
  
  This patch implements/uses __flush_dcache_icache_page() which kmaps on a
  Book E part, but keeps the existing behavior on other PowerPCs which can
  disable the MMU.

ChangeSet@1.1612.1.89, 2004-05-14 19:51:59-07:00, akpm@osdl.org
  [PATCH] export clear_pages on ppc32
  
  From: Olaf Hering <olh@suse.de>
  
  ext3 as module is not possible in 2.6.6, clear_pages, called from clear_page,
  is not exported.
  
  Also, unexport clear_page(), which is an inline.

ChangeSet@1.1612.1.88, 2004-05-14 19:51:48-07:00, akpm@osdl.org
  [PATCH] befs: inode->i_flags thinko fix
  
  Jorn Engel <joern@wohnheim.fh-wedel.de>
  
  inode->i_flags should never contain fs-specific flags.  In fact, it doesn't;
  the checks against it cause "chattr +T" to be useless for ext[23].  Same bug
  was in befs as well.

ChangeSet@1.1612.1.87, 2004-05-14 19:51:37-07:00, akpm@osdl.org
  [PATCH] befs: maintainer update
  
  From: "Sergey S. Kostyliov" <rathamahata@php4.ru>
  
  Acked by Will Dyson.

ChangeSet@1.1612.1.86, 2004-05-14 19:51:27-07:00, akpm@osdl.org
  [PATCH] befs: debugging code cleanup
  
  From: "Sergey S. Kostyliov" <rathamahata@php4.ru>
  
  - Reduce stack usage.
  - Kill useless duplication of error and warning messages when debug is on. Old
  	behaviour was:
  ...
  BeFS(hda1): 

ChangeSet@1.1612.1.85, 2004-05-14 19:51:16-07:00, akpm@osdl.org
  [PATCH] befs: typo fix
  
  From: "Sergey S. Kostyliov" <rathamahata@php4.ru>
  
  Fix really old typo in config help

ChangeSet@1.1612.1.84, 2004-05-14 19:51:06-07:00, akpm@osdl.org
  [PATCH] befs: binary search microoptimisation
  
  From: "Sergey S. Kostyliov" <rathamahata@php4.ru>
  
  Move value initialisation out of the loop body.

ChangeSet@1.1612.1.83, 2004-05-14 19:50:55-07:00, akpm@osdl.org
  [PATCH] befs: microoptimisation, use befs_bread() instead of befs_bread_iaddr()
  
  From: "Sergey S. Kostyliov" <rathamahata@php4.ru>
  
  We already have block number (inode->i_ino), so there is no need to calculate
  it from befs_block_run before sb_bread() call (this is what befs_bread_iaddr()
  do).

ChangeSet@1.1612.1.82, 2004-05-14 19:50:44-07:00, akpm@osdl.org
  [PATCH] befs: LBD support
  
  From: "Sergey S. Kostyliov" <rathamahata@php4.ru>
  
  LBD patch merged long time ago, so it is safe to pass u64 block numbers to
  sb_bread() when sector_t is large enough.

ChangeSet@1.1612.1.81, 2004-05-14 19:50:33-07:00, akpm@osdl.org
  [PATCH] s390: network driver
  
  From: Martin Schwidefsky <schwidefsky@de.ibm.com>
  
  Network driver changes:
   - lcs: Add missing irb error checking.
   - lcs: Fix multicasting.
   - lcs: Use a seperate lock (ipm_lock) for multicast list.
   - lcs: Add missing in_dev_put in multicase address list handling.
   - iucv: Set static variables to NULL after kfree.
   - iucv: Do bus_unregister if module initialization fails.
   - netiucv: Convert iucvMagic to EBCDIC in con_action_start.
   - netiucv: Remove administration of ifno-stuff for device name,
   - netiucv: Add attribute to remove a netiucv device.
   - qeth: Add version string that is displayed at driver load time.
   - qeth: Fix memory leak in qeth_arp_query.
   - qeth: Remove duplicate case statements in qeth_do_ioctl.
   - qeth: Fix OSA broadcast filtering.
   - qeth: Increase timeout for purge ARP cache IPA.
   - qeth: Fix hsi device naming.
   - qeth: Add do_QDIO count to qeth performance statistics.
   - qeth: Allow writing to IP address takeover attribute only in
           state DOWN or RECOVER.
   - qeth: Fix hang when removing a vlan device.
   - qeth: Cleanup error messages for ARP commands.
   - qeth: Return EOPNOTSUPP for purge ARP on HiperSockets.
   - qeth: Drop skbs if the net_device of a qeth device is down.
   - qeth: Simplify ip address list processing.

ChangeSet@1.1612.1.80, 2004-05-14 19:50:22-07:00, akpm@osdl.org
  [PATCH] s390: zfcp host adapter
  
  From: Martin Schwidefsky <schwidefsky@de.ibm.com>
  
  zfcp host adapter change:
   - Prevent infinite retry of SCSI commands when FCP adapter is unavailable.
   - Always queue error recovery structure to the error recovery running list.
   - Add help text to zfcp config option.

ChangeSet@1.1612.1.79, 2004-05-14 19:50:11-07:00, akpm@osdl.org
  [PATCH] s390: 3270 console driver
  
  From: Martin Schwidefsky <schwidefsky@de.ibm.com>
  
  3270 device driver change:
   - Don't allow activation of views while the initial size sensing is still
     in progress. Replace RAW3270_FLAGS_SHUTDOWN with RAW3270_FLAGS_READY.
   - Make 3270 views loadable as modules.

ChangeSet@1.1612.1.78, 2004-05-14 19:50:00-07:00, akpm@osdl.org
  [PATCH] s390: dasd driver
  
  From: Martin Schwidefsky <schwidefsky@de.ibm.com>
  
  dasd driver changes:
   - Do error recovery for error recovery requests.
   - Retry request if the start_IO failed because of a timeout.

ChangeSet@1.1612.1.77, 2004-05-14 19:49:49-07:00, akpm@osdl.org
  [PATCH] s390: common i/o layer
  
  From: Martin Schwidefsky <schwidefsky@de.ibm.com>
  
  Common i/o layer changes:
   - Delay unregister/register of ccw devices reappering on a different
     subchannel. Search for the old ccw_device & subchannel for the
     reattached device and deregister it too to avoid inconsistencies.
   - Fix path grouping for devices that present command reject for
     SetPGID but not for SensePGID.

ChangeSet@1.1612.1.76, 2004-05-14 19:49:38-07:00, akpm@osdl.org
  [PATCH] s390: core
  
  From: Martin Schwidefsky <schwidefsky@de.ibm.com>
  
  s390 core changes:
   - Rename idle_cpu_mask to nohz_cpu_mask as agreed with Dipankar.
   - Refine compiler version check for "Q" constraints in uaccess.h.
   - Store per process ptrace information to the correct place.
   - Fix per cpu data access for 64-bit modules.
   - Add topology_init function for cpu hotplug.
   - Define TASK_SIZE dependent on TIF_31BIT and define MM_VM_SIZE
     to 4TB to get rid of elf_map32 and arch_get_unmapped_area.

ChangeSet@1.1612.1.75, 2004-05-14 19:49:27-07:00, akpm@osdl.org
  [PATCH] Add del_single_shot_timer()
  
  From: Geoff Gustafson <geoff@linux.jf.intel.com>,
        "Chen, Kenneth W" <kenneth.w.chen@intel.com>,
        Ingo Molnar <mingo@elte.hu>,
        me.
  
  The big-SMP guys are seeing high CPU load due to del_timer_sync()'s
  inefficiencies.  The callers are fs/aio.c and schedule_timeout().
  
  We note that neither of these callers' timer handlers actually re-add the
  timer - they are single-shot.
  
  So we don't need all that complexity in del_timer_sync() - we can just run
  del_timer() and if that worked we know the timer is dead.
  
  Add del_single_shot_timer(), export it to modules and use it in AIO and
  schedule_timeout().
  
  
  (these numbers are for an earlier patch, but they'll be close)
  
  Before:             32p     4p
       Warm cache   29,000    505
       Cold cache   37,800   1220
  
  After:              32p     4p
       Warm cache       95     88
       Cold cache    1,800    140
  
  [Measurements are CPU cycles spent in a call to del_timer_sync, the average
  of 1000 calls. 32p is 16-node NUMA, 4p is SMP.]
  
  (I cleaned up a few things and added some commentary)

ChangeSet@1.1612.1.74, 2004-05-14 19:49:16-07:00, akpm@osdl.org
  [PATCH] H8/300: more cleanup
  
  From: Yoshinori Sato <ysato@users.sourceforge.jp>
  
  - gcc-3.4 warning fix.
  - io access address fix.
  - cleanup code.

ChangeSet@1.1612.1.73, 2004-05-14 19:49:05-07:00, akpm@osdl.org
  [PATCH] H8/300: delete headers
  
  From: Yoshinori Sato <ysato@users.sourceforge.jp>
  
  - Delete obsolete header files

ChangeSet@1.1612.1.72, 2004-05-14 19:48:53-07:00, akpm@osdl.org
  [PATCH] H8/300: Kconfig
  
  From: Yoshinori Sato <ysato@users.sourceforge.jp>
  
  - Separate taget depends config.

ChangeSet@1.1612.1.71, 2004-05-14 19:48:42-07:00, akpm@osdl.org
  [PATCH] H8/300: ne driver
  
  From: Yoshinori Sato <ysato@users.sourceforge.jp>
  
  - ne2k compatible NIC support

ChangeSet@1.1612.1.70, 2004-05-14 19:48:31-07:00, akpm@osdl.org
  [PATCH] H8/300: SCI driver fix
  
  From: Yoshinori Sato <ysato@users.sourceforge.jp>
  
  - fix h8300 depend setup sequence

ChangeSet@1.1612.1.69, 2004-05-14 19:48:20-07:00, akpm@osdl.org
  [PATCH] H8/300: preempt support
  
  From: Yoshinori Sato <ysato@users.sourceforge.jp>
  
  - add preempt support
  - add new syscalls
  - code cleanup

ChangeSet@1.1612.1.68, 2004-05-14 19:48:09-07:00, akpm@osdl.org
  [PATCH] H/8300 pic support fix
  
  From: Yoshinori Sato <ysato@users.sourceforge.jp>
  
  Sorry. There was the file which lacked.

ChangeSet@1.1612.1.67, 2004-05-14 19:47:58-07:00, akpm@osdl.org
  [PATCH] H8/300: pic support
  
  From: Yoshinori Sato <ysato@users.sourceforge.jp>
  
  - add PIC binary support

ChangeSet@1.1612.1.66, 2004-05-14 19:47:47-07:00, akpm@osdl.org
  [PATCH] H8/300: ldscripts fix
  
  From: Yoshinori Sato <ysato@users.sourceforge.jp>
  
  - symbol prefix (use h8300 and v850) support
  - include headers

ChangeSet@1.1612.1.65, 2004-05-14 19:47:36-07:00, akpm@osdl.org
  [PATCH] H8/300: bitops.h add find_next_bit
  
  From: Yoshinori Sato <ysato@users.sourceforge.jp>
  
  - add find_next_bit

ChangeSet@1.1612.1.64, 2004-05-14 19:47:27-07:00, akpm@osdl.org
  [PATCH] dentry layout tweaks
  
  Lookup typically touches three fields of the dentry: d_bucket, d_name.hash and
  d_parent.
  
  Change the layout of things so that these will always be in the same
  cacheline.

ChangeSet@1.1612.1.63, 2004-05-14 19:47:16-07:00, akpm@osdl.org
  [PATCH] more dentry shrinkage
  
  - d_vfs_flags can be removed - just use d_flags.  All modifications of
    dentry->d_flags are under dentry->d_lock.
  
  On x86 this takes the internal string size up to 40 bytes.  The
  internal/external ratio on my 1.5M files hits 96%.

ChangeSet@1.1612.1.62, 2004-05-14 19:47:06-07:00, akpm@osdl.org
  [PATCH] dentry d_bucket fix
  
  The gap between checking d_bucket and sampling d_move_count looks like a bug
  to me.
  
  It feels safer to be checking d_bucket after taking the lock, when we know
  that it is stable.
  
  And it's a little faster to check d_bucket after having checked the hash
  rather than before.

ChangeSet@1.1612.1.61, 2004-05-14 19:46:55-07:00, akpm@osdl.org
  [PATCH] dentry qstr consolidation
  
  When dentries are given an external name we currently allocate an entire qstr
  for the external name.
  
  This isn't needed.  We can use the internal qstr and kmalloc only the string
  itself.  This saves 12 bytes from externally-allocated names and 4 bytes from
  the dentry itself.
  
  The saving of 4 bytes from the dentry doesn't actually decrease the dentry's
  storage requirements, but it makes four more bytes available for internal
  names, taking the internal/external ratio from 89% up to 93% on my 1.5M files.
  
  
  Fix:
  
  The qstr consolidation wasn't quite right, because it can cause qstr->len to
  be unstable during lookup lockless traverasl.
  
  Fix that up by taking d_lock earlier in lookup.  This serialises against
  d_move.
  
  Take the lock after comparing the parent and hash to preserve the
  mostly-lockless behaviour.
  
  This obsoletes d_movecount, which is removed.

ChangeSet@1.1612.1.60, 2004-05-14 19:46:44-07:00, akpm@osdl.org
  [PATCH] dentry shrinkage
  
  Rework dentries so that the inline name length is between 31 and 48 bytes.
  
  On SMP P4-compiled x86 each dentry consumes 160 bytes (24 per page).
  
  Here's the histogram of name lengths on all 1.5M files on my workstation:
  
  1:  0%
  2:  0%
  3:  1%
  4:  5%
  5:  8%
  6:  13%
  7:  19%
  8:  26%
  9:  33%
  10:  42%
  11:  49%
  12:  55%
  13:  60%
  14:  64%
  15:  67%
  16:  69%
  17:  71%
  18:  73%
  19:  75%
  20:  76%
  21:  78%
  22:  79%
  23:  80%
  24:  81%
  25:  82%
  26:  83%
  27:  85%
  28:  86%
  29:  87%
  30:  88%
  31:  89%
  32:  90%
  33:  91%
  34:  92%
  35:  93%
  36:  94%
  37:  95%
  38:  96%
  39:  96%
  40:  96%
  41:  96%
  42:  96%
  43:  96%
  44:  97%
  45:  97%
  46:  97%
  47:  97%
  48:  97%
  49:  98%
  50:  98%
  51:  98%
  52:  98%
  53:  98%
  54:  98%
  55:  98%
  56:  98%
  57:  98%
  58:  98%
  59:  98%
  60:  99%
  61:  99%
  62:  99%
  63:  99%
  64:  99%
  
  So on x86 we'll fit 89% of filenames into the inline name.
  
  
  The patch also removes the NAME_ALLOC_LEN() rounding-up of the storage for the
  out-of-line names.  That seems unnecessary.

ChangeSet@1.1612.1.59, 2004-05-14 19:46:33-07:00, akpm@osdl.org
  [PATCH] d_vfs_flags locking fix
  
  Be consistent about d_vfs_flags locking: take dentry->d_lock when modifying
  it.

ChangeSet@1.1612.1.58, 2004-05-14 19:46:23-07:00, akpm@osdl.org
  [PATCH] d_flags locking fixes
  
  A few filesystems modify dentry.d_flags under non-obvious locking.  To
  consolidate that field wth d_vfs_flags they need to take ->d_lock

ChangeSet@1.1612.1.57, 2004-05-14 19:46:12-07:00, akpm@osdl.org
  [PATCH] I2O subsystem fixing and cleanup for 2.6 - i2o-makefile-cleanup.patch
  
  From: Markus Lidel <Markus.Lidel@shadowconnect.com>
  
  * The Kconfig and Makefile in drivers/message/i2o still got a CONFIG_I2O_PCI
    entry, which is not used anymore.  This one is replaced by a
    CONFIG_I2O_CONFIG entry, which now builds the i2o_config module.

ChangeSet@1.1612.1.56, 2004-05-14 19:46:01-07:00, akpm@osdl.org
  [PATCH] I2O subsystem fixing and cleanup for 2.6 - i2o-64-bit-fix.patch
  
  From: Markus Lidel <Markus.Lidel@shadowconnect.com>
  
  * provides i2o_context_list_*() functions, which maps 64-bit pointers to
    32-bit context id's in a dynamic list.  On 32-bit systems the functions are
    replaced with a static inline.
  
  * i2o_scsi now uses the i2o_context_list_*() functions for transaction
    context, and therefore now work on 64-bit systems too.

ChangeSet@1.1612.1.55, 2004-05-14 19:45:50-07:00, akpm@osdl.org
  [PATCH] I2O subsystem fixing and cleanup for 2.6 - i2o_block-cleanup.patch
  
  From: Markus Lidel <Markus.Lidel@shadowconnect.com>
  
  * more than 3 "visible" disks (hda, hdb, hdc, hdd) lead to kernel panics.
  
  * removes some unused code with partitions.
  
  * I2O_LOCK was often called with the addresses of the controller, and not
    with the address of the device.  Fixed.
  
  * the cleanup function for gendisk (del_gendisk) doesn't work if the queue
    is shared between different devices.  To workaround the queue is removed
    before.
  
  * redundant code removed in module initialization and remove, use
    i2ob_new_device and i2ob_del_device instead.
  
  * removed atomic_t queue_depth
  
  * removed unnecessary and bogus code for queue handling

ChangeSet@1.1612.1.54, 2004-05-14 19:45:39-07:00, akpm@osdl.org
  [PATCH] i2o: 64-bit fixes
  
  From: Markus Lidel <Markus.Lidel@shadowconnect.com>
  
  Fix 64-bit problems.

ChangeSet@1.1612.1.53, 2004-05-14 19:45:29-07:00, akpm@osdl.org
  [PATCH] I2O subsystem fixing and cleanup for 2.6 - i2o-passthru.patch
  
  From: Markus Lidel <Markus.Lidel@shadowconnect.com>
  
  * Add a pass-thru ioctl to i2o_config, which is needed to work with the
    Adaptec management software.

ChangeSet@1.1612.1.52, 2004-05-14 19:45:18-07:00, akpm@osdl.org
  [PATCH] I2O subsystem fixing and cleanup for 2.6 - i2o-config-clean.patch
  
  From: Markus Lidel <Markus.Lidel@shadowconnect.com>
  
  * Changes the formating of the header in i2o_config.c

ChangeSet@1.1612.1.51, 2004-05-14 19:45:07-07:00, akpm@osdl.org
  [PATCH] Module ref counting for vt console drivers
  
  From: Herbert Xu <herbert@gondor.apana.org.au>
  
  The following patch adds basic module reference counting to vt console
  drivers.  Currently modules like fbcon are not counted at all.

ChangeSet@1.1612.1.50, 2004-05-14 19:44:57-07:00, akpm@osdl.org
  [PATCH] ia64 cpu hotplug: core
  
  From: Ashok Raj <ashok.raj@intel.com>
  
  Supports basic ability to enable hotplug functions for IA64.
  Code is just evolving, and there are several loose ends to tie up.
  
  What this code drop does
  - Support logical online and offline
  - Handles interrupt migration without loss of interrupts.
  - Handles stress fine > 24+ hrs with make -j/ftp/rcp workloads
  - Handles irq migration from a dying cpu without loss of interrupts.
  
  What needs to be done
  - Boot CPU removal support, with platform level authentication
  - Putting cpu being removed in BOOT_RENDEZ mode.

ChangeSet@1.1612.1.49, 2004-05-14 19:44:45-07:00, akpm@osdl.org
  [PATCH] Revisited: ia64-cpu-hotplug-cpu_present.patch
  
  From: Paul Jackson <pj@sgi.com>
  
  With a hotplug capable kernel, there is a requirement to distinguish a
  possible CPU from one actually present.  The set of possible CPU numbers
  doesn't change during a single system boot, but the set of present CPUs
  changes as CPUs are physically inserted into or removed from a system.  The
  cpu_possible_map does not change once initialized at boot, but the
  cpu_present_map changes dynamically as CPUs are inserted or removed.
  
  
  Paul Jackson <pj@sgi.com> provided an expanded explanation:
  
  
  Ashok's cpu hot plug patch adds a cpu_present_map, resulting in the following
  cpu maps being available.  All the following maps are fixed size bitmaps of
  size NR_CPUS.
  
  #ifdef CONFIG_HOTPLUG_CPU
  	cpu_possible_map - map with all NR_CPUS bits set
  	cpu_present_map - map with bit 'cpu' set iff cpu is populated
  	cpu_online_map - map with bit 'cpu' set iff cpu available to scheduler
  #else
  	cpu_possible_map - map with bit 'cpu' set iff cpu is populated
  	cpu_present_map - copy of cpu_possible_map
  	cpu_online_map - map with bit 'cpu' set iff cpu available to scheduler
  #endif
  
  In either case, NR_CPUS is fixed at compile time, as the static size of these
  bitmaps.  The cpu_possible_map is fixed at boot time, as the set of CPU id's
  that it is possible might ever be plugged in at anytime during the life of
  that system boot.  The cpu_present_map is dynamic(*), representing which CPUs
  are currently plugged in.  And cpu_online_map is the dynamic subset of
  cpu_present_map, indicating those CPUs available for scheduling.
  
  If HOTPLUG is enabled, then cpu_possible_map is forced to have all NR_CPUS
  bits set, otherwise it is just the set of CPUs that ACPI reports present at
  boot.
  
  If HOTPLUG is enabled, then cpu_present_map varies dynamically, depending on
  what ACPI reports as currently plugged in, otherwise cpu_present_map is just a
  copy of cpu_possible_map.
  
  (*) Well, cpu_present_map is dynamic in the hotplug case.  If not hotplug,
      it's the same as cpu_possible_map, hence fixed at boot.

ChangeSet@1.1612.1.48, 2004-05-14 19:44:34-07:00, akpm@osdl.org
  [PATCH] ia64 cpu hotplug: /proc rework
  
  From: Ashok Raj <ashok.raj@intel.com>
  
  Changes proc entries for cpu hotplug to be created via the cpu hotplug
  notifier callbacks.  Also fixed a bug in the removal code that did not remove
  proc entries as expected.

ChangeSet@1.1612.1.47, 2004-05-14 19:44:23-07:00, akpm@osdl.org
  [PATCH] ia64 cpu hotplug: IRQ affinity work
  
  From: Ashok Raj <ashok.raj@intel.com>
  
  irq affinity setting via /proc was forcing iosapic rte programming by force.
  The correct way to do this is to perform this when a interrupt is pending.

ChangeSet@1.1612.1.46, 2004-05-14 19:44:13-07:00, akpm@osdl.org
  [PATCH] ia64 cpu hotplug: sysfs additions
  
  From: Ashok Raj <ashok.raj@intel.com>
  
  Creation of sysfs via topology_init() creates sysfs entries.  The creation of
  the online control file is created separately when the cpu_up is invoked in
  arch independent code.

ChangeSet@1.1612.1.45, 2004-05-14 19:44:02-07:00, akpm@osdl.org
  [PATCH] ia64 cpu hotplug: init section fixes
  
  From: Ashok Raj <ashok.raj@intel.com>
  
  Contains changes from __init to __devinit to support cpu hotplug Changes only
  arch/ia64 portions of the kernel tree.

ChangeSet@1.1612.1.44, 2004-05-14 19:43:50-07:00, akpm@osdl.org
  [PATCH] ia64 cpu hotplug: core kernel initialisation
  
  From: Ashok Raj <ashok.raj@intel.com>
  
  This patch changes __init to __devinit to init_idle so that when a new cpu
  arrives, it can call these functions at a later time.

ChangeSet@1.1612.1.43, 2004-05-14 19:43:39-07:00, akpm@osdl.org
  [PATCH] swap speedups and fix
  
  From: Andrea Arcangeli <andrea@suse.de>
  
  I don't think we need an install_swap_bdev/remove_swap_bdev anymore, we should
  use the swap_info->bdev, not the swap_bdevs.  the swap_info already has a
  ->bdev field, the only point of remove_swap_bdev/install_swap_bdev was to
  unplug all devices as efficiently as possible, we don't need that anymore with
  the page parameter.
  
  Plus the semaphore should be a rwsem to allow parallel unplug from multiple
  pages.
  
  After that I don't need to take the semaphore anymore during swapon, no
  swapcache with swp_type() pointing to such bdev, will be allowed until swapon
  is complete (SWP_ACTIVE is set a lot later after setting p->bdev).
  
  In swapoff I only need a dummy serialization with the readers, after
  try_to_unuse is complete:
  
   	err = try_to_unuse(type);
   	current->flags &= ~PF_SWAPOFF;
  
   	/* wait for any unplug function to finish */
   	down_write(&swap_unplug_sem);
   	up_write(&swap_unplug_sem);
  
  
  that's all, no other locking and no install_swap_bdev/remove_swap_bdev.
  
  (and the swap_bdevs[] compression code was busted)

ChangeSet@1.1612.1.42, 2004-05-14 19:43:29-07:00, akpm@osdl.org
  [PATCH] blk_run_page(): we don't trust bh->b_page
  
  We don't trust bh->b_page to point to the right thing across all filesystems,
  so revert this bit.

ChangeSet@1.1612.1.41, 2004-05-14 19:43:18-07:00, akpm@osdl.org
  [PATCH] blk_run_page(): fixup for swap_unplug_io_fn()

ChangeSet@1.1612.1.40, 2004-05-14 19:43:07-07:00, akpm@osdl.org
  [PATCH] Add blk_run_page()
  
  From: Andrea Arcangeli <andrea@suse.de>
  
  From: Jens Axboe
  
  Add blk_run_page() API.  This is so that we can pass the target page all the
  way down to (for example) the swap unplug function.  So swap can work out
  which blockdevs back this particular page.

ChangeSet@1.1612.1.39, 2004-05-14 19:42:56-07:00, akpm@osdl.org
  [PATCH] rmap-5-swap_unplug-page-revert
  
  Revert the pre-2.6.6 per-address-space unplugging changes.  This removes a
  swapper_space exceptionality, syncs things with Andrea and provides for
  simplification of the swap unplug function.

ChangeSet@1.1612.1.38, 2004-05-14 19:42:45-07:00, akpm@osdl.org
  [PATCH] rename rmap_lock to page_map_lock
  
  Sync this up with Andrea's patches.

ChangeSet@1.1612.1.37, 2004-05-14 19:42:34-07:00, akpm@osdl.org
  [PATCH] filtered wakeups: apply to buffer_head functions
  
  From: William Lee Irwin III <wli@holomorphy.com>
  
  This patch implements wake-one semantics for buffer_head wakeups in a single
  step.  The buffer_head being waited on is passed to the waiter's wakeup
  function by the waker, and the wakeup function compares that to the a pointer
  stored in its on-stack structure and checking the readiness of the bit there
  also.  Wake-one semantics are achieved by using WQ_FLAG_EXCLUSIVE in the
  codepaths waiting to acquire the bit for mutual exclusion.

ChangeSet@1.1612.1.36, 2004-05-14 19:42:25-07:00, akpm@osdl.org
  [PATCH] filtered wakeups: apply to pagecache functions
  
  From: William Lee Irwin III <wli@holomorphy.com>
  
  This patch implements wake-one semantics for page wakeups in a single step.
  Discrimination between distinct pages is achieved by passing the page to the
  wakeup function, which compares it to a pointer in its own on-stack structure
  containing the waitqueue element and the page.  Bit discrimination is achieved
  by storing the bit number in that same structure and testing the bit in the
  wakeup function.  Wake-one semantics are achieved by using WQ_FLAG_EXCLUSIVE
  in the codepaths waiting to acquire the bit for mutual exclusion.

ChangeSet@1.1612.1.35, 2004-05-14 19:42:14-07:00, akpm@osdl.org
  [PATCH] filtered wakeups: wakeup enhancements
  
  From: William Lee Irwin III <wli@holomorphy.com>
  
  This patch provides an additional argument to __wake_up_common() so that the
  information wakefunc.patch made waiters ready to receive may be passed to them
  by wakers.  This is provided as a separate patch so that the overhead of the
  additional argument to __wake_up_common() can be measured in isolation.  No
  change in performance was observable here.

ChangeSet@1.1612.1.34, 2004-05-14 19:42:03-07:00, akpm@osdl.org
  [PATCH] filtered wakeups
  
  From: William Lee Irwin III <wli@holomorphy.com>
  
  This patch series is solving the "thundering herd" problem that occurs in the
  mainline implementation of hashed waitqueues.  There are two sources of
  spurious wakeups in such arrangements:
  
  (a) Hash collisions that place waiters on different objects on the same
      waitqueue, which wakes threads falsely when any of the objects hashed to
      the same queue receives a wakeup.  i.e.  loss of information about which
      object a wakeup event is related to.
  
  (b) Loss of information about which object a given waiter is waiting on.
      This precludes wake-one semantics for mutual exclusion scenarios.  For
      instance, a lock bit may be slept on.  If there are any waiters on the
      object, a lock bit release event must wake at least one of them so as to
      prevent deadlock.  But without information as to which waiter is waiting
      on which object, we must resort to waking all waiters who could possibly
      be waiting on it.  Now, as the lock bit provides mutual exclusion, only
      one of the waiters woken can proceed, and the remainder will go back to
      sleep and wait for another event, creating unnecessary system load.  Once
      wake-one semantics are established, only one of the waiters waiting to
      acquire a lock bit need to be woken, which measurably reduces system load
      and improves efficiency (i.e.  it's the subject of the benchmarking I've
      been sending to you).
  
  Even beyond the measurable efficiency gains, there are reasons of robustness
  and responsiveness to motivate addressing the issue of thundering herds.  In a
  real-life scenario I've been personally involved in resolving, the thundering
  herd issue caused powerful modern SMP machines with fast IO systems to be
  unresponsive to user input for a minute at a time or more.  Analogues of these
  patches for the distro kernels involved fully resolved the issue to the
  customer's satisfaction and obviated workarounds to limit the pagecache's
  size.
  
  The latest spin of these patches basically shoves more pieces of the logic
  into the wakeup functions, with some efficiency gains from sharing the hot
  codepath with the rest of the kernel, and a slightly larger diff than the
  patches with the newly-introduced entrypoint.  Writing these was motivated by
  the push to insulate sched.c from more of the details of wakeup semantics by
  putting more of the logic into the wakeup functions.  In order to accomplish
  this while still solving (b), the wakeup functions grew a new argument for
  communication about what object a wakeup event is related to to be passed by
  the waker.
  
  =========
  
  This patch provides an additional argument to wakeup functions so that
  information may be passed from the waker to the waiter.  This is provided as a
  separate patch so that the overhead of the additional argument can be measured
  in isolation.  No change in performance was observable here.

ChangeSet@1.1612.1.33, 2004-05-14 19:41:52-07:00, akpm@osdl.org
  [PATCH] do_mounts_rd-malloc-fix
  
  gcc-3.4.0 sez:
  
  init/do_mounts_rd.c:309: warning: conflicting types for built-in function 'malloc'

ChangeSet@1.1612.1.32, 2004-05-14 19:41:41-07:00, akpm@osdl.org
  [PATCH] VM accounting fix
  
  From: Hugh Dickins <hugh@veritas.com>
  
  Stas Sergeev <stsp@aknet.ru> wrote:
  
     mprotect() fails to merge VMAs because one VMA can end up with
     VM_ACCOUNT flag set, and another without that flag.  That makes several
     apps of mine to malfuncate.
  
  
  Great find!  Someone has got their test the wrong way round.  Since that
  VM_MAYACCT macro is being used in one place only, and just hiding what it's
  actually about, fold it into its callsite.

ChangeSet@1.1612.1.31, 2004-05-14 19:41:31-07:00, akpm@osdl.org
  [PATCH] revert the process-migration-speedup patch
  
  David Mosberger asked that this be backed out:
  
  "I do not believe that flushing the TLB before migration is be the right thing
  to do on ia64 machines which support global TLB purges (i.e., all but SGI's
  machines)."
  
  It was of huge benefit for the SGI machines, so work is ongoing.

ChangeSet@1.1612.1.30, 2004-05-14 19:41:20-07:00, akpm@osdl.org
  [PATCH] MSEC_TO_JIFFIES to msec_to_jiffies
  
  Switch all users of MSEC[S]_TO_JIFFIES and JIFFIES_TO_MSEC[S] over to use
  jiffies_to_msecs() and msecs_to_jiffies().  Withdraw MSECS_TO_JIFFIES() and
  JIFFIES_TO_MSECS() from the kernel API.

ChangeSet@1.1612.1.29, 2004-05-14 19:41:08-07:00, akpm@osdl.org
  [PATCH] Covert drivers to use msec_to_jiffies
  
  Remove various private implementations of msecs_to_jiffies() and
  jiffies_to_msecs().
  
  There are various uppercase versions which should be consolidated.

ChangeSet@1.1612.1.28, 2004-05-14 19:40:57-07:00, akpm@osdl.org
  [PATCH] MSEC_TO_JIFFIES consolidation
  
  From: Ingo Molnar <mingo@elte.hu>
  
  We have various different implementations of MSEC[S]_TO_JIFFIES and
  JIFFIES_TO_MSEC[S].  We recently had a compile-time clash in USB.
  
  Fix all that up.
  
  - The SCTP version was very inefficient.  Hopefully this version is accurate
    enough.
  
  - Optimise for the HZ=100 and HZ=1000 cases
  
  - This version does round-up, so sleep(9 milliseconds) works OK on 100HZ.
  
  - We still have lots of jiffies_to_msec and msec_to_jiffies implementations.
  
  From: William Lee Irwin III <wli@holomorphy.com>
  
    Optimize the cases where HZ is a divisor of 1000 or vice-versa in
    JIFFIES_TO_MSECS() and MSECS_TO_JIFFIES() by allowing the nonvanishing(!)
    integral ratios to appear as a parenthesized expressions eligible for
    constant folding optimizations.
  
  From: me
  
    Use typesafe inlines for the jiffies-to-millisecond conversion functions.
  
    This means that milliseconds officially takes the type `unsigned int'.
    All current callers seem to be OK with that.
  
    Drivers need to be fixed up to use this instead of their private versions.

ChangeSet@1.1612.1.27, 2004-05-14 19:40:46-07:00, akpm@osdl.org
  [PATCH] sched: add missing local_irq_enable()
  
  From: Nick Piggin <nickpiggin@yahoo.com.au>
  
  this_rq_lock does a local_irq_disable, and sched_yield() needs to undo that.

ChangeSet@1.1612.1.26, 2004-05-14 19:40:34-07:00, akpm@osdl.org
  [PATCH] Fix page double-freeing race
  
  This has been there for nearly two years.  See bugzilla #1403
  
  vmscan.c does, in two places:
  
  	spin_lock(zone->lru_lock)
  	page = lru_to_page(&zone->inactive_list);
  	if (page_count(page) == 0) {
  		/* erk, it's being freed by __page_cache_release() or
  		 * release_pages()
  		 */
  		put_it_back_on_the_lru();
  
  	} else {
  
  	--> window 1 <--
  
  		page_cache_get(page);
  		put_in_on_private_list();
  	}
  	spin_unlock(zone->lru_lock)
  
  	use_the_private_list();
  
  	page_cache_release(page);
  
  
  
  whereas __page_cache_release() and release_pages() do:
  
  	if (put_page_testzero(page)) {
  
  	--> window 2 <--
  
  		spin_lock(lru->lock);
  		if (page_count(page) == 0) {
  			remove_it_from_the_lru();
  			really_free_the_page()
  		}
  		spin_unlock(zone->lru_lock)
  	}
  
  
  The race occurs if the vmscan.c path sees page_count()==1 and then the
  page_cache_release() path happens in that few-instruction "window 1" before
  vmscan's page_cache_get().
  
  The page_cache_release() path does put_page_testzero(), which returns true.
  Then this CPU takes an interrupt...
  
  The vmscan.c path then does page_cache_get(), taking the refcount to one.
  Then it uses the page and does page_cache_release(), taking the refcount to
  zero and the page is really freed.
  
  Now, the CPU running page_cache_release() returns from the interrupt, takes
  the LRU lock, sees the page still has a refcount of zero and frees it again.
  Boom.
  
  
  The patch fixes this by closing "window 1".  We provide a
  "get_page_testone()" which grabs a ref on the page and returns true if the
  refcount was previously zero.  If that happens the vmscan.c code simply drops
  the page's refcount again and leaves the page on the LRU.
  
  All this happens under the zone->lru_lock, which is also taken by
  __page_cache_release() and release_pages(), so the vmscan code knows that the
  page has not been returned to the page allocator yet.
  
  
  In terms of implementation, the page counts are now offset by one: a free page
  has page->_count of -1.  This is so that we can use atomic_add_negative() and
  atomic_inc_and_test() to provide put_page_testzero() and get_page_testone().
  
  The macros hide all of this so the public interpretation of page_count() and
  set_page_count() remains unaltered.
  
  The compiler can usually constant-fold the offsetting of page->count.  This
  patch increases an x86 SMP kernel's text by 32 bytes.
  
  The patch renames page->count to page->_count to break callers who aren't
  using the macros.
  
  This patch requires that the architecture implement atomic_add_negative().  It
  is currently present on
  
  	arm
  	arm26
  	i386
  	ia64
  	mips
  	ppc
  	s390
  	v850
  	x86_64
  
  ppc implements this as
  
  #define atomic_add_negative(a, v)	(atomic_add_return((a), (v)) < 0)
  
  and atomic_add_return() is implemented on
  
  	alpha
  	cris
  	h8300
  	ia64
  	m68knommu
  	mips
  	parisc
  	ppc
  	ppc
  	ppc64
  	s390
  	sh
  	sparc
  	v850
  
  so we're looking pretty good.

ChangeSet@1.1612.1.25, 2004-05-14 19:40:23-07:00, akpm@osdl.org
  [PATCH] sparc64: implement atomic_add_negative()

ChangeSet@1.1612.1.24, 2004-05-14 19:40:13-07:00, akpm@osdl.org
  [PATCH] ia64 atomic_inc_and_test fix
  
  From: David Mosberger <davidm@napali.hpl.hp.com>

ChangeSet@1.1612.1.23, 2004-05-14 19:40:02-07:00, akpm@osdl.org
  [PATCH] alpha: atomic_inc_and_test()
  
  From: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
  
  It seems atomic_inc_and_test() is missing on alpha.

ChangeSet@1.1612.1.22, 2004-05-14 19:39:51-07:00, akpm@osdl.org
  [PATCH] Implement atomic_inc_and_test() on various architectures
  
  It's easy to do when the arch provides atomic_inc_return().

ChangeSet@1.1612.1.21, 2004-05-14 19:39:40-07:00, akpm@osdl.org
  [PATCH] Implement atomic_add_negative() on various architectures
  
  Lots of architectures have atomic_add_return() and no atomic_add_negative().
  
  We can implement the latter in terms of the former.

ChangeSet@1.1612.1.20, 2004-05-14 19:39:29-07:00, akpm@osdl.org
  [PATCH] Make users of page->count use the provided macros
  
  I'm about to change the meaning (and name) of page->count.  Go through and fix
  up all those places which are open-coding references to it.

ChangeSet@1.1612.15.1, 2004-05-14 16:48:56-07:00, davem@nuts.davemloft.net
  Merge nuts.davemloft.net:/disk1/BK/network-2.6
  into nuts.davemloft.net:/disk1/BK/net-2.6

ChangeSet@1.1612.14.1, 2004-05-14 15:44:08-07:00, greg@kroah.com
  Merge kroah.com:/home/greg/linux/BK/bleed-2.6
  into kroah.com:/home/greg/linux/BK/driver-2.6

ChangeSet@1.1612.13.1, 2004-05-14 15:21:10-07:00, greg@kroah.com
  Merge kroah.com:/home/greg/linux/BK/bleed-2.6
  into kroah.com:/home/greg/linux/BK/i2c-2.6

ChangeSet@1.1587.18.18, 2004-05-14 15:00:02-07:00, dsaxena@plexity.net
  [PATCH] I2C: Missed ixp42x -> ixp4xx conversion
  
  Forgot to include this with my original patch a few weeks ago...

ChangeSet@1.1587.18.17, 2004-05-14 14:59:26-07:00, bjorn@mork.no
  [PATCH] I2C: "probe" module param broken for it87 in Linux 2.6.6
  
  Jean Delvare <khali@linux-fr.org> writes:
  > So I'd suggest that you simply use the standard exit sequence in the
  > it87 driver (the second one in your current patch). A patch for the 2.4
  > driver would be appreciated as well.
  
  OK.  I've attached a new version of the patch against linux-2.6.6.
  I'll send a patch against current lm_sensors CVS removing the extra
  exit command in a separate mail.
  
  Greg KH <greg@kroah.com> writes:
  > On Wed, May 12, 2004 at 04:38:03PM +0200, Bj?rn Mork wrote:
  >> +	if (!it87_find(&addr)) {
  >> +		printk("it87.o: new ISA address: 0x%04x\n", addr);
  >
  > That printk is wrong (no KERN_ level, or dev_printk() style use).
  > Please fix it in your next revision of this patch.
  
  Errh, I just added it to document my sloppyness.  It was never meant
  to be in the patch I sent you.  Sorry.  Removed in the attached patch.
  The style of these drivers seem to be "just working, making no noise"
  so I assume informational printk's are unwanted.

ChangeSet@1.1587.18.16, 2004-05-14 14:58:42-07:00, jdgaston@snoqualmie.dp.intel.com
  [PATCH] I2C: ICH6/6300ESB i2c support
  
  This patch adds DID support for ICH6 and 6300ESB to i2c-i801.c(SMBus).
  In order to add this support I needed to patch pci_ids.h with the SMBus
  DID's.  To keep things orginized I renumbered the ICH6 and ESB entries
  in pci_ids.h.  I then patched the piix IDE and i810 audio drivers to
  reflect the updated #define's.  I also removed an error from irq.c;
  there was a reference to a 6300ESB DID that does not exist.

ChangeSet@1.1612.3.20, 2004-05-14 14:49:39-07:00, greg@kroah.com
  USB: convert visor to use module_param()

ChangeSet@1.1612.3.19, 2004-05-14 14:47:04-07:00, greg@kroah.com
  USB: convert pl2303 to use module_param()

ChangeSet@1.1612.3.18, 2004-05-14 14:46:03-07:00, greg@kroah.com
  USB: change usbserial core to use module_param()

ChangeSet@1.1612.3.17, 2004-05-14 12:19:20-07:00, david-b@pacbell.net
  [PATCH] USB: hcd-pci suspend tweak
  
  I needed this to get an APM + UHCI config to behave on resume.
  Applies against your BK of last night ... OHCI and EHCI do
  some of this manually, they could be simplified later.

ChangeSet@1.1587.5.29, 2004-05-14 12:13:00-07:00, maneesh@in.ibm.com
  [PATCH] sysfs_rename_dir-cleanup
  
  o The following patch cleans up sysfs_rename_dir(). It now checks the
    return code of kobject_set_name() and propagates the error code to its
    callers. Because of this there are changes in the following two APIs. Both
    return int instead of void.
  
  int sysfs_rename_dir(struct kobject * kobj, const char *new_name)
  int kobject_rename(struct kobject * kobj, char *new_name)

ChangeSet@1.1587.5.28, 2004-05-14 12:12:11-07:00, masbock@us.ibm.com
  [PATCH] add ibmasm driver warning message
  
  [note, I changed this a bit to be nicer on the system log, greg k-h]

ChangeSet@1.1612.3.16, 2004-05-14 11:57:21-07:00, david-b@pacbell.net
  [PATCH] USB: ohci resume fix
  
  Prakash K. Cheemplavam wrote:
  > David Brownell wrote:
  >
  >>> There appear lines like
  >>>
  >>> usb usb2: string descriptor 0 read error: -108
  >>>
  >>> bug or feature? They weren't there with 2.6.6-mm1. I have no usb2.0
  >>> stuff to actually test. My usb1 stuff seems to work though.
  >>
  >> Bug; minor, since the only real symptom seems to be messages like
  >> that.  Ignore them for now, I'll make a patch soonish.
  >
  > Ok, good. Thanks for the explanation of what is going on, though I don't
  > can make too much out of it. ;-)
  
  The short version is:  it's missing this patch.

ChangeSet@1.1612.3.15, 2004-05-14 11:52:44-07:00, baldrick@free.fr
  [PATCH] USB: compile fix for usbfs snooping

ChangeSet@1.1612.3.14, 2004-05-14 11:49:41-07:00, greg@kroah.com
  USB: remove get_usb_serial() as it's pretty much unneeded
  
  It also could hide real bugs, and that's not good.  And the name
  implies that a reference is grabbed, and that's not true at all.

ChangeSet@1.1612.11.1, 2004-05-14 14:10:10-04:00, jgarzik@redhat.com
  [netdrvr] remove rcpci driver, for Red Creek Hardware VPNs
  
  Pete Popov, the author says
  
  This driver is obsolete and broken in 2.4 (and I'm pretty sure in 2.6).
  The hardware has not been available for a while. I wrote the driver
  for 2.2 but after I left RedCreek (which went out of business),
  someone in the community updated it to 2.4, but I don't think that
  person even had the hardware to test it so the driver remained broken
  in 2.4. So my recommendation is that it's really time to remove this
  driver from the kernel tree. Just my opinion but I thought I'd share
  it with you.
  [...]
  I can't imagine that there are any users because 2.4 was broken last
  time I checked (admittedly that was a year ago).

ChangeSet@1.1612.3.13, 2004-05-14 10:54:51-07:00, greg@kroah.com
  USB: remove serial_paranoia_check() function
  
  If this is hiding real problems, we need to find them.

ChangeSet@1.1612.3.12, 2004-05-14 10:53:59-07:00, greg@kroah.com
  USB: removed port_paranoia_check() call for usb serial drivers.
  
  Pretty useless stuff.  If this was hiding anything real, we need to find out.

ChangeSet@1.1612.3.11, 2004-05-14 10:52:34-07:00, greg@kroah.com
  USB: remove magic number field from struct usb_serial as it's pretty useless.

ChangeSet@1.1612.3.10, 2004-05-14 10:50:40-07:00, greg@kroah.com
  USB: remove magic number field from usb_serial_port as it's pretty useless.

ChangeSet@1.1612.6.16, 2004-05-14 10:34:27-07:00, y.rutschle@indigovision.com
  [ARM] Fix broken IXP4xx GPIO0 IRQ handling 
  
  Patch from Yves Rutschle

ChangeSet@1.1612.10.1, 2004-05-14 13:28:03-04:00, hch@lst.de
  [netdrvr wan] remove comx driver
  
  the drivers have been broken since pre-2.4.0, like referencing a symbol
  that was made procfs-internal in 2.3.x, haven't received maintainer
  updates for about the same period and MOD_{INC,DEC}_USE_COUNT usage that
  pretty much unfixable (inside warts of _horrible_ procfs abuse).

ChangeSet@1.1620, 2004-05-14 14:16:04+01:00, aia21@cantab.net
  NTFS: 2.1.11 - Rename uchar_t to ntfschar.

ChangeSet@1.1619, 2004-05-14 12:30:56+01:00, aia21@cantab.net
  NTFS: 2.1.11 - Driver internal cleanups.

ChangeSet@1.1612.9.5, 2004-05-13 22:46:01-04:00, jgarzik@redhat.com
  [libata] kill ATA_QCFLAG_POLL flag
  
  The standard ATA bit nIEN in the Device Control register serves as
  the indicator for whether we are polling or not.  As it mirrors
  ATA_QCFLAG_POLL completely, eliminate that in favor of testing
  ATA_NIEN bit.

ChangeSet@1.1612.9.4, 2004-05-13 22:39:17-04:00, jgarzik@redhat.com
  [libata] random minor bug fixes
  
  * Only call ata_sg_setup{_one} if ATA_QCFLAG_SG is set.  Preparation
    for future use, as currently ATA_QCFLAG_SG is always set when
    ata_qc_issue is called.
  
    This change in theory is incorrect for Promise TX/SX4 drivers,
    since those drivers set up the Promise-specific packet in their
    ->fill_sg hook, which is now called conditionally.
  
    A FIXME that doesn't affect anything, for now.
  
  * ATA_PROT_ATAPI and ATA_PROT_ATAPI_DMA command issue need to be
    differentiated.
  
  * Create and use ata_qc_set_polling() to consistently set/clear the
    flags associated with using polling instead of interrupts.

ChangeSet@1.1612.9.3, 2004-05-13 21:26:59-04:00, jgarzik@redhat.com
  [libata] more ATAPI work - translate SCSI CDB to ATA PACKET
  
  Now that we can specify ATAPI as a taskfile protocol, we can utilize
  the existing SCSI->ATA translation infrastructure to build an ATA
  PACKET command quickly and easily.

ChangeSet@1.1612.9.2, 2004-05-13 21:15:42-04:00, jgarzik@redhat.com
  [libata] use new ->bmdma_{start,setup} method to properly support ATAPI

ChangeSet@1.1612.9.1, 2004-05-13 20:35:48-04:00, jgarzik@redhat.com
  [libata] add new ->bmdma_setup hook
  
  In order to support some new taskfile protocols, particularly ATAPI,
  the setup-and-start-DMA hook needs to be split into its component
  pieces, 'setup' and 'start'.
  
  For PCI IDE-style controllers, most of the code is moved into the
  'setup' portion, with the 'start' portion only flipping a single
  bit in hardware.

ChangeSet@1.1612.6.15, 2004-05-13 17:34:01-07:00, dsaxena@xanadu.(none)
  [ARM] Add config help and documentation for Intel IXP4xx platforms
  
  Patch from Deepak Saxena
  

ChangeSet@1.1612.3.9, 2004-05-13 16:04:18-07:00, david-b@pacbell.net
  [PATCH] USB: usbhid calls itself "hid"

ChangeSet@1.1612.3.8, 2004-05-13 16:03:50-07:00, tony@atomide.com
  [PATCH] USB: Merge support for Keyspan UPR-112 USB serial adapter from 2.4 to 2.6
  
  Following patch merges the support for Keyspan UPR-112 USB serial adapter
  from 2.4 to 2.6.

ChangeSet@1.1612.6.14, 2004-05-13 15:41:14-07:00, dsaxena@xanadu.(none)
  MTD driver for Intel IXP4xx platform (from MTD CVS tree)
  
  Patch from Deepak Saxena <dsaxena@plexity.net>

ChangeSet@1.1612.3.7, 2004-05-13 15:40:30-07:00, greg@kroah.com
  USB: add snooping capability to usbfs for control messages.
  
  Also fix up some of the other printk() calls to be dev_* calls.

ChangeSet@1.1612.6.13, 2004-05-13 15:12:54-07:00, dsaxena@xanadu.(none)
  [ARM] Remove Documentation/ARM/XScale
  
  Patch from Deepak Saxena <dsaxena@plexity.net>
  
  Documentation/ARM/XScale has not been updated by anyone in a long time;
  therefore, it is being deleted until someone volunteers to provide
  updated versions.
  

ChangeSet@1.1612.3.6, 2004-05-13 14:15:01-07:00, akpm@osdl.org
  [PATCH] USB: fix ohci-hcd build error
  
  "Matt H." <lkml@lpbproductions.com> wrote:
  >
  > Just attempted to compile 2.6.6-mm2 and got this error
  >
  >    CC [M]  drivers/usb/core/driverfs.o
  >    CC [M]  drivers/usb/core/hcd-pci.o
  >    LD [M]  drivers/usb/core/usbcore.o
  >    LD      drivers/usb/host/built-in.o
  >    CC [M]  drivers/usb/host/ehci-hcd.o
  >    CC [M]  drivers/usb/host/ohci-hcd.o
  >  In file included from drivers/usb/host/ohci-hcd.c:129:
  >  drivers/usb/host/ohci-hub.c: In function `ohci_rh_resume':
  >  drivers/usb/host/ohci-hub.c:313: error: `hcd' undeclared (first use in this
  >  function)
  
  hm, not sure what's happened there...

ChangeSet@1.1612.3.5, 2004-05-13 14:14:34-07:00, stern@rowland.harvard.edu
  [PATCH] USB: Don't delete interfaces until all are unbound
  
  On Thu, 13 May 2004, Duncan Sands wrote:
  
  > No, but the pointer for another (previous) interface may just have been
  > set to NULL, causing an Oops when usb_ifnum_to_if loops over all
  > interfaces.
  
  Of course!  I trust you won't mind me changing your suggested fix
  slightly.  This should do an equally good job of repairing things, and it
  will prevent other possible invalid references as well.

ChangeSet@1.1612.3.4, 2004-05-13 14:14:05-07:00, baldrick@free.fr
  [PATCH] USB: Patch to remove interface indices from devio.c
  
  > I went ahead and created a patch to change all the places where devio.c
  > uses an interface index.  Now it always uses just the interface number.
  > Does this look all right to you?  I don't have a convenient way to test
  > it.
  
  Hi Alan, thanks for doing this.  It looks and works OK.  I added some name
  changes: all struct usb_interface pointers are now called intf; and, when
  reasonable, variables holding interface numbers are now all called ifnum.
  This drowns your original changes in a sea of churning names, I hope you
  don't mind.

ChangeSet@1.1612.3.3, 2004-05-13 14:13:38-07:00, david-b@pacbell.net
  [PATCH] USB: missing probe() diagnostics for CDC Ethernet
  
  This patch should help correct the "missing diagnostics with
  CONFIG_USB_DEBUG during CDC Ethernet probe()" issue.  Some
  folk are having problems with firmware that doesn't respond
  properly to descriptor fetches -- which is unnecessarily
  confusing because the diagnostics aren't being printed.

ChangeSet@1.1612.8.3, 2004-05-13 10:40:24-07:00, dsaxena@xanadu.(none)
  prpmc1100-setup.c, ixdp425-setup.c, coyote-setup.c:
    Add INIT_MACHINE() to ixp4xx platform setup code

ChangeSet@1.1612.8.2, 2004-05-13 10:37:50-07:00, dsaxena@xanadu.(none)
  common.c:
    Remove unused flag variable from ixp4xx_timer_interrupt

ChangeSet@1.1612.6.11, 2004-05-13 18:27:25+01:00, ben-linux@org.rmk.(none)
  [ARM PATCH] 1876/1: Removed apostrophes from asembler source
  
  Patch from Ben Dooks
  
  Removed two 's from assembly code (binutils has problems
  with these)
  

ChangeSet@1.1612.6.10, 2004-05-13 18:23:16+01:00, ben-linux@org.rmk.(none)
  [ARM PATCH] 1875/1: SMDK2410 machine support
  
  Patch from Ben Dooks
  
  Initial support for SMDK2410 and variants

ChangeSet@1.1612.8.1, 2004-05-13 10:20:39-07:00, dsaxena@xanadu.(none)
  common.c:
    new file

ChangeSet@1.1612.6.9, 2004-05-13 18:19:26+01:00, ben-linux@org.rmk.(none)
  [ARM PATCH] 1874/1: S3C2410 - fix for selection of low-level debug UART
  
  Patch from Ben Dooks
  
  Fix selection configuration entry for UART number for low-level debug

ChangeSet@1.1612.6.8, 2004-05-13 14:41:47+01:00, jelenz@edu.rmk.(none)
  [ARM PATCH] 1851/1: sa1100 fb support for collie
  
  Patch from John Lenz
  
  Add the sa1100fb_mach_info structure for collie

ChangeSet@1.1612.6.7, 2004-05-13 14:05:27+01:00, rmk@flint.arm.linux.org.uk
  Merge bk://dsaxena.bkbits.net/linux-2.6-for-rmk
  into flint.arm.linux.org.uk:/usr/src/bk/linux-2.6-ds

ChangeSet@1.1612.7.9, 2004-05-13 12:59:34+01:00, nico@org.rmk.(none)
  [ARM PATCH] 1871/1: faster IRQ retrieval for PXA27x
  
  Patch from Nicolas Pitre
  
  On the PXA27x it's also possible to get the IRQ info from CP6
  and it has a much lower latency than the memory mapped equivalent.

ChangeSet@1.1612.7.8, 2004-05-13 12:55:33+01:00, nico@org.rmk.(none)
  [ARM PATCH] 1865/1: DMA changes for PXA27x
  
  Patch from Nicolas Pitre
  

ChangeSet@1.1612.7.7, 2004-05-13 12:51:39+01:00, nico@org.rmk.(none)
  [ARM PATCH] 1864/1: separate PXA25x and PXA27x specific code
  
  Patch from Nicolas Pitre
  

ChangeSet@1.1612.7.6, 2004-05-13 12:47:12+01:00, nico@org.rmk.(none)
  [ARM PATCH] 1863/2: definitions and mapping for the Intel PXA27x internal registers
  
  
  Patch from Nicolas Pitre
  
  This reworks PXA register mapping to accommodate the extra registers
  of the PXA27x chips (aka Bulverde).

ChangeSet@1.1612.7.5, 2004-05-13 12:43:02+01:00, nico@org.rmk.(none)
  [ARM PATCH] 1842/1: fix/clarify some comments
  
  Patch from Nicolas Pitre
  

ChangeSet@1.1612.7.4, 2004-05-13 12:27:15+01:00, jkluebs@com.rmk.(none)
  [ARM PATCH] 1848/1: PXA suspend/resume improvements
  
  Patch from John K Luebs
  
  This adds support to preserve the GPIO level across a suspend
  and resume for PXA machine types. Removes the hack to preserve
  the FFUART state as this is unnecessary with the 2.6 serial
  driver code.

ChangeSet@1.1612.7.3, 2004-05-13 12:22:56+01:00, tony@com.rmk.(none)
  [ARM PATCH] 1854/1: Remove old board specific OMAP files
  
  Patch from Tony Lindgren
  
  Removes old duplicate board specific files that have been renamed to
  board-*.c

ChangeSet@1.1612.7.2, 2004-05-13 12:19:05+01:00, tony@com.rmk.(none)
  [ARM PATCH] 1853/1: Update OMAP low level debug functions
  
  Patch from Tony Lindgren
  
  Changes OMAP low level debug function to allow virtual IO != physical
  IO.  Also removes waituart checking, as it only worked for first
  serial port.

ChangeSet@1.1612.7.1, 2004-05-13 12:14:47+01:00, icampbell@com.rmk.(none)
  [ARM PATCH] 1827/1: PXAFB patch updated based on comments in 1826
  
  Patch from Ian Campbell
  
  The patch includes the PXA FB driver discussed recently on the
  arm-kernel mailing list, I have incorporated your (RMK's) comments
  from patch 1826.

ChangeSet@1.1612.6.6, 2004-05-12 15:24:58-07:00, dsaxena@xanadu.(none)
  pci_ids.h:
    IXP4xx support

ChangeSet@1.1612.6.5, 2004-05-12 15:02:42-07:00, dsaxena@xanadu.(none)
  Add IXP4xx support

ChangeSet@1.1612.6.4, 2004-05-12 14:59:16-07:00, dsaxena@xanadu.(none)
  proc-xscale.S, Kconfig:
    IXP4xx support

ChangeSet@1.1612.6.3, 2004-05-12 14:58:18-07:00, dsaxena@xanadu.(none)
  head.S, Makefile:
    IXP4xx support

ChangeSet@1.1612.6.2, 2004-05-12 14:57:06-07:00, dsaxena@xanadu.(none)
  entry-armv.S, debug.S, bios32.c:
    IXP4xx support

ChangeSet@1.1612.6.1, 2004-05-12 14:55:17-07:00, dsaxena@xanadu.(none)
  First of a set of eight patches that adds support for Intel's
  IXP4xx family of network processors. The code still needs some
  cleanup here and there, but it's to the point that it's should
  be OK to push upstream.
  
  Some of the remaining TODOs:
  
  - Cleanup GPIO IRQ handling for edge-trigered HW (none exists ATM)
  - Add IDE driver for various platforms
  - Misc cleanups
  
  This patch adds the changes to arch/arm/Makefile and arch/arm/Kconfig

ChangeSet@1.1612.5.2, 2004-05-12 12:03:46-07:00, shemminger@osdl.org
  [BRIDGE]: Allow multiple interfaces with same address (necessary for VLAN's).

ChangeSet@1.1612.3.2, 2004-05-12 10:06:23-07:00, greg@kroah.com
  Merge kroah.com:/home/greg/linux/BK/bleed-2.6
  into kroah.com:/home/greg/linux/BK/usb-2.6

ChangeSet@1.1587.5.27, 2004-05-11 16:43:50-07:00, maneesh@in.ibm.com
  [PATCH] kobject/sysfs race fix
  
  The following patch fixes the race involved between unregistering a kobject
  and simultaneously opeing a corresponding attribute file in sysfs.
  
  Ideally sysfs should take a ref.  to the kobject as long as it has dentries
  referring to the kobjects, but because of current limitations in
  module/kobject ref counting, sysfs's pinning of kobject leads to
  hang/delays in rmmod of certain modules.  The patch checks for unhashed
  dentries in check_perm() while opening a sysfs file.  If the dentry is
  still hashed then it goes ahead and takes the ref to kobject.  This done
  under the per dentry lock.  It does this in the inline routine
  sysfs_get_kobject(dentry).

ChangeSet@1.1587.5.26, 2004-05-11 16:35:42-07:00, James.Bottomley@steeleye.com
  [PATCH] fix dev_printk to work even in the absence of an attached driver

ChangeSet@1.1587.5.25, 2004-05-11 16:31:46-07:00, maneesh@in.ibm.com
  [PATCH] kobject_set_name - error handling
  
  1) kobject_set_name-cleanup-01.patch
  
  This patch corrects the following by checking the reutrn code from
  kobject_set_name().
  
  bus_add_driver()
  bus_register()
  sys_dev_register()
  
  
  
  o The following patch cleansup the kobject_set_name() users. Basically checking
    return code from kobject_set_name(). There can be error returns like -ENOMEM
    or -EFAULT from kobject_set_name() if the name length exceeds KOBJ_NAME_LEN.

ChangeSet@1.1587.3.54, 2004-05-11 16:19:59-07:00, colin@colino.net
  [PATCH] USB: cosmetic fixes for cdc-acm

ChangeSet@1.1587.3.53, 2004-05-11 16:03:07-07:00, david-b@pacbell.net
  [PATCH] USB: OHCI root hub suspend/resume/wakeup
  
  This patch goes on top of the previous two, and the hcd-0506 patch:
  
    - Moves root hub suspend/resume code out of PCI-specific bus glue
      into generic hub code.  That way it's easy to re-use it even
      for non-PCI implementations like SA1111, OMAP, and LH7A404.
      (Plus, given CONFIG_USB_SUSPEND, it can be invoked with sysfs.)
  
    - Root hub suspend is a lot more careful, as is root hub resume.
      Pending transactions are now shut down more consistently; and
      more registers are re-initialized on resume.
  
    - The PCI bus glue is now left with truly generic PCI stuff, plus
      some PMAC-specific stuff (which doesn't include irq disabling
      any more, hcd-0506 moves that up a level in the stack).
  
    - Remote wakeup support is basically working for the root hub.
      (given CONFIG_USB_SUSPEND to suspend devices and enable it).
  
    - Idle HCs will now automatically suspend themselves, and resume
      as necessary.  This saves a certain amount of power on most
      systems, and matches what UHCI has been doing for a while.
  
  The large size of this patch is mostly because of moving that
  root hub suspend/resume code out of the PCI-specific glue.

ChangeSet@1.1587.3.52, 2004-05-11 15:57:51-07:00, david-b@pacbell.net
  [PATCH] USB: khubd turns port power back on after reset
  
  This goes with the OHCI anti-deadlock patch, and is what
  ensures that when a root hub loses power during suspend,
  khubd can turn port power back on so devices can enumerate.

ChangeSet@1.1587.3.51, 2004-05-11 15:57:21-07:00, david-b@pacbell.net
  [PATCH] USB: OHCI cleanups
  
  This splits out a few obvious fixes, to help shrink a PM patch:
  
    - when the HC is quiescing, don't schedule any more EDs
      or re-activate any after unlink completion.
  
    - when the HC is suspended, don't access registers through
      sysfs either.
  
    - simplify locking and call for donelist processing

ChangeSet@1.1587.3.50, 2004-05-11 15:56:50-07:00, david-b@pacbell.net
  [PATCH] USB: OHCI resume/reset stops deadlocking in PM code
  
  System-wide PM resume now happily deadlocks if one of the
  resuming devices tries to remove devices which vanished
  during the suspend(*).  IMO that's unreasonable both
  because devices can/do vanish, and because 2.4 didn't
  deadlock in those cases; but no patch to fix that has been
  merged.  The result is that ever since merging the "new" PM
  code, some OHCI-based systems deadlock on resume.
  
  So this patch handles the "lost power during resume" case
  differently:  it doesn't disconnect the root hub (or its
  children) directly.  Instead, it does part of that work
  immediately, and defers the rest to khubd:
  
    - add a "pending" list for live urbs, and use it after reset
      to abort pending URBs (and reclaim "live" EDs/TDs)
    - immediately mark all devices NOTATTACHED, so any operations
      on the devices before khubd handles the disconnects, including
      resume() callbacks, will fail
    - kick root hub so it can do the cleanup
  
  It also handles "fminterval" init/reinit a bit better, mostly
  to work better in some remote wakeup scenarios addressed in
  later patches:
  
     - save any initial value the boot firmware provided
     - use it during initialization (and eventually, remote wakeup)
  
  Other changes:
  
    - use better jiffies calculation for scheduled delays
    - the allocator does more of the one-time initialization
    - initialize hcd.can_wakeup according to boot firmware
    - move some inlines to the header
    - minor cleanups
  
  
  (*) http://marc.theaimsgroup.com/?l=linux-kernel&m=106606272103414&w=2
       reported against 2.6.0-test7.

ChangeSet@1.1587.3.49, 2004-05-11 15:45:25-07:00, oliver@neukum.org
  [PATCH] USB: fixes of assumptions about waitqueues
  
  quoting Linus:
  
  --
  > so there is no need to recheck the bit in do/while loop, because
  > there is no false wakeups now.
  
  You should never assume this. You should assume that there are _always_
  false wakeups.
  
  Why? Because Linux has always allowed people to leave wait-queues active,
  without being "atomic". For example, the tty read/write layer used to
  (still does?)  add itself on the wait-queue _once_, and then leave itself
  on the wait-queue while in a loop it does copies from/to user space.
  --
  
  Unfortunately, this means us. Here's the first fix. Comments?
  
    - make sure timeouts are observed even if somebody left us on a queue

ChangeSet@1.1587.3.48, 2004-05-11 15:41:37-07:00, david-b@pacbell.net
  [PATCH] USB: more functional HCD PCI PM glue
  
  This patch makes the usbcore PCI suspend/resume logic behave
  much better.  In particular:
  
    - Even HCs without PCI PM support will normally be able
      to support global suspend, saving power ... and will
      need to resume later.  Let them try to suspend; lots
      of not-that-old USB controllers don't have PM caps.
  
    - Saner order for the boilerplate PCI stuff.  It also
      explicitly disables the IRQ and DMA, which aren't
      available in D1/D2/D3 states anyway.
  
    - Uses pci_enable_wake() when the root hub supports
      remote wakeup.  Didn't fully work in one test setup;
      that controller's PME# was evidently ignored.  (Not
      enabled unless CONFIG_USB_SUSPEND.)
  
  It worked for me with brief tests with the current 2.6.6-rc
  uhci-hcd with one old UHCI; more extensive ones with various
  OHCIs (using patches which I'll post soonish); and not at all
  with EHCI (where PM hasn't ever worked).
  
  Those of you who've been having PM problems might find
  this helpful as-is, though I think that unless you're
  using UHCI you'll also need an HCD patch.
  
  - Dave

ChangeSet@1.1618, 2004-05-11 23:39:47+01:00, aia21@cantab.net
  NTFS: Really final white space cleanups.

ChangeSet@1.1587.3.47, 2004-05-11 15:34:08-07:00, stern@rowland.harvard.edu
  [PATCH] USB: Accept devices with funky interface/altsetting numbers
  
  Now that all the USB drivers have been audited, we can safely accept
  devices that have noncompliant numbering for their interfaces or
  altsettings.  This patch skips bad or duplicate descriptors, allows gaps
  in the numbering, accepts more or fewer interfaces than bNumInterfaces,
  and logs warnings describing all these things.  Also, the debugging log
  messages have been improved by David Brownell.
  
  This should please a sizeable group of users.

ChangeSet@1.1587.3.46, 2004-05-11 15:33:38-07:00, david-b@pacbell.net
  [PATCH] USB: EHCI power management updates
  
  This patch updates EHCI suspend/resume so that its essential
  components work on a few different implementations:
  
     - make root hub suspend/resume work
     - make remote wakeup work (given CONFIG_USB_SUSPEND patch)
     - separate root hub suspend/resume from PCI suspend/resume
     - say if controller supports remote wakeup (on this system)
     - sysfs register dump unavailable if controller is suspended
  
  Plus a handful of minor cleanups.  Please merge, along with the
  "hcd-0506.patch" I sent last week.
  
  Tested by modifying sysfs power/state files, since ACPI doesn't
  work on this system (so I can't test system suspend/resume):
  
    - For root hub(*) ... suspend/resume works, also remote wakeup
    - PCI controller ... suspend/resume works, remote wakeup
      signals PME# (according to "lspci -vv"), but that's ignored
      on my test sytem
  
  Regardless of whether USB was active, "echo 1 > /proc/acpi/sleep"
  produced a system that wouldn't resume, and the same result
  came from "echo standby > /sys/power/state".  So that's about
  as far as I can take this testing for now.
  
  - Dave
  
  (*) Doing this relies on the CONFIG_USB_SUSPEND patch.  Otherwise
       no USB devices respond to sysfs power/state updates.  The
       PCI suspend/resume is a superset of this.

ChangeSet@1.1587.3.45, 2004-05-11 15:33:09-07:00, stern@rowland.harvard.edu
  [PATCH] USB Gadget: Fix file-storage gadget Request Sense length
  
  On Fri, 7 May 2004, kernel@metro.cx wrote:
  > Hi All,
  >
  > I don't know where else to report this, but I found a very very very
  > minor bug in the usb gadgets drivers, specifically the file_storage.c
  > mass storage driver.
  >
  > In the function do_request_sense(..) it says:
  >
  > buf[7] = 18 - 7;                        // Additional sense length
  >
  > Whereas (according to page 38 of the USB mass storage class, UFI command spec,
  > http://www.usb.org/developers/devclass_docs#approved) this clearly neads
  > to be equal to 10, not 11.
  >
  > I checked with the 2.6.5 source, it is still there. Hope someone will find this usefull, although most USB hosts seem to ignore length bits alltogether anyway....
  >
  > Koen Martens
  
  You are quite right; thank you for pointing this out.  Greg, please apply
  the patch below.

ChangeSet@1.1587.3.44, 2004-05-11 15:32:38-07:00, lcapitulino@prefeitura.sp.gov.br
  [PATCH] USB: fix media/dsbr100.c unused variable.
  
  drivers/usb/media/dsbr100.c: In function `usb_dsbr100_probe':
  drivers/usb/media/dsbr100.c:239: warning: unused variable `videodev'

ChangeSet@1.1617, 2004-05-11 23:16:06+01:00, aia21@cantab.net
  NTFS: Only build logfile.o if building the driver with read-write support.

ChangeSet@1.1587.12.91, 2004-05-11 14:59:36-07:00, arjanv@redhat.com
  [PATCH] PCI crash with pciless box or pci=off workaround on Vaio's
  
  From: Alan Cox <alan@redhat.com>
  
  Reasoning
  
  
  - Earlier in boot if we find a PCI bus we set raw_pci_ops to the function
    table to use for PCI accesses.
  - When we enter this function we now check if we have such a method
  - If not then we know it will otherwise crash because the call sequence
    through the code goes
  
          pci_irq_init
          pirq_peer_trick
          pci_scan_bus_parented
          which always leads down into the device scan and a pci config access
                  via raw_pci_ops
  
    The moment the scan searches for a device it has to crash as it has no
    access methods.
  
  - The other case which does nothing but pci_fixup_irqs is a no-op with no
    PCI devices
  
  - THUS any situation that is changed by the raw_pci_ops check was
    previously an oops case anyway or did nothing anyway.
  
  
  Tested with pci=off and without

ChangeSet@1.1587.12.90, 2004-05-11 14:54:19-07:00, herbert@gondor.apana.org.au
  [PATCH] acpiphp_glue.c oops fix
  
  It oopses during modprobe becasue the first load of acpiphp didn't clean up
  properly.

ChangeSet@1.1587.12.89, 2004-05-11 14:50:43-07:00, lcapitulino@prefeitura.sp.gov.br
  [PATCH] PCI Hotplug: fix wrong var used in hotplug/shpchp_ctrl.c.
  
  Zhenmin's checker tool <zli4@cs.uiuc.edu> detected this:
  
   9. /drivers/pci/hotplug/shpchp_ctrl.c, Line 1575:
   err("%s: Failed to disable slot, error code(%d)\n", __FUNCTION__, rc);
  
   Maybe change to:
   err("%s: Failed to disable slot, error code(%d)\n", __FUNCTION__,
   retval);
  
   I think it is right because at line 1564, the slot is turned off, and
  in this line (1575) is checked the status to see if we got an error; if
  so, the error number is shown. This number is in 'retval', not in 'rc'
  ('rc' does have the return of configure_new_device()).
  
   The patch bellow fixes that:

ChangeSet@1.1587.12.88, 2004-05-11 14:50:01-07:00, eike-hotplug@sf-tec.de
  [PATCH] SHPC PCI Hotplug: fix cleanup_slots again...
  
  Am Donnerstag, 6. Mai 2004 02:48 schrieb Sy, Dely L:
  > On Fri, 30 Apr 2004 12:31:18 +0200, Rolf Eike Beer wrote:
  
  >> -
  >> -static int cleanup_slots (struct controller * ctrl)
  >> +static void cleanup_slots(const struct controller *ctrl)
  >> {
  >> -	struct slot *old_slot, *next_slot;
  >> +	struct slot *old_slot;
  >>
  >> 	old_slot = ctrl->slot;
  >> 	ctrl->slot = NULL;
  >>
  >> 	while (old_slot) {
  >> -		next_slot = old_slot->next;
  >> -		pci_hp_deregister (old_slot->hotplug_slot);
  >> -		kfree(old_slot->hotplug_slot->info);
  >> -		kfree(old_slot->hotplug_slot->name);
  >> -		kfree(old_slot->hotplug_slot);
  >> -		kfree(old_slot);
  >> -		old_slot = next_slot;
  >> +		pci_hp_deregister(old_slot->hotplug_slot);
  >> +		old_slot = old_slot->next;
  >>  	}
  >
  > The variable next_slot and its assignment should be kept, for once
  > pci_hp_deregister() is called and the release callback function, which
  > you added, may come in and clean up old_slot structure before the next
  > ptr is saved.  The code should be:
  >
  > static void cleanup_slots(const struct controller *ctrl)
  > {
  > 	struct slot *old_slot, *next_slot;
  >
  > 	old_slot = ctrl->slot;
  >  	ctrl->slot = NULL;
  >
  >  	while (old_slot) {
  > 		next_slot = old_slot->next;
  > 		pci_hp_deregister (old_slot->hotplug_slot);
  > 		old_slot = next_slot;
  >  	}
  > }
  
  Yes, good point. Greg, this patch makes does it. Please apply on top of the
  other stuff.

ChangeSet@1.1587.12.87, 2004-05-11 14:46:07-07:00, eike-hotplug@sf-tec.de
  [PATCH] PCI Express, SHPCHP: fix freeing wrong resources

ChangeSet@1.1587.12.86, 2004-05-11 14:44:42-07:00, eike-hotplug@sf-tec.de
  [PATCH] CompactPCI: remove two useless functions
  
  This 2 get_* functions do the same the hotplug core does if this functions
  would not be there. Kill Bil^H^H^Hem!
  
  Eike

ChangeSet@1.1587.12.85, 2004-05-11 14:44:02-07:00, eike-hotplug@sf-tec.de
  [PATCH] CompactPCI: remove slot_paranoia_check and get_slot
  
  slot_paranoia_check is only another kind of checking everything for NULL.
  Removing this leads to function get_slot is reduced to a simple cast, so this
  function can be killed also.
  
  Eike

ChangeSet@1.1587.12.84, 2004-05-11 14:43:25-07:00, eike-hotplug@sf-tec.de
  [PATCH] CompactPCI: remove useless NULL checks
  
  If the "struct hotplug_slot *" parameter is ever NULL then something bogus is
  going on, we should not hide this bug by catching it. Also the name used in
  debug messages is fixed.
  
  Eike

ChangeSet@1.1587.12.83, 2004-05-11 14:42:00-07:00, eike-hotplug@sf-tec.de
  [PATCH] CompactPCI: use goto for error handling
  
  Convert cpci_hotplug_core.c::cpci_hp_register_bus to use goto for error
  handling.
  
  Eike

ChangeSet@1.1587.12.82, 2004-05-11 14:40:08-07:00, eike-hotplug@sf-tec.de
  [PATCH] CompactPCI: remove two useless checks
  
  This two checks are useless: cpci_hp_register_bus is only called from two
  places, one has constant arguments, the other one passes the module
  parameters which are checked for this condition on module load. And the bus
  argument of cpci_hp_unregister_bus can never be NULL, all functions calling
  this function use fields of the bus struct before so they will oops if it
  would ever be NULL.
  
  Eike

ChangeSet@1.1587.12.81, 2004-05-11 14:39:27-07:00, eike-hotplug@sf-tec.de
  [PATCH] CompactPCI: remove set_attention_status
  
  This one removes useless code and fixes the issue that the return code of
  set_attention_status for cpcihp is always 0 even if cpci_set_attention_status
  returns an error.
  
  Eike

ChangeSet@1.1587.3.43, 2004-05-11 14:31:48-07:00, hannal@us.ibm.com
  [PATCH] USB: Add class support to drivers/usb/misc/tiglusb.c

ChangeSet@1.1587.5.24, 2004-05-11 14:31:21-07:00, hannal@us.ibm.com
  [PATCH] Add class support to drivers/net/wan/cosa.c
  
  This patch adds sysfs class support to the Cosa driver. I have verified it
  compiles but do not have the hardware to test it. If someone could that
  would be helpful.

ChangeSet@1.1587.18.15, 2004-05-11 13:46:12-07:00, khali@linux-fr.org
  [PATCH] I2C: Rename hardware monitoring I2C class
  
  Quoting myself:
  
  > Mmm, I once proposed that I2C_ADAP_CLASS_SMBUS would be better renamed
  > I2C_ADAP_CLASS_SENSORS (so I2C_CLASS_SENSORS now). What about that? I
  > think it would be great to embed that change into your patch, so that
  > the name changes only once.
  >
  > BTW, if HWMON is prefered to SENSORS, this is fine with me too, I
  > have no strong preference.
  
  Below is a patch that does that. I finally went for HWMON. Yes, it's
  big, but it's actually nothing more than
  s/I2C_CLASS_SMBUS/I2C_CLASS_HWMON/ (thanks perl -wip :)).

ChangeSet@1.1587.18.14, 2004-05-11 13:45:12-07:00, R.S.Bultje@students.uu.nl
  [PATCH] I2C: new i2c video decoder calls: saa7111 driver
  
  Attached patch implements the i2c calls in the saa7111 driver.
  
  The driver is still compatible with old behaviour, so the zr36067 driver
  (the original user of the saa7111 module) doesn't need any changes.  I'll
  probably gradually make everything use DECODER_INIT instead of 0 (that was
  a nice hack back then) somewhere later.
  
  Can I just remove '0' later on? Or are there official ABI rules for
  stable kernel versions?

ChangeSet@1.1587.18.13, 2004-05-11 13:44:19-07:00, R.S.Bultje@students.uu.nl
  [PATCH] I2C: new i2c video decoder calls
  
  Attached patch adds three new calls to the i2c video decoder API.  The changes
  were requested by Michael (CC'ed) and approved by Gerd Knorr (v4l maintainer,
  CC'ed).
  
  Short explanation:
  
  * INIT is a general initialization call with optional initialization data.
    Reason for this is that several i2c decoders (or general: clients) are being
    used by several adapters (main drivers), and in some cases, one adapter
    simply needs different settings than the other, either because the adapter
    is completely different or because the card was reverse engineered in a way
    that doesn't allow multiple adapters to run using the same original
    initialization data.  Michael faces such a problem right now.  Both he and
    me lack time to properly sit together and work out the exact details or a
    proper way to merge.
  
  * VBI_BYPASS and GPIO set specific pins on the decoder.  This will be used
    in the saa7111 driver.  My driver (zr36067, original user of the saa7111
    driver) doesn't use any of this, but Michael's does.

ChangeSet@1.1587.18.12, 2004-05-11 13:43:55-07:00, khali@linux-fr.org
  [PATCH] I2C: kill duplicate includes in i2c bus drivers
  
  Following a suggestion of Arthur Othieno, here is a trivial patch that
  kills duplicate inclusions of config.h in four i2c bus drivers.
  
  At first I was thinking of also removing inclusions of config.h wherever
  it doesn't seem to be necessary but Eugene doesn't seem to think it's a
  good idea. So I may give it a try later (in 2.7), but for now this
  simple patch will be enough.

ChangeSet@1.1587.5.23, 2004-05-11 13:32:24-07:00, greg@kroah.com
  Module attributes: fix build error if CONFIG_MODULE_UNLOAD=n
  
  Thanks to Andrew Morton for pointing this out to me.

ChangeSet@1.1587.3.42, 2004-05-11 11:34:29-07:00, greg@kroah.com
  USB: make functions static in usb drivers that should be
  
  Thanks to Tridge's findstatic.pl script for helping find these.

ChangeSet@1.1612.2.12, 2004-05-11 13:31:42-04:00, gtw@cs.bu.edu
  [sound i810] silently ignore invalid PCM_ENABLE_xxx bits from userland
  
  We must guarantee that struct file's ->f_mode agrees with
  PCM_ENABLE_xxx bits from userland OSS apps.  Other drivers silently
  ignore invalid bits, so we follow their lead.

ChangeSet@1.1615, 2004-05-11 17:38:24+01:00, aia21@cantab.net
  NTFS: 2.1.10 - Force read-only (re)mounting of volumes with unsupported flags.

ChangeSet@1.1612.4.5, 2004-05-11 16:51:14+01:00, nico@org.rmk.(none)
  [ARM PATCH] 1843/2: supress PCMCIA build warnings
  
  Patch from Nicolas Pitre
  
  This is an alternative to patch #1843/1 keeping the ugliness
  (and possible future breakage) to the affected driver only.
  This one should be applied after patch #1830/2.

ChangeSet@1.1612.4.4, 2004-05-11 16:46:51+01:00, nico@org.rmk.(none)
  [ARM PATCH] 1831/1: remove outdated SA11xx PCMCIA documentation
  
  Patch from Nicolas Pitre
  
  This documentation isn't reflecting the code anymore and therefore 
  is misleading.  Better remove it and let people see the code where
  multiple examples can now be followed.

ChangeSet@1.1612.4.3, 2004-05-11 16:42:43+01:00, nico@org.rmk.(none)
  [ARM PATCH] 1830/2: PCMCIA support for Lubbock (PXA2xx based)
  
  Patch from Nicolas Pitre
  
  [Patch #1830/1 wasn't generated correctly.  Here's the fixed one.]
  
  This adds PCMCIA support for Lubbock and relies on patch #1829/1.  This
  is probably the only reference board using both the PXA2xx and the SA1111 
  for PCMCIA support. Other board won't need to link sa1111_generic.o.

ChangeSet@1.1612.4.2, 2004-05-11 16:38:35+01:00, nico@org.rmk.(none)
  [ARM PATCH] 1829/1: base support for PCMCIA on the Intel PXA2xx chip
  
  Patch from Nicolas Pitre
  
  This provides base PCMCIA support for PXA2xx and relies on patch #1828/1.
  Board specific support must be added separately.
  
  This is based on initial work from Stefan Eletzhofer and Ian Molton.

ChangeSet@1.1612.4.1, 2004-05-11 16:32:38+01:00, nico@org.rmk.(none)
  [ARM PATCH] 1828/2: rework SA11xx PCMCIA code structure for better sharing of generic
   code
  
  Patch from Nicolas Pitre
  
  [Updated after comments on patch #1828/1]
  
  This patch moves things around and rename a few files/functions/structures
  to be shared with PXA2xx PCMCIA support (coming in a separate patch) and
  maybe others SOCs. No functional change were made so SA11xx users
  shouldn't see any difference.

ChangeSet@1.1612.3.1, 2004-05-11 07:54:30-07:00, geert@linux-m68k.org
  [PATCH] M68k superfluous whitespace
  
  M68k: Remove superfluous whitespace that hurts my eyes with `let
  c_space_errors=1' in vim. This includes correcting trailing whitespace and
  spaces in front of tabs. `diff -urNbB' shows no difference before/after.

ChangeSet@1.1614, 2004-05-11 09:50:41+01:00, aia21@cantab.net
  Merge cantab.net:/home/src/bklinux-2.6
  into cantab.net:/home/src/ntfs-2.6

ChangeSet@1.1612.2.11, 2004-05-11 04:05:08-04:00, herbert@gondor.apana.org.au
  [sound/oss i810] fix deadlock in drain_dac
  
  This patch fixes a typo in a previous change that causes the driver
  to deadlock under SMP.

ChangeSet@1.1612.2.10, 2004-05-11 04:04:09-04:00, herbert@gondor.apana.org.au
  [sound/oss i810] fix reads/writes % 4 != 0
  
  This patch removes another bogus chunk of code that breaks when
  the application does a partial write.
  
  In particular, a read/write of x bytes where x % 4 != 0 will loop forever.

ChangeSet@1.1612.2.9, 2004-05-11 04:02:55-04:00, herbert@gondor.apana.org.au
  [sound/oss i810] fix drain_dac loop when signals_allowed==0
  
  This patch fixes another bug in the drain_dac wait loop when it is
  called with signals_allowed == 0.

ChangeSet@1.1612.2.8, 2004-05-11 04:01:34-04:00, herbert@gondor.apana.org.au
  [sound/oss i810] remove divides on playback
  
  This patch removes a couple of divides on the playback path.

ChangeSet@1.1612.2.7, 2004-05-11 03:59:23-04:00, herbert@gondor.apana.org.au
  [sound/oss i810] fix OSS fragments
  
  This patch makes userfragsize do what it's meant to do: do not start
  DAC/ADC until a full fragment is available.

ChangeSet@1.1612.2.6, 2004-05-11 03:58:35-04:00, herbert@gondor.apana.org.au
  [sound/oss i810] fix playback SETTRIGGER
  
  This patch fixes SETTRIGGER with playback so that the LVI is always
  set and the DAC is always started.

ChangeSet@1.1612.2.5, 2004-05-11 03:57:31-04:00, herbert@gondor.apana.org.au
  [sound/oss i810] fix partial DMA transfers
  
  This patch fixes a longstanding bug in this driver where partial fragments
  are fed to the hardware.  Worse yet, those fragments are then extended
  while the hardware is doing DMA transfers causing all sorts of problems.

ChangeSet@1.1612.2.4, 2004-05-11 03:56:34-04:00, herbert@gondor.apana.org.au
  [sound/oss i810] clean up with macros
  
  This patch adds a number macros to clean up the code.

ChangeSet@1.1612.2.3, 2004-05-11 03:52:23-04:00, herbert@gondor.apana.org.au
  [sound/oss] remove bogus CIV_TO_LVI
  
  This patch removes a pair of bogus LVI assignments.  The explanation in
  the comment is wrong because the value of PCIB tells the hardware that
  the DMA buffer can be processed even if LVI == CIV.
  
  Setting LVI to CIV + 1 causes overruns when with short writes
  (something that vmware is very fond of).

ChangeSet@1.1612.2.2, 2004-05-11 03:50:39-04:00, herbert@gondor.apana.org.au
  [sound/oss i810] fix race
  
  This patch fixes the value of swptr in case of an underrun/overrun.
  
  Overruns/underruns probably won't occur at all when the driver is
  fixed properly, but this doesn't hurt.

ChangeSet@1.1612.2.1, 2004-05-11 03:48:33-04:00, herbert@gondor.apana.org.au
  [sound/oss i810] fix wait queue race in drain_dac
  
  This particular one fixes a textbook race condition in drain_dac
  that causes it to timeout when it shouldn't.

ChangeSet@1.1612.1.18, 2004-05-11 03:05:10-04:00, mingo@elte.hu
  [netdrvr dmfe] netpoll support

ChangeSet@1.1612.1.17, 2004-05-11 03:05:01-04:00, hch@lst.de
  [netdrvr gt961000eth] remove useless MOD_{INC,DEC}_USE_COUNT
  
  *grr* - this one slipped in after my last round of audits it seems.

ChangeSet@1.1612.1.16, 2004-05-11 03:04:53-04:00, akpm@osdl.org
  [PATCH] 8139too not running s3 suspend/resume pci fix
  
  From: "Adrian Yee" <brewt-linux-kernel@brewt.org>
  
  Having an 8139 based device in my notebook, I often switch between it and
  wireless.  The problem is that the 8139too driver does not save/restore the
  pci configuration of the card if the device isn't running.  This simple
  patch moves the save/restore code so that the code runs regardless of
  whether or not the device is running.
  
  I looked at other drivers and they all seem to do the same thing.  Is there
  a reason why this isn't done like in the patch?

ChangeSet@1.1612.1.15, 2004-05-11 03:04:44-04:00, akpm@osdl.org
  [PATCH] lance.c: fix for card with signature 0x52 0x49
  
  From: Vesselin Kostadiov <vesselin@alphawave.com.au>
  
  Problem: The lance.c driver did not work with my Racal Interlan EtherBlaster
  card.
  
  More info: I found that my card has a signature 0x52 0x49 that was not
  recognized by the driver.
  
  Explanation: Following your suggestion I created a static table with possible
  signatures, not too different from the table in ni65.c.  The updated code
  compares the first byte of the cards signature with the first byte of the
  signatures from the table.  It this succeeds then it reads the second byte and
  compares the whole signature with the values from the table.  This way the
  minimal I/O reads approach is maintained.
  
  Side effect: The previous version would missdetect cards with signatures 0x52
  0x57 and 0x57 0x44.  This has been fixed as well.

ChangeSet@1.1612.1.14, 2004-05-11 03:04:36-04:00, cw@f00f.org
  [PATCH] kill warning in r8169

ChangeSet@1.1612.1.13, 2004-05-10 22:12:24-04:00, jgarzik@redhat.com
  [libata] Maintainer annotations
  
  In MAINTAINERS and in individual low-level drivers.

ChangeSet@1.1612.1.12, 2004-05-10 21:51:40-04:00, jgarzik@redhat.com
  [libata] preparation for writeback caching support
  
  * bug fix: make sure 'nsect' member of struct ata_queued_cmd is
  initialized each time a cmd is re-used.  Only affects PIO data xfers,
  which nobody uses.
  * slightly change the way a device's flags are printed out.  currently
  the only flag is 'lba48', but soon 'wcache' will appear also.
  * add WB-cache-related constants and macros to linux/ata.h

ChangeSet@1.1612.1.11, 2004-05-10 16:54:27-07:00, eger@havoc.gtf.org
  [PATCH] radeon: fix overlapping copyarea
  
  This fixes a corruption problem with overlapping copyarea()'s
  in the radeon driver.

ChangeSet@1.1612.1.10, 2004-05-10 16:54:17-07:00, paulus@samba.org
  [PATCH] ppc64: extra barrier in I/O operations
  
  At the moment, on PPC64, the instruction we use for wmb() doesn't
  order cacheable stores vs. non-cacheable stores.  (It does order
  cacheable vs. cacheable and non-cacheable vs. non-cacheable.)  This
  causes problems in the sort of driver code that writes stuff into
  memory, does a wmb(), then a writel to the device to start a DMA
  operation to read the stuff it has just written to memory.
  
  This patch solves the problem by adding a sync instruction before the
  store in the write* and out* macros.  The sync is a full barrier that
  orders all loads and stores, cacheable or not.  The patch also moves
  the eieio instruction that we had after the store to before the load
  in the read* and in* macros.  With the sync before the store, we don't
  need an eieio as well in a sequence of stores, but we still need an
  eieio between a store and a load.
  
  I think it is better to do this than to turn wmb() into a full memory
  barrier (a sync instruction) because the full barrier is slow and
  isn't needed with the sync in the write*/out* macros.  This way,
  write*/out* are fully ordered with respect to preceding loads and
  stores, which is what driver writers expect, and we avoid penalizing
  users of wmb() who are only doing cacheable stores.

ChangeSet@1.1612.1.8, 2004-05-10 16:30:02-07:00, willy@debian.org
  [PATCH] PA-RISC updates for 2.6.6
  
   - Split PA7300LC from PA7100LC (Matthew Wilcox)
   - Handle 32-bit firmware and 64-bit kernel at runtime (Ryan Bradetich)
   - Fix building in a separate tree (Matthew Wilcox)
   - Update defconfigs (Randolph Chung)
   - Make WCHAN work (Randolph Chung)
   - Initial support for SMP in 2.6 (Grant Grundler)
   - Use 8-byte PTEs on 32-bit kernels (James Bottomley)
   - Implement L2/L3 hybrid page tables for 64 bit kernels (James Bottomley)
   - Support 8TB of physical and virtual address space (James Bottomley)
   - Macro'ise the tlb miss handlers (James Bottomley)
   - Check the ptrace flags correctly in the syscall return path (Randolph Chung)
   - Eliminate many magic numbers (James Bottomley)
   - Work around linker bug in vmlinux.lds.S (James Bottomley)
   - Many cache flushing fixes (James Bottomley)
   - first baby step for PA8800 support (Grant Grundler)
   - Self-aligning spinlocks (Randolph Chung)

ChangeSet@1.1612.1.7, 2004-05-10 16:25:28-07:00, geert@linux-m68k.org
  [PATCH] M68k missing <linux/compiler.h>
  
  M68k: <asm/virtconvert.h> needs include <linux/compiler.h> for
  __attribute_const__ (from Richard Zidlicky)

ChangeSet@1.1612.1.6, 2004-05-10 16:25:18-07:00, geert@linux-m68k.org
  [PATCH] Sun3x dummycon
  
  Sun3x: Like most other platforms, Sun3x needs conswitchp set if
  CONFIG_DUMMY_CONSOLE is defined (from Sam Creasey)

ChangeSet@1.1612.1.5, 2004-05-10 16:24:30-07:00, torvalds@ppc970.osdl.org
  Merge bk://gkernel.bkbits.net/libata-2.6
  into ppc970.osdl.org:/home/torvalds/v2.6/linux

ChangeSet@1.1612.1.3, 2004-05-10 16:13:18-07:00, viro@parcelfarce.linux.theplanet.co.uk
  [PATCH] ntfs cleanup
  
  	ntfs_fill_super() and ntfs_read_inode_mount() cleaned up.  Removed
  the kludges around the first iget() on NTFS.  Instead of playing with
  (re)setting ->s_op we have the MFT_FILE inode set up by explicit new_inode()/
  set ->i_ino/insert_inode_hash()/call ntfs_read_inode_mount() directly.
  That kills the need of second super_operations and it allows to return
  error from ntfs_read_inode_mount() without resorting to ugly "poisoning"
  tricks.

ChangeSet@1.1612.1.2, 2004-05-10 16:10:46-07:00, torvalds@ppc970.osdl.org
  Merge bk://linux-scsi.bkbits.net/scsi-for-linus-2.6
  into ppc970.osdl.org:/home/torvalds/v2.6/linux

ChangeSet@1.1608.9.1, 2004-05-10 23:56:17+01:00, rmk@flint.arm.linux.org.uk
  [SERIAL] Fix exit function pointer initialisers
  
  This wraps pointer initialisers to functions marked __devexit with
  __devexit_p.

ChangeSet@1.1613, 2004-05-10 23:53:05+01:00, aia21@cantab.net
  NTFS: Cleanup whitespace (trailing space removal, etc).

ChangeSet@1.1371.764.51, 2004-05-10 17:29:29-05:00, jejb@mulgrave.(none)
  qla2100 fabric fixes
  
  From: "Andrew Vasquez" <andrew.vasquez@qlogic.com>
  
  Ok, well there aren't too many folks using an QLA2100 in a fabric
  topology, if there were, they wouldn't have gotten very far in the
  driver load sequence.  I've been able to scrape-up a QLA2100, 1Gig
  switch, and an JBOD.  Upon loading the 8.00.00b12k driver, the
  firmware successfully logs into the switch, the driver receives a
  LOOP_UP event, but, the kernel panics due to NULL pointer dereference
  while trying to perform an RFT_ID  -- the attached patch against
  current scsi-misc-2.6 fixes that problem.

ChangeSet@1.1371.764.50, 2004-05-10 16:40:22-05:00, James.Bottomley@steeleye.com
  [PATCH] fix LLD module refcounting in sr.c
  
  The patch to close all the open/close/hotplug races in sr left the
  module refcounting broken so that the ULD housing the CD device now
  can't be removed until the device itself is removed.
  
  This patch (structurally identical to the one for sd.c to perform the
  same function) fixes the module refcounting.

ChangeSet@1.1608.7.149, 2004-05-10 14:25:52-07:00, akpm@osdl.org
  [PATCH] get_thread_area macro fixes
  
  From: Adam Lackorzynski <adam@os.inf.tu-dresden.de>
  
  one of the macros for get_thread_area extracts the wrong bit.  The
  "32bit" field is in bit 22, not 23 (as can be seen in desc.h). 
  
  [ Fix ia64/x86-64 too, while we're at it. Linus ]

ChangeSet@1.1608.7.148, 2004-05-10 14:25:41-07:00, akpm@osdl.org
  [PATCH] Add SMT setup for domain scheduler on x86-64
  
  From: Andi Kleen <ak@muc.de>
  
  Set up SMT for the domain scheduler on x86-64.  This way the scheduling
  works better on HyperThreading aware systems; in particular it will use
  both physical CPUs before sharing two virtual CPUs on the same package. 
  This improves performance considerably in some cases.
  
  Based on the i386 code and a previous patch from Suresh B. Siddha.

ChangeSet@1.1608.7.147, 2004-05-10 14:25:30-07:00, akpm@osdl.org
  [PATCH] x86-64: convert sibling map to masks
  
  From: Andi Kleen <ak@muc.de>
  
  From: Suresh B. Siddha
  
  Convert sibling map on x86-64 to cpumasks.
  
  This is needed for the SMT patches.

ChangeSet@1.1608.7.146, 2004-05-10 14:14:39-07:00, torvalds@ppc970.osdl.org
  Remove intermezzo, per instructions from Peter Braam.

ChangeSet@1.1608.7.145, 2004-05-10 14:12:21-07:00, akpm@osdl.org
  [PATCH] Fix __down Tainting Kernel with CONFIG_MODVERSIONS=y
  
  From: Rusty Russell <rusty@rustcorp.com.au>
  
  PowerPC64 ABI has ".funcname" (the actual function) and "funcname" (the
  function descriptor) and we strip off the dots in "dedotify" called from
  module_frob_arch_sections().  We need to also de-dotify the corresponding
  names in the __version section.
  
  Actually has nothing to do with __down, it's just that we only print the
  first symbol whose version is missing.

ChangeSet@1.1608.7.144, 2004-05-10 14:12:10-07:00, akpm@osdl.org
  [PATCH] PPC termio fix
  
  From: Paul Mackerras <paulus@samba.org>
  
  It turns out that we are not handling the TABDLY bits of the termios
  c_oflag field correctly on PPC, PPC64 and Alpha.  These three architectures
  have a value for XTABS that is different from the TAB3 value.  POSIX
  specifies that setting the TABDLY field to TAB3 should result in tabs being
  expanded to spaces.  In n_tty.c:opost() we check for O_TABDLY(tty) ==
  XTABS, which is fine on most architectures because they have XTABS == TAB3.
  
  I think the right thing to do is just to change the definition of XTABS to
  be the same as TAB3 on these architectures.  The patch below does this for
  PPC and PPC64 (and I suggest the Alpha maintainer should do the same).  At
  the moment, applications using either the XTABS or TAB3 values won't get
  the expected behaviour.  With this patch, apps that use TAB3 will get the
  expected behaviour.  Apps that use XTABS will need to be recompiled (but
  note that the POSIX-specified name to use is TAB3 not XTABS).

ChangeSet@1.1608.7.143, 2004-05-10 14:12:00-07:00, akpm@osdl.org
  [PATCH] remove intermezzo
  
  Peter Braam said:
  
      I would just like to say that I have no difficulties with intermezzo
      being rm -rf'd.  There are probably only a handful of users.  
  
      In the past 4 years nobody has supported InterMezzo sufficiently for
      it to become successful.  I have been fortunate to get really good support
      for the Lustre project.  So I have focussed on that.  Lustre 1.X has
      become really solid.
  
      The disconnected operation, caching and mirroring functionality of
      InterMezzo will become available in Lustre as a new feature in version 2. 
  
       So I see no point in keeping InterMezzo if it is a nuisance. 
  
  
  The patch removes the references to intermezzo.  Please do a `bk rm' of
  fs/intermezzo.

ChangeSet@1.1608.7.142, 2004-05-10 14:11:49-07:00, akpm@osdl.org
  [PATCH] make tags for selinux
  
  From: Olaf Hering <olh@suse.de>
  
  make tags skips security/selinux/include because of find .  -name include
  -prune This patch does just add it later.  No idea if it can be done
  better.

ChangeSet@1.1608.7.141, 2004-05-10 14:11:38-07:00, akpm@osdl.org
  [PATCH] fix some typos in sound docs
  
  From: Christoph Hellwig <hch@lst.de>
  
  (partially from the debian kernel tree)

ChangeSet@1.1608.7.140, 2004-05-10 14:11:28-07:00, akpm@osdl.org
  [PATCH] telephony/ixj.h: remove kernel 2.2 #ifdef's
  
  From: Adrian Bunk <bunk@fs.tum.de>
  
  The patch below removes two #ifdef's for kernel 2.2 from
  linux-2.6.2-mm1/drivers/telephony/ixj.h

ChangeSet@1.1608.7.139, 2004-05-10 14:11:17-07:00, akpm@osdl.org
  [PATCH] remove kernel 2.2 code from drivers/net/hamradio/dmascc.c
  
  From: Adrian Bunk <bunk@fs.tum.de>
  
  The patch below removes some #ifdef'd kernel 2.2 code from
  drivers/net/hamradio/dmascc.c.

ChangeSet@1.1608.7.138, 2004-05-10 14:11:07-07:00, akpm@osdl.org
  [PATCH] Crystal cs4235 mixer fix
  
  From: Joseph Parmelee <jparmele@wildbear.com>
  
  Fixes improper setup of the mixer on Crystal soundcards with the CS4235
  chip.

ChangeSet@1.1608.7.137, 2004-05-10 14:10:56-07:00, akpm@osdl.org
  [PATCH] export con_set_default_unimap()
  
  fbcon needs this symbol.

ChangeSet@1.1608.7.136, 2004-05-10 14:10:46-07:00, akpm@osdl.org
  [PATCH] Make usermodehelper_init() use core_initcall()
  
  We may as well make usermodehelper_init() core_initcall as well, to make
  sure its services are avaialble to all the other initcall levels.

ChangeSet@1.1608.7.135, 2004-05-10 14:10:35-07:00, akpm@osdl.org
  [PATCH] use core_initcall for binfmt initialisation
  
  We need to register the binfmts earlier, so normal initcalls can successfully
  run call_usermodehelper() to execute things.

ChangeSet@1.1608.7.134, 2004-05-10 14:10:24-07:00, akpm@osdl.org
  [PATCH] minor RCU optimization
  
  From: Stephen Hemminger <shemminger@osdl.org>
  
  Minor tweak to rcu, use __list_splice instead of list_splice because the
    list has already been checked for empty.

ChangeSet@1.1608.7.133, 2004-05-10 14:10:14-07:00, akpm@osdl.org
  [PATCH] remove MOD_INC_USE_COUNT usage in arch/um/drivers/harddog_kern.c
  
  From: Christoph Hellwig <hch@lst.de>
  
  ->open already has a reference so use __module_get.  The file has no
  maintainer noted in it, all credits are from the driver it's copied from.

ChangeSet@1.1608.7.132, 2004-05-10 14:10:03-07:00, akpm@osdl.org
  [PATCH] fix MOD_INC_USE_COUNT usage in mtd
  
  From: Christoph Hellwig <hch@lst.de>
  
  mtd driver need to get another reference if ->probe succeeds (strange design
  if you ask me, but what the heck..), and while most drivers have been switched
  to __module_get already two are still missing.

ChangeSet@1.1608.7.131, 2004-05-10 14:09:53-07:00, akpm@osdl.org
  [PATCH] drivers/video/* MOD_INC_USE_COUNT fixes
  
  From: Christoph Hellwig <hch@lst.de>
  
  A bunch of framebuffer drivers use MOD_INC_USE_COUNT to prevent themselves
  from unloading completely - but we have a much easier way to do so, that is
  simply removing the module_exit/cleanup_module handler.

ChangeSet@1.1608.7.130, 2004-05-10 14:09:42-07:00, akpm@osdl.org
  [PATCH] fix MOD_{INC,DEC}_USE_COUNT gunk in arch/um/drivers/net_kern.c
  
  From: Christoph Hellwig <hch@lst.de>
  
  Well, UML is pretty out of date in mainline, but I'd like to squash the last
  users of said beasts rather sooner than later.

ChangeSet@1.1608.7.129, 2004-05-10 14:09:31-07:00, akpm@osdl.org
  [PATCH] kill MOD_{INC,DEC}_USE_COUNT gunk in arch/cris/arch-v10/drivers/pcf8563.c
  
  From: Christoph Hellwig <hch@lst.de>
  
  Driver already sets fops->owner so the open/close methods are entirely
  superflous.

ChangeSet@1.1608.7.128, 2004-05-10 14:09:21-07:00, akpm@osdl.org
  [PATCH] kill useless MOD_{INC,DEC}_USE_COUNT in sound/oss/msnd.c
  
  From: Christoph Hellwig <hch@lst.de>
  
  Callers are exported register/unregister handlers so the module is locked in
  core by users of said exports.

ChangeSet@1.1608.7.127, 2004-05-10 14:09:10-07:00, akpm@osdl.org
  [PATCH] cpqarray update for 2.6
  
  From: <mikem@beardog.cca.cpqcorp.net>
  
  This patch fixes 2 minor issues that break our Array Configuration utility.
   my_io was changed to a pointer so the & had to removed when using it with
  copy_to_user().
  
  Sometime in 2.5 SG_MAX got changed to 31.  Maybe to copy cciss?  Now I'm
  changing it back to 32 so our app can work.

ChangeSet@1.1608.7.126, 2004-05-10 14:09:00-07:00, akpm@osdl.org
  [PATCH] Add sysctl to define a hugetlb-capable group
  
  From: "Chen, Kenneth W" <kenneth.w.chen@intel.com>,
        "Seth, Rohit" <rohit.seth@intel.com>
  
  This patch addresses the longstanding problem wherein Oracle needs
  CAP_IPC_LOCK to allocate SHM_HUGETLB shm memory, but people don't want to run
  Oracle as root, and capabilties are busted.
  
  Various ideas with rlimits didn't work out, mainly because these objects live
  beyond the lifetime of the user processes which establish them.
  
  What we do is to create root-writeable /proc/sys/vm/hugetlb_shm_group which
  specifies a single group ID.  Users who belong to that group may allocate
  hugepages for SHM_HUGETLB shm segments.
  
  So the sysadmin will greate a new group, say `hugepageusers', will add the
  oracle user to that group and will write that group's ID into
  /proc/sys/vm/hugetlb_shm_group.

ChangeSet@1.1608.7.125, 2004-05-10 14:08:49-07:00, akpm@osdl.org
  [PATCH] hugepage: fix add_to_page_cache() error handling
  
  From: David Gibson <david@gibson.dropbear.id.au>
  
  add_to_page_cache() locks the given page if and only if it suceeds.  The
  hugepage code (every arch), however, does an unlock_page() after
  add_to_page_cache() before checking the return code, which could trip the
  BUG() in unlock_page() if add_to_page_cache() failed.
  
  In practice we've never hit this bug, because the only ways
  add_to_page_cache() can fail are when we fail to allocate a radix tree node
  (very rare), or when there is already a page at that offset in the radix
  tree, which never happens during prefault, obviously.  We should probably
  fix it anyway, though.
  
  The analagous bug in some of the patches floating about to
  demand-allocation of hugepages is more of a problem, because multiple
  processes can race to instantiate a particular page in the radix tree -
  that's been hit at least once (which is how I found this).

ChangeSet@1.1608.7.124, 2004-05-10 14:08:38-07:00, akpm@osdl.org
  [PATCH] fix wrong var used in hotplug/shpchp_ctrl.c.
  
  From: "Luiz Fernando N. Capitulino" <lcapitulino@prefeitura.sp.gov.br>
  
  Zhenmin's checker tool <zli4@cs.uiuc.edu> detected this:
  
   9. /drivers/pci/hotplug/shpchp_ctrl.c, Line 1575:
   err("%s: Failed to disable slot, error code(%d)\n", __FUNCTION__, rc);
  
   Maybe change to:
   err("%s: Failed to disable slot, error code(%d)\n", __FUNCTION__,
   retval);
  
  I think it is right because at line 1564, the slot is turned off, and in
  this line (1575) is checked the status to see if we got an error; if so,
  the error number is shown.  This number is in 'retval', not in 'rc' ('rc'
  does have the return of configure_new_device()).

ChangeSet@1.1608.7.123, 2004-05-10 14:08:27-07:00, akpm@osdl.org
  [PATCH] Lindent arch/i386/kernel/cpuid.c
  
  From: Hanna Linder <hannal@us.ibm.com>
  
  Per Greg's request this is a patch of having run Lindent on cpuid.c.  The
  tabs were not the right number of spaces before.  I have verified it still
  compiles and boots with this "change".

ChangeSet@1.1608.7.122, 2004-05-10 14:08:17-07:00, akpm@osdl.org
  [PATCH] pcmcia/tcic.c warning fix.
  
  From: "Luiz Fernando N. Capitulino" <lcapitulino@prefeitura.sp.gov.br>
  
  drivers/pcmcia/tcic.c:63: warning: `version' defined but not used

ChangeSet@1.1608.7.121, 2004-05-10 14:08:06-07:00, akpm@osdl.org
  [PATCH] as-iosched barrier fix
  
  From: Jens Axboe <axboe@suse.de>
  
  AS does not correctly account requests inserted with INSERT_FRONT or
  INSERT_BACK, barriers for example.  In other elevators, requeued requests also
  go through the insert path, but AS has its own requeue handler which means the
  code has never been tested.
  
  Also, make inserting a barrier with INSERT_SORT imply INSERT_BACK, which is
  the logical behaviour.  Previously such insertions weren't rigorously defined.

ChangeSet@1.1608.7.120, 2004-05-10 14:07:55-07:00, akpm@osdl.org
  [PATCH] Fix race on tty close
  
  From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
  
  ldisc close can race with the flush_to_ldisc workqueue.
  
  This patch fixes it by killing the workqueue first.

ChangeSet@1.1608.7.119, 2004-05-10 14:07:45-07:00, akpm@osdl.org
  [PATCH] SElinux interface for reporting size of printk buffer
  
  From: Olaf Dabrunz <od@suse.de>
  
  Add the necessary hooks so that a SELinux-enabled kernel will allow the new
  "report the size of the printk buffer" query to work.

ChangeSet@1.1608.7.118, 2004-05-10 14:07:34-07:00, akpm@osdl.org
  [PATCH] blk: cache queue_congestion_on/off_threshold values
  
  From: "Chen, Kenneth W" <kenneth.w.chen@intel.com>
  
  It's kind of redundant that queue_congestion_on/off_threshold gets
  calculated on every I/O and they produce the same number over and over
  again unless q->nr_requests gets changed (which is probably a very rare
  event).  We can cache those values in the request_queue structure.

ChangeSet@1.1608.7.117, 2004-05-10 14:07:23-07:00, akpm@osdl.org
  [PATCH] swsusp documentation updates
  
  From: Pavel Machek <pavel@ucw.cz>

ChangeSet@1.1608.7.116, 2004-05-10 14:07:13-07:00, akpm@osdl.org
  [PATCH] simplify mqueue_inode_info->messages allocation
  
  From: Chris Wright <chrisw@osdl.org>
  
  Currently, if a user creates an mqueue and passes an mq_attr, the
  info->messages will be created twice (and the extra one is properly freed).
  This patch simply delays the allocation so that it only ever happens once. 
  The relevant mq_attr data is passed to lower levels via the dentry->d_fsdata
  fs private data.  This also helps isolate the areas we'd need to touch to do
  rlimits on mqueues.

ChangeSet@1.1608.7.115, 2004-05-10 14:07:02-07:00, akpm@osdl.org
  [PATCH] bfs filesystem read past the end of dir
  
  From: Jakub Jermar <jermar@itbs.cz>
  
  I found out that BFS filesystem will eventually try to read and interpret
  garbage past the end of directory in bfs_add_entry().  If the garbage
  (interpreted as i-node number) is not set to zero (does it have to be?)
  bfs_add_entry() will consider it a regular directory entry. 
  
  This causes weird things like this:
  # touch a
  # rm a
  # ls
  # touch b
  # ls
  a
  
  My patch detects an attempt to read past the end of directory and explicitly
  clears the garbage that represents i-node number.  Thus the correct behaviour
  is achieved.
  
  (was unable to contact Tigran)

ChangeSet@1.1608.7.114, 2004-05-10 14:06:52-07:00, akpm@osdl.org
  [PATCH] update Documentation/md.txt
  
  From: <spam@altium.nl> (Dick Streefland)
  
  The following patch documents the currently undocumented raid= kernel
  parameter.

ChangeSet@1.1608.7.113, 2004-05-10 14:06:42-07:00, akpm@osdl.org
  [PATCH] es7000 subarch update for generic arch
  
  From: "Protasevich, Natalie" <Natalie.Protasevich@UNISYS.com>
  
  This is ES7000 sub architecture update.  It makes ES7000 a part of the
  generic architecture, so the single compiled kernel will be able to choose
  a correct set of parameters, routines ("genapic"), and a boot path.  It
  uses criteria provided by the subarch for platform identification.  In case
  of ES7000, it is a unique product/vendor string in the ACPI/MP OEM table,
  and server control registers.  The patch is confined to only es7000 subarch
  and generic subarch.  It was tested on ES7000 as well as generic Intel 8x
  Xeon system.  Andi Kleen has reviewed the changes.

ChangeSet@1.1608.7.112, 2004-05-10 14:05:51-07:00, akpm@osdl.org
  [PATCH] CLOCK_TICK_RATE: use CLOCK_TICK_RATE
  
  From: Thorsten Kranzkowski <dl8bcu@dl8bcu.de>
  
  use CLOCK_TICK_RATE where 1193180 was used in general timing calculations. 
  (optional)

ChangeSet@1.1608.7.111, 2004-05-10 14:05:40-07:00, akpm@osdl.org
  [PATCH] CLOCK_TICK_RATE: use PIT_TICK_RATE in *spkr.c
  
  From: Thorsten Kranzkowski <dl8bcu@dl8bcu.de>

ChangeSet@1.1608.7.110, 2004-05-10 14:05:29-07:00, akpm@osdl.org
  [PATCH] CLOCK_TICK_RATE: introduce asm-*/8253pit.h, #define PIT_TICK_RATE constant.
  
  From: Thorsten Kranzkowski <dl8bcu@dl8bcu.de>
  
  The calculation of the counter values in drivers/input/misc/pcspkr.c is
  incorrectly based on CLOCK_TICK_RATE.  This goes unnoticed in i386 because
  there the system clock is driven by the same Programmable Interval Timer chip
  as the speaker.  But this doesn't hold true on other archs, e.g.  Alpha.
  
  To solve this problem I made these patches:
  
  1/3:    introduce asm-*/8253pit.h, #define PIT_TICK_RATE constant.
          It seems this is not always the same value.
  2/3:    use PIT_TICK_RATE in *spkr.c
  3/3:    use CLOCK_TICK_RATE where 1193180 was used in general timing
          calculations. (optional)
  
  There are still some places where the magic number is used instead of the
  #define (vt_ioctl.c, gameport.c) but I left them as-is.  I got some responses
  from arch maintainers to specifically not touch their respective architectures
  so changing these places would mean breakage for them.
  
  Tested on Alpha and i386, ack'ed by Ralf Baechle for MIPS.
  
  
  This patch:
  
  introduce asm-*/8253pit.h, #define PIT_TICK_RATE constant.

ChangeSet@1.1608.7.109, 2004-05-10 14:05:18-07:00, akpm@osdl.org
  [PATCH] readahead: keep file->f_ra sane
  
  When two threads are simultaneously pread()ing from the same fd (which is a
  legitimate thing to do), the readahead code thinks that a huge amount of
  seeking is happening and shrinks the window, damaging performance a lot.
  
  I don't see a sane way to avoid this within the readahead code, so take a
  private copy of the readahead state and restore it prior to returning from the
  read.

ChangeSet@1.1608.7.108, 2004-05-10 14:05:07-07:00, akpm@osdl.org
  [PATCH] jiffies-to-clockt fix
  
  From: john stultz <johnstul@us.ibm.com>
  
  This patch polishes up Tim Schmielau's (tim@physik3.uni-rostock.de) fix for
  jiffies_to_clock_t() and jiffies_64_to_clock_t().  The issues observed was
  w/ /proc output not matching up to wall time due to accumulated error
  caused by HZ not being exactly 1000 on i386 systems.  The solution is to
  correct that error by using the more accurate TICK_NSEC in our calculation.
  
  Additionally, this patch corrects 3 warnings in the TCP layer uncovered by
  this change.

ChangeSet@1.1608.7.107, 2004-05-10 14:04:56-07:00, akpm@osdl.org
  [PATCH] cyclades cleanups
  
  From: Marcelo Tosatti <marcelo.tosatti@cyclades.com>
  
  - cleanups for cyclades Kconfig entry	(Adrian Bunk/me)
  - janitors project: remove dead function	(Don Koch)
  
  From: aris@cathedrallabs.org (Aristeu Sergio Rozanski Filho)
  
  	Use the standard min/max macros

ChangeSet@1.1608.7.106, 2004-05-10 14:04:46-07:00, akpm@osdl.org
  [PATCH] fix ramdisk size assembler warning
  
  From: Jorn Engel <joern@wohnheim.fh-wedel.de>
  
   AS	arch/i386/boot/setup.o
  /usr/src/linux-2.6.5/arch/i386/boot/setup.S: Assembler messages:
  /usr/src/linux-2.6.5/arch/i386/boot/setup.S:159: Warning: value 0x37ffffff truncated to 0x37ffffff
  
  The warning is correct, the calculated value for ramdisk_max would be
  0xb7ffffff instead of 0x37ffffff.  Truncating 0xb7ffffff to 0x37ffffff
  is desired behaviour, so we should do it explicitly.

ChangeSet@1.1608.7.105, 2004-05-10 14:04:36-07:00, akpm@osdl.org
  [PATCH] ppc64: use generic ipc syscall translation
  
  From: David Gibson <david@gibson.dropbear.id.au>
  
  Currently ppc64 has its own code to convert 32-bit ipc() syscalls to 64-bit,
  rather than using the common translation code from ipc/compat.c.  This patch,
  tweaked slightly from an earlier version of Anton Blanchard's fixes that,
  replacing the ppc64 code with calls to the common code.
  
  I've run the LSB IPC tests, and as many of the LTP IPC tests as I could figure
  out how to run easily, and it seems to pass them all.

ChangeSet@1.1608.7.104, 2004-05-10 14:04:25-07:00, akpm@osdl.org
  [PATCH] gcc-3.4.0 fixes for 2.6.6-rc3 x86_64 kernel
  
  From: Mikael Pettersson <mikpe@csd.uu.se>
  
  Here are some patches to fix compilation warnings from
  gcc-3.4.0 in the 2.6.6-rc3 x86_64 kernel.
  
  - puts() type conflict in boot/compressed/misc.c:
    rename to putstr(), just like i386 did
  - cast-as-lvalue in ia32_copy_siginfo_from_user():
    use temporary
  - code before declaration in io_apic.c:
    move decl up
  - code before declaration in ioremap.c:
    move existing #ifndef up
  - cast-as-lvalue (tons of them) from UP version of per_cpu():
    merged asm-generic's version

ChangeSet@1.1608.7.103, 2004-05-10 14:04:14-07:00, akpm@osdl.org
  [PATCH] fixup 68360 module refcounting
  
  From: Christoph Hellwig <hch@lst.de>

ChangeSet@1.1608.7.102, 2004-05-10 14:04:03-07:00, akpm@osdl.org
  [PATCH] Warn when smp_call_function() is called with interrupts disabled
  
  From: Keith Owens <kaos@sgi.com>
  
  Almost every architecture has a comment above smp_call_function()
  
   * You must not call this function with disabled interrupts or from a
   * hardware interrupt handler or from a bottom half handler.
  
  I have not seen any problems with calling smp_call_function() from a bottom
  half handler, but calling it with interrupts disabled can definitely
  deadlock.  This bug is hard to reproduce and even harder to debug.
  
  CPU A                               CPU B
  Disable interrupts
                                      smp_call_function()
                                      Take call_lock
                                      Send IPIs
                                      Wait for all cpus to acknowledge IPI
                                      CPU A has not responded, spin waiting
                                      for cpu A to respond, holding call_lock
  smp_call_function()
  Spin waiting for call_lock
  Deadlock                            Deadlock
  
  Change all smp_call_function() to WARN_ON(irqs_disabled()).  It should be
  BUG_ON() but some buggy code like SCSI sg will break with BUG_ON, so just
  warn for now.  Change it to BUG_ON after the buggy code has been fixed.

ChangeSet@1.1608.7.101, 2004-05-10 14:03:52-07:00, akpm@osdl.org
  [PATCH] worker_thread race fix
  
  Fix a waitqueue-handling race in worker_thread().

ChangeSet@1.1608.7.100, 2004-05-10 14:03:41-07:00, akpm@osdl.org
  [PATCH] pcmcia/i82365.c warning fix
  
  From: "Luiz Fernando N. Capitulino" <lcapitulino@prefeitura.sp.gov.br>
  
  drivers/pcmcia/i82365.c: At top level:
  drivers/pcmcia/i82365.c:71: warning: `version' defined but not used

ChangeSet@1.1608.7.99, 2004-05-10 14:03:31-07:00, akpm@osdl.org
  [PATCH] throttle P4 thermal warnings
  
  From: Zwane Mwaikambo <zwane@linuxpower.ca>
  
  In really bad conditions this can keep printing for a while, throttle the
  output somewhat.  Also change the "CPU%d" formatting to better match the
  other boot output.

ChangeSet@1.1608.7.98, 2004-05-10 14:03:20-07:00, akpm@osdl.org
  [PATCH] fix deadlock in create_workqueue()
  
  Fix bug identified by Srivatsa Vaddagiri <vatsa@in.ibm.com>:
  
  There's a deadlock in __create_workqueue when CONFIG_HOTPLUG_CPU is set.  This
  can happen when create_workqueue_thread fails to create a worker thread.  In
  that case, we call destroy_workqueue with cpu hotplug lock held.
  destroy_workqueue however also attempts to take the same lock.

ChangeSet@1.1608.7.97, 2004-05-10 14:03:10-07:00, akpm@osdl.org
  [PATCH] remove blk_queue_bounce() printks
  
  From: Matt Domsch <Matt_Domsch@dell.com>
  
  Jens Axboe wrote:
  It should just be deleted. As you note, it is a debug message. I
  originally added it so we would have some clues as to dma capability for
  bug reports. There never was any, the check can go :)

ChangeSet@1.1608.7.96, 2004-05-10 14:02:59-07:00, akpm@osdl.org
  [PATCH] Fix MTD suspend/resume
  
  From: Russell King <rmk@arm.linux.org.uk>
  
  This patch carries forward the following bug fix from MTD CVS, which causes a
  lot of noise after a suspend/resume cycle on ARM devices.
  
  revision 1.127
  date: 2003/07/02 20:29:38;  author: acurtis;  state: Exp;  lines: +2 -1
  Added FL_STATUS to the FL_READY case in put_chip(). (Eliminate noise)

ChangeSet@1.1608.7.95, 2004-05-10 14:02:49-07:00, akpm@osdl.org
  [PATCH] dentry and inode cache hash algorithm performance changes.
  
  From: "Jose R. Santos" <jrsantos@austin.ibm.com>
  
  It alleviates some issues seen with Linux when accessing millions of files on
  machines with large amounts of RAM (+32GB).  Both algorithms are base on some
  studies that Dominique Heger was doing on hash table efficiencies in Linux.
  The dentry hash table has been tested in small systems with one internal IDE
  hard disk as well as in large SMP with many fiberchanel disks.  Dominique
  claims that in all the testing done, they did not see one case were this has
  function provided worst performance and that in most test they were seeing
  better performance.
  
  The inode hash function was done by me base on Dominique's original work and
  has only been stress tested with SpecSFS.  It provided a 3% improvement over
  the default algorithm in the SpecSFS results and speed ups in the response
  time of almost all filesystem operations the benchmark stress.  With the
  better distribution is as also possible to reduce the number of inode buckets
  for 32 million to 16 million and still get a slightly better results.
  
  Anton was nice enough to provide some graphs that show the distribution 
  before and after the patch at http://samba.org/~anton/linux/sfs/1/
  
  For the dentry hash function, some of my other coorkers had put this hash
  function through various testing and have concluded that the hash function was
  equal or better than the default hash function.  These runs were done with a
  (hopefully to be Open Source soon) benchmark called FFSB which can simulate
  various io patters across many filesystems and variable file sizes.
  
  SpecSFS fileset is basically a lot of small file which varies depending on the
  size of the run.  For a not so big SMP system the number of file is in the +20
  Million files range.  Of those 20 million files only 10% are access randomly
  by the client.  The purpose of this is that the benchmark tries to stress not
  only the NFS layer but, VM and Filesystems layers as well.  The filesets are
  also hundreds of gigabytes in size in order to promote disk head movement by
  guaranteeing cache misses in memory.  SFS 27% of the workload are lookups
  __d_lookup has showing high in my profiles.
  
  For the inode hash the problem that I see is that when running a benchmark
  with this huge fileset we end up trying to free a lot of inode entries during
  the run while trying to put new entries in cache.  We end up calling
  ifind_fast() which calls find_inodes_fast() held under inode_lock.  In order
  to avoid holding the inode_lock we needed to avoid having long chains in that
  hash function.
  
  When I took a look at the original hash function, I found it to be a bit to
  simple for any workload.  My solution (which I took advantage of Dominique's
  work) was to create a hash that function that could generate completely
  different hashes depending on the hashval and the superblock in order to have
  the hash scale as we added more filesystems to the machine.
  
  Both of these problems can be somewhat tuned out by increasing the number of
  buckets of both d and i cache but it got to a point were I had 256MB of inode
  and 128MB in dentry hash buckets on a not so large SMP.  With the hash changes
  I have been able to reduce the number of buckets to 128MB for inode cache and
  to 32MB for dentry cache and still get better performance.
  
  If it help my case...  I haven't been running this benchmark for long, so I
  haven't been able to find a way to cheat.  I need to come up with generic
  solutions until I can find a cheat for the benchmark.  :)
  
  
  SDET results:
  
  Steve Pratt seem to have a SDET setup already and he did me the favor of
  running SDET with a reduce dentry entry hash table size.  I belive that
  his table suggest that less than 3% change is acceptable variability, but
  overall he got a 5% better number using the new hash algorith.
  
  A) x4408way1.sdet.2.6.5100000-8p.04-05-05_12.08.44 vs 
  B) x4408way1.sdet.2.6.5+hash-100000-8p.04-05-05_11.48.02
  
  
    Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
    Inode-cache hash table entries: 1048576 (order: 10, 4194304 bytes) 
  
  Results:Throughput
  
                                            tolerance = 0.00 + 3.00% of A
                        A            B
     Threads      Ops/sec      Ops/sec    %diff         diff    tolerance
  ----------- ------------ ------------ -------- ------------ ------------
           1    4341.9300    4401.9500     1.38        60.02       130.26 
           2    8242.2000    8165.1200    -0.94       -77.08       247.27 
           4   15274.4900   15257.1000    -0.11       -17.39       458.23 
           8   21326.9200   21320.7000    -0.03        -6.22       639.81 
          16   23056.2100   24282.8000     5.32      1226.59       691.69  * 
          32   23397.2500   24684.6100     5.50      1287.36       701.92  * 
          64   23372.7600   23632.6500     1.11       259.89       701.18 
         128   17009.3900   16651.9600    -2.10      -357.43       510.28 
  =========================================================================

ChangeSet@1.1608.7.94, 2004-05-10 14:02:38-07:00, akpm@osdl.org
  [PATCH] cmpci OSS driver update
  
  From: C.L. Tien <cltien@cmedia.com.tw>
  
  Current version from cmedia.

ChangeSet@1.1608.7.93, 2004-05-10 14:02:27-07:00, akpm@osdl.org
  [PATCH] EDD: follow sysfs convention, MODULE_VERSION, remove dead SCSI symlink
  
  From: Matt Domsch <Matt_Domsch@dell.com>
  
  Clean up the edd.c driver.
  
  * use kobject_set_name() instead of snprintf() per GregKH's recommendation.
  * Add MODULE_VERSION()
  * s/driverfs/sysfs/ in Kconfig
  * Remove report URL message, as there have been too many BIOSs reported,
    virtually none of which are EDD-capable.  This may return if/when I
    develop a better reporting method and database to capture/store the
    data from users.
  * Remove the unused code for creating a symlink to the scsi_device.
    This never worked right, and I'm going to show the relationship from
    a userspace tool which uses libsysfs instead.

ChangeSet@1.1608.7.92, 2004-05-10 14:02:17-07:00, akpm@osdl.org
  [PATCH] blk_start_queue() should use kblockd
  
  kblockd is the thread which runs unplug functions, not keventd.

ChangeSet@1.1608.7.91, 2004-05-10 14:02:06-07:00, akpm@osdl.org
  [PATCH] Only Print Taint Message Once
  
  From: Rusty Russell <rusty@rustcorp.com.au>
  
  Only print the tainted message the first time.  Its purpose is to warn
  users that we can't support them, not to fill their logs.

ChangeSet@1.1608.7.90, 2004-05-10 14:01:55-07:00, akpm@osdl.org
  [PATCH] Un-inline spinlocks on ppc64
  
  From: Paul Mackerras <paulus@samba.org>
  
  The patch below moves the ppc64 spinlocks and rwlocks out of line and into
  arch/ppc64/lib/locks.c, and implements _raw_spin_lock_flags for ppc64.
  
  Part of the motivation for moving the spinlocks and rwlocks out of line was
  that I needed to add code to the slow paths to yield the processor to the
  hypervisor on systems with shared processors.  On these systems, a cpu as
  seen by the kernel is a virtual processor that is not necessarily running
  full-time on a real physical cpu.  If we are spinning on a lock which is
  held by another virtual processor which is not running at the moment, we
  are just wasting time.  In such a situation it is better to do a hypervisor
  call to ask it to give the rest of our time slice to the lock holder so
  that forward progress can be made.
  
  The one problem with out-of-line spinlock routines is that lock contention
  will show up in profiles in the spin_lock etc.  routines rather than in the
  callers, as it does with inline spinlocks.  I have added a CONFIG_SPINLINE
  config option for people that want to do profiling.  In the longer term, Anton
  is talking about teaching the profiling code to attribute samples in the spin
  lock routines to the routine's caller.
  
  This patch reduces the kernel by about 80kB on my G5.  With inline
  spinlocks selected, the kernel gets about 4kB bigger than without the
  patch, because _raw_spin_lock_flags is slightly bigger than _raw_spin_lock.
  
  This patch depends on the patch from Keith Owens to add
  _raw_spin_lock_flags.

ChangeSet@1.1608.7.89, 2004-05-10 14:01:44-07:00, akpm@osdl.org
  [PATCH] Allow architectures to reenable interrupts on contended spinlocks
  
  From: Keith Owens <kaos@sgi.com>
  
  As requested by Linus, update all architectures to add the common
  infrastructure.  Tested on ia64 and i386.
  
  Enable interrupts while waiting for a disabled spinlock, but only if
  interrupts were enabled before issuing spin_lock_irqsave().
  
  This patch consists of three sections :-
  
  * An architecture independent change to call _raw_spin_lock_flags()
    instead of _raw_spin_lock() when the flags are available.
  
  * An ia64 specific change to implement _raw_spin_lock_flags() and to
    define _raw_spin_lock(lock) as _raw_spin_lock_flags(lock, 0) for the
    ASM_SUPPORTED case.
  
  * Patches for all other architectures and for ia64 with !ASM_SUPPORTED
    to map _raw_spin_lock_flags(lock, flags) to _raw_spin_lock(lock).
    Architecture maintainers can define _raw_spin_lock_flags() to do
    something useful if they want to enable interrupts while waiting for
    a disabled spinlock.

ChangeSet@1.1608.7.88, 2004-05-10 14:01:33-07:00, akpm@osdl.org
  [PATCH] Kill some 'No description found...' warnings. (kernel-api.sgml)
  
  From: Alexey Dobriyan <adobriyan@mail.ru>
  
  Fix various kernel-doc parameters.

ChangeSet@1.1608.7.87, 2004-05-10 14:01:22-07:00, akpm@osdl.org
  [PATCH] Kill a warning while making pdfdocs.
  
  From: Alexey Dobriyan <adobriyan@mail.ru>
  
    DOCPROC Documentation/DocBook/parportbook.sgml
  Warning(drivers/parport/share.c:188): No description found for parameter 'drv'
  (kernel-doc parameter name is incorrect.)

ChangeSet@1.1608.7.86, 2004-05-10 14:01:13-07:00, akpm@osdl.org
  [PATCH] com90xx error message patch: check_region() gone
  
  From: Greg Aumann <Greg_Aumann@sil.org>
  
  This patch updates two error messages to reflect changes in the code.

ChangeSet@1.1608.7.85, 2004-05-10 14:01:03-07:00, akpm@osdl.org
  [PATCH] Improve laptop mode's block_dump output
  
  From: "Theodore Ts'o" <tytso@mit.edu>
  
  This patch versus improves the output produced by "echo 1 >
  /proc/sys/vm/block_dump", in the following ways:
  
  1) The messages are printed with KERN_DEBUG, so that even if sysklogd is
     running, if configured appropriately, it will not need to write to log
     files.
  
  2) The inode which is dirtied by a process is now identified more
     precisely by inode number and filesystem ID, and by a dcache name if
     present.
  
  3) In the generic filesystem sget function, the superblock id (s_id) is
     filled in with the filesystem type by default.  Filesystems which are
     block-device based will override s_id, but this allows pseudo
     filesystems such as tmpfs, procfs, etc.  to be identified in (2).

ChangeSet@1.1608.7.84, 2004-05-10 14:00:52-07:00, akpm@osdl.org
  [PATCH] find_user locking and leak fix
  
  find_user() is being called from set/get_priority(), but it doesn't take the
  needed lock, and those callers were forgetting to drop the refcount which
  find_user() took.

ChangeSet@1.1608.7.83, 2004-05-10 14:00:41-07:00, akpm@osdl.org
  [PATCH] mptfusion depends on scsi
  
  From: Olaf Hering <olh@suse.de>

ChangeSet@1.1608.7.82, 2004-05-10 14:00:30-07:00, akpm@osdl.org
  [PATCH] reiserfs: add device info to diagnostic messages
  
  From: Chris Mason <mason@suse.com>
  
  From: Jeff Mahoney <jeffm@suse.com>
  
  Add device info to the various reiserfs warnings and panics so you can tell
  which filesystem triggers the message.  Loosely based on code from Oleg
  Drokin.

ChangeSet@1.1608.7.81, 2004-05-10 14:00:19-07:00, akpm@osdl.org
  [PATCH] reiserfs: xattr permission fix
  
  From: Chris Mason <mason@suse.com>
  
  From: jeffm@suse.com
  
  reiserfs permission bug fix for xattrs

ChangeSet@1.1608.7.80, 2004-05-10 14:00:09-07:00, akpm@osdl.org
  [PATCH] reiserfs: quota support
  
  From: Chris Mason <mason@suse.com>
  
  ReiserFS support for quotas.  Originally from Jan Kara

ChangeSet@1.1608.7.79, 2004-05-10 13:59:58-07:00, akpm@osdl.org
  [PATCH] reiserfs: xattr locking fixes
  
  From: Chris Mason <mason@suse.com>
  
  From: jeffm@suse.com
  
  reiserfs xattr locking fixes

ChangeSet@1.1608.7.78, 2004-05-10 13:59:47-07:00, akpm@osdl.org
  [PATCH] reiserfs: selinux support
  
  From: Chris Mason <mason@suse.com>
  
  From: jeffm@suse.com
  
  reiserfs support for selinux

ChangeSet@1.1608.7.77, 2004-05-10 13:59:36-07:00, akpm@osdl.org
  [PATCH] reiserfs: support trusted xattrs
  
  From: Chris Mason <mason@suse.com>
  
  From: jeffm@suse.com
  
  reiserfs support for trusted xattrs

ChangeSet@1.1608.7.76, 2004-05-10 13:59:25-07:00, akpm@osdl.org
  [PATCH] reiserfs: ACL support
  
  From: Chris Mason <mason@suse.com>
  
  From: jeffm@suse.com
  
  reiserfs acl support

ChangeSet@1.1608.7.75, 2004-05-10 13:59:13-07:00, akpm@osdl.org
  [PATCH] reiserfs: xattr support
  
  From: Chris Mason <mason@suse.com>
  
  From: jeffm@suse.com
  
  reiserfs support for xattrs

ChangeSet@1.1608.7.74, 2004-05-10 13:59:01-07:00, akpm@osdl.org
  [PATCH] reiserfs: acl device node initialization
  
  From: Chris Mason <mason@suse.com>
  
  From: jeffm@suse.com
  
  properly init device inodes in the acl code

ChangeSet@1.1608.7.73, 2004-05-10 13:58:51-07:00, akpm@osdl.org
  [PATCH] Reiserfs commit default fix
  
  From: Bart Samwel <bart@samwel.tk>
  
  This patch from Micha Feigin fixes some bugs in the earlier reiserfs 
  commit default patch. The changelog:
  
  * If you remounted without any commit=NNN option, it would assume commit=0
    and restore the defaults.  This patch makes it leave the current state alone
    if you don't pass commit=NNN.
  
  * Added range check for cast from unsigned long to unsigned int.

ChangeSet@1.1608.7.72, 2004-05-10 13:58:41-07:00, akpm@osdl.org
  [PATCH] partitioning cleanup: use DOS_EXTENDED_PARTITION
  
  From: FabF <Fabian.Frederick@skynet.be>
  
  Use the pre-existing enum rather than magic numbers.

ChangeSet@1.1608.7.71, 2004-05-10 13:58:30-07:00, akpm@osdl.org
  [PATCH] fix 3c59x.c to allow 3c905c 100bT-FD
  
  From: Burton Windle <bwindle@fint.org>
  
  Fix the 3c905C 10/100 transceiver initialisation woes.

ChangeSet@1.1608.7.70, 2004-05-10 13:58:20-07:00, akpm@osdl.org
  [PATCH] shrink_slab: improved handling of GFP_NOFS allocations
  
  Currently, shrink_slab() will decide that it needs to scan a certain number of
  dentries, will call shrink_dcache_memory() requesting that this be done, and
  shrink_dcache_memory() will simply bale out without doing anything because the
  caller did not have __GFP_FS.
  
  This has the potential to disrupt our lovely pagecache-vs-slab balancing act. 
  So change things so that shrinker callouts can return -1, indicating that they
  baled out.  This way, shrink_slab can remember that this slab was owed a
  certain number of scannings and these will be correctly performed next time a
  __GFP_FS caller comes by.

ChangeSet@1.1608.7.69, 2004-05-10 13:58:09-07:00, akpm@osdl.org
  [PATCH] New version of early CPU detect
  
  From: Andi Kleen <ak@suse.de>
  
  We still need some kind of early CPU detection, e.g.  for the AMD768
  workaround and for the slab allocator to size its slabs correctly for the
  cache line.  Also some other code already had private early CPU routines.
  
  This patch takes a new approach compared to the previous patch which caused
  Andrew so much grief.  It only fills in a few selected fields in
  boot_cpu_data (only the data needed to identify the CPU type and the cache
  alignment).  In particular the feature masks are not filled in, and the
  other fields are also not touched to prevent unwanted side effects.
  
  Also convert the ppro workaround to use standard cpu data now. 
  
  I'm not sure if slab still has the necessary support to use the cache line
  size early; previously Manfred showed some serious memory saving with this
  for kernels that are compiled for a bigger cache line size than the CPU (is
  often the case on distribution kernels).  This code could be reenable now
  with this patch.

ChangeSet@1.1608.7.68, 2004-05-10 13:57:58-07:00, akpm@osdl.org
  [PATCH] remove some unused variables in s2io
  
  From: Anton Blanchard <anton@samba.org>
  
  Found a few warnings when compiling with NAPI off.

ChangeSet@1.1608.7.67, 2004-05-10 13:57:48-07:00, akpm@osdl.org
  [PATCH] Remove bootsect_helper on x86_64 and pc98
  
  From: Coywolf Qi Hunt <coywolf@greatcn.org>
  
  Since "Direct booting from floppy is no longer supported", this patch is
  remove the bootsect_helper code from x86_64 and PC-9800.

ChangeSet@1.1608.7.66, 2004-05-10 13:57:37-07:00, akpm@osdl.org
  [PATCH] Remove bootsect_helper and a comment fix
  
  From: Coywolf Qi Hunt <coywolf@greatcn.org>
  
  Since "Direct booting from floppy is no longer supported", this patch is to
  remove the bootsect_helper code.  And also a comment fix.
  
  The other two platforms x86_64 and PC-9800 should also be cleaned up too.

ChangeSet@1.1608.7.65, 2004-05-10 13:57:26-07:00, akpm@osdl.org
  [PATCH] ppc32: ppc8xx build fixes
  
  From: "Prof. BJ" <prof.bj@freemail.hu>
  
  - m8xx_setup warning and mfmsr error fix
  - ppc8xx_pic include error fix
  - tqm8xxl.c typeing (syntax) error fix
  - commproc.c include error and prototype warning fix
  
  (acked by Matt Porter)

ChangeSet@1.1608.7.64, 2004-05-10 13:57:16-07:00, akpm@osdl.org
  [PATCH] es7000 subarch update
  
  From: "Protasevich, Natalie" <Natalie.Protasevich@UNISYS.com>
  
  The patch fixes a problem with ES7000 Server Management mechanism that uses
  platform register mip_port.  It was not initialized, so the mechanism was not
  functional.
  
  The patch also fixes the APIC destination for hierarchical and flat cluster
  models used in ES7000.  The destination ID's reflect policies for Cascade
  based systems which use logical delivery and lowest priority mechanism, and
  for xAPIC based models that use physical delivery and fixed APIC destinations.
  
  The patch also turns on NO_IOAPIC_CHECK (1) to avoid error messages and
  attempts to re-write the ID, because on ES7000 all ID's are hard coded in the
  BIOS and cannot be altered.

ChangeSet@1.1608.7.63, 2004-05-10 13:57:05-07:00, akpm@osdl.org
  [PATCH] Consolidate sys32_nfsservctl
  
  From: Arnd Bergmann <arnd@arndb.de>
  
  sys32_nfsservctl is the largest remaining syscall emulation handler that can
  be consolidated.  mips and ia64 currently don't use this at all, parisc has a
  simpler implementation than the one used by s390, sparc ppc and that the new
  compat_sys_nfsservctl is based on.
  
  The user access checks in the code are inconsistant at least, which should be
  fixed here.
  
  Compile tested only due to lack of proper test setup.

ChangeSet@1.1608.7.62, 2004-05-10 13:56:53-07:00, akpm@osdl.org
  [PATCH] Consolidate sys32_select
  
  From: Arnd Bergmann <arnd@arndb.de>
  
  sys32_select has seven mostly but not exactly identical versions, so
  consolidate them as compat_sys_select.  Based on the ppc64 implementation,
  which most closely resembles sys_select.  One bug that was not caught by LTP
  has been fixed since the first version of this patch.
  
  tested x86_64, ia64 and s390.

ChangeSet@1.1608.7.61, 2004-05-10 13:56:42-07:00, akpm@osdl.org
  [PATCH] Consolidate do_execve32
  
  From: Arnd Bergmann <arnd@arndb.de>
  
  The code for sys32_execve/do_execve32 in most of the seven versions was copied
  from fs/exec.c but not kept up-to-date.  The new compat_do_execve() function
  is based on the mips code and has been resync'ed with do_execve().  IA64
  changes are from Arun Sharma.
  
  Tested on x86_64, ia64 and s390

ChangeSet@1.1608.7.60, 2004-05-10 13:56:32-07:00, akpm@osdl.org
  [PATCH] Consolidate sys32_readv and sys32_writev
  
  From: Arnd Bergmann <arnd@arndb.de>
  
  The seven implementations of this have gone out of sync and are mostly buggy. 
  The new compat_sys_* version is based on the ppc64 implementation, which most
  closely resembles the code in sys_readv/sys_writev.
  
  Tested on x86_64, ia64 and s390.

ChangeSet@1.1608.7.59, 2004-05-10 13:56:20-07:00, akpm@osdl.org
  [PATCH] AS: increase batch expiry intervals
  
  From: Nick Piggin <nickpiggin@yahoo.com.au>
  
  Without disturbing the read/write ratio, increase the bathc expiry
  intervals.  This wil have the effect of increasing latency a little, but
  with improved throughput.

ChangeSet@1.1608.7.58, 2004-05-10 13:56:10-07:00, akpm@osdl.org
  [PATCH] Laptop Mode doc update
  
  From: <bart@samwel.tk>
  
  Richard Atterer reported that mutt does not play well with noatime (it uses
  access times to check whether new mail has arrived in a folder).  This patch
  warns about this in the doc, and adds a setting to the control script to
  disable the noatime remount.

ChangeSet@1.1608.7.57, 2004-05-10 13:55:59-07:00, akpm@osdl.org
  [PATCH] cyclades MAINTAINERS update
  
  From: Marcelo Tosatti <marcelo.tosatti@cyclades.com>

ChangeSet@1.1608.7.56, 2004-05-10 13:55:49-07:00, akpm@osdl.org
  [PATCH] selinux: reopen descriptors closed on exec to /dev/null
  
  From: Stephen Smalley <sds@epoch.ncsc.mil>
  
  This patch changes the SELinux module to try to reset any descriptors it
  closes on exec (due to a lack of permission by the new domain to the inherited
  open file) to refer to the null device.  This counters the problem of SELinux
  inducing program misbehavior, particularly due to having descriptors 0-2
  closed when the new domain is not allowed access to the caller's tty.  This is
  primarily to address the case where the caller is trusted with respect to the
  new domain, as the untrusted caller case is already handled via AT_SECURE and
  glibc secure mode.  The code is partly based on the OpenWall LSM, which in
  turn drew from the OpenWall kernel patch.  Note that the code does not
  guarantee that the descriptor is always re-opened to /dev/null; it merely
  makes a reasonable effort to do so, but can fail under various conditions.

ChangeSet@1.1608.7.55, 2004-05-10 13:55:38-07:00, akpm@osdl.org
  [PATCH] ext3 error handling fixes
  
  From: Andreas Dilger <adilger@clusterfs.com>
  
  a) we don't call ext3_error() for an IO error in ext3_find_entry(), so we
     won't do the normal ext3 error handling (mark SB in error, remount-ro
     or panic if desired);
  b) in empty_dir() we don't continue checking for non-empty blocks after a
     content error (ext3_check_dir_entry() calls ext3_error() already);
  c) we had decided not to mark the SB in error for holes in directories to
     allow leway in the indexed-directory implementation, but this change
     incorrectly also disabled marking the SB in error for real IO errors.

ChangeSet@1.1608.7.54, 2004-05-10 13:55:27-07:00, akpm@osdl.org
  [PATCH] sched: in_sched_functions() cleanup
  
  From: Rusty Russell <rusty@rustcorp.com.au>
  
  1) Create an in_sched_functions() function in sched.c and make the
     archs use it.  (Two archs have wchan #if 0'd out: left them alone).
  
  2) Move __sched from linux/init.h to linux/sched.h and add comment.
  
  3) Rename __scheduling_functions_start_here/end_here to __sched_text_start/end.
  
  Thanks to wli and Sam Ravnborg for clue donation.

ChangeSet@1.1608.7.53, 2004-05-10 13:55:16-07:00, akpm@osdl.org
  [PATCH] Fix ext3 bogus ENOSPC
  
  With strange workloads which do a lot of quick truncation on small filesystems
  it is possible to get into a situation where there are free blocks on the
  disk, but they are not allocatable at this time due to their having been freed
  up in the current JBD transaction.  Applications get unexpected ENOSPC errors.
  
  We can fix that with this patch, originally by Andreas Dilger which forces a
  single commit+retry when an ENOSPC is encountered.

ChangeSet@1.1608.7.52, 2004-05-10 13:55:06-07:00, akpm@osdl.org
  [PATCH] reduce NMI watchdog call frequency with local APIC.
  
  From: Mikael Pettersson <mikpe@csd.uu.se>
  
  The real problem is that SMP with nmi_watchdog=2 initialises the lapic NMI
  watchdog but doesn't check it and therefore doesn't reduce nmi_hz.  This is
  an SMP bug.
  
  The patch changes smpboot.c to do a check_nmi_watchdog() at the appropriate
  place, which fixes the high NMI frequency problem w/o changing anything
  else.  I've verified that it solves the problem on my MP-capable UP box.

ChangeSet@1.1608.7.51, 2004-05-10 13:54:55-07:00, akpm@osdl.org
  [PATCH] Fix nmi_watchdog=2 and P4 HT
  
  From: Philippe Elie <phil.el@wanadoo.fr>
  
  With nmi_watchdog=2 and a P4 ht box the nmi is occurring only on logical
  processor 0, it's better to get it on both.
  
  With this patch, on x86 SMP and nmi_watchdog=2, nmi interupts occur at 1000
  hz (if the cpu is loaded) not at the intended 1 hz rate but that's a distinct
  problem.

ChangeSet@1.1608.7.50, 2004-05-10 13:54:45-07:00, akpm@osdl.org
  [PATCH] Fixes in 32 bit ioctl emulation code
  
  From: Raghavan <raghav@in.ibm.com>,
        me
  
  I am submitting a patch that fixes 2 race conditions in the 32 bit ioctl
  emulation code.(fs/compat.c) Since the search is not locked; when a
  ioctl_trans structure is deleted, corruption can occur.
  
  The following scenarios discuss the race conditions:
  
  1) When the search is hapenning, if any ioctl_trans structure gets
     deleted; then rather than searching the hash table, the code will start
     searching the free list.
  
  while (t && t->cmd != cmd)
          -

ChangeSet@1.1608.7.49, 2004-05-10 13:54:34-07:00, akpm@osdl.org
  [PATCH] mips: sgiwd93 2.6 fixes and crapectomy
  
  From: Ralf Baechle <ralf@linux-mips.org>
  
  Get to work under 2.6 sorting out the giant mess this has been.  Further
  cleanups would require a full crapectomy of wd33c93.c itself ...

ChangeSet@1.1608.7.48, 2004-05-10 13:54:24-07:00, akpm@osdl.org
  [PATCH] mips: remove dz driver
  
  From: Ralf Baechle <ralf@linux-mips.org>
  
  This driver has been obsoleted by drivers/serial/dz.c.

ChangeSet@1.1608.7.47, 2004-05-10 13:54:13-07:00, akpm@osdl.org
  [PATCH] mips: 64-bit MIPS needs compat stuff
  
  From: Ralf Baechle <ralf@linux-mips.org>

ChangeSet@1.1608.7.46, 2004-05-10 13:54:02-07:00, akpm@osdl.org
  [PATCH] mips: add missing IP22 Zilog bit
  
  From: Ralf Baechle <ralf@linux-mips.org>
  
  Add missing definition PORT_IP22ZILOG which is need by ip22zilog driver.

ChangeSet@1.1608.7.45, 2004-05-10 13:53:51-07:00, akpm@osdl.org
  [PATCH] mips: GBE Video Driver
  
  From: Ralf Baechle <ralf@linux-mips.org>
  
  This patch adds the GBE video driver for the video system in SGI IP32
  aka O2 and it's i386-based equivalent the Visual Workstation.
                                                                                
  This driver obsoletes sgivwfb.c; but I'd prefer to play safe and remove
  it after some additional time, just in case.

ChangeSet@1.1608.7.44, 2004-05-10 13:53:41-07:00, akpm@osdl.org
  [PATCH] mips: remove VIDEO_TYPE_SNI_RM
  
  From: Ralf Baechle <ralf@linux-mips.org>
  
  The RM200's onboard video really is a plain old boring Cyrix PCI card.

ChangeSet@1.1608.7.43, 2004-05-10 13:53:30-07:00, akpm@osdl.org
  [PATCH] mips: newport driver fixes
  
  From: Ralf Baechle <ralf@linux-mips.org>
  
  Make the driver for Newport aka XL work in 2.6.

ChangeSet@1.1608.7.42, 2004-05-10 13:53:19-07:00, akpm@osdl.org
  [PATCH] mips: Simplify expression
  
  From: Ralf Baechle <ralf@linux-mips.org>
  
  CONFIG_MIPS is always defined, for 32-bit and 64-bit.

ChangeSet@1.1608.7.41, 2004-05-10 13:53:07-07:00, akpm@osdl.org
  [PATCH] mips: fix 2.6 fb setup
  
  From: Ralf Baechle <ralf@linux-mips.org>

ChangeSet@1.1608.7.40, 2004-05-10 13:52:56-07:00, akpm@osdl.org
  [PATCH] MIPS update
  
  From: Ralf Baechle <ralf@linux-mips.org>
  
   - Kconfig cleanups:
      - enable DMA_NONCOHERENT, DMA_COHERENT or DMA_IP27 via reverse dependencies
      - untangle VRC4171 / VRC4173 selection
      - R10000 support enables PREFETCH
      - SEAD needs IRQ_CPU
   - Update defconfig against latest Kconfig files.
   - Fix computation of return address if syscall number was out of range
   - Add power managment hooks in signal code.
   - Don't try to handle signals when previous context was not in user mode.
   - Fix serial interface setup for VR41xx systems.
   - Build fixes after CLEAR_BITMAP changed name.
   - Removes bogus comment from <asm/checksum.h>
   - <asm/hdreg.h> is dead.
   - Start collecting common definitions for PMON firmware in <asm/pmon.h>
   - Define ARCH_MIN_TASKALIGN to 8; we have 64-bit members even on 32-bit
     kernels if we're running on MIPS II or better.

ChangeSet@1.1608.7.39, 2004-05-10 13:52:43-07:00, akpm@osdl.org
  [PATCH] Fix deadlock in journalled quota
  
  From: Jan Kara <jack@ucw.cz>
  
  Attached patch should fix reported deadlock in journalled quota code.
  quotactl() call was violating the locking rules and didn't start transaction
  when it should.
  
  From: <raven@themaw.net>
  
    Found a couple of symbols not exported that were needed by the ext3.ko
    module.

ChangeSet@1.1608.8.1, 2004-05-10 16:48:38-04:00, len.brown@intel.com
  [ACPI] handle _CRS outside _PRS -- even when non-zero
  avoid sharing IRQ12
  http://bugzilla.kernel.org/show_bug.cgi?id=2665

ChangeSet@1.1371.764.49, 2004-05-10 15:38:00-05:00, markh@osdl.org
  [PATCH] aacraid reset handler fix
  
  This fixes a situation where the handler can exit too early.

ChangeSet@1.1608.7.38, 2004-05-10 13:30:22-07:00, akpm@osdl.org
  [PATCH] migration_thread() race fix
  
  From: Srivatsa Vaddagiri <vatsa@in.ibm.com>
  
  Noticed that migration_thread can examine "kthread_should_stop()?" without
  setting its state to TASK_INTERRUPTIBLE first.  This can cause kthread_stop
  on that thread to block forever ...
  
  P.S 	- I assumed that having the task state set to TASK_INTERRUTIBLE
  	  while it is doing active_load_balance is fine. It seemed to be
  	  the case earlier also.

ChangeSet@1.1608.7.37, 2004-05-10 13:30:12-07:00, akpm@osdl.org
  [PATCH] sched_getaffinity vs cpu hotplug race fix
  
  From: Srivatsa Vaddagiri <vatsa@in.ibm.com>
  
  Fix the race in sys_sched_getaffinity.  Patch below takes cpu_hotplug lock
  before reading cpus_allowed mask of a task.

ChangeSet@1.1608.7.36, 2004-05-10 13:30:01-07:00, akpm@osdl.org
  [PATCH] Move migrate_all_tasks to CPU_DEAD handling
  
  From: Srivatsa Vaddagiri <vatsa@in.ibm.com>
  
  migrate_all_tasks is currently run with rest of the machine stopped.
  It iterates thr' the complete task table, turning off cpu affinity of any task
  that it finds affine to the dying cpu. Depending on the task table
  size this can take considerable time. All this time machine is stopped, doing
  nothing.
  
  Stopping the machine for such extended periods can be avoided if we do
  task migration in CPU_DEAD notification and that's precisely what this patch
  does.
  
  The patch puts idle task to the _front_ of the dying CPU's runqueue at the 
  highest priority possible. This cause idle thread to run _immediately_ after
  kstopmachine thread yields. Idle thread notices that its cpu is offline and
  dies quickly. Task migration can then be done at leisure in CPU_DEAD
  notification, when rest of the CPUs are running.
  
  Some advantages with this approach are:
  
  	- More scalable. Predicatable amout of time that machine is stopped.
  	- No changes to hot path/core code. We are just exploiting scheduler
  	  rules which runs the next high-priority task on the runqueue. Also
  	  since I put idle task to the _front_ of the runqueue, there
  	  are no races when a equally high priority task is woken up
  	  and added to the runqueue. It gets in at the back of the runqueue,
  	  _after_ idle task!
  	- cpu_is_offline check that is presenty required in try_to_wake_up,
  	  idle_balance and rebalance_tick can be removed, thus speeding them
  	  up a bit
  
  From: Srivatsa Vaddagiri <vatsa@in.ibm.com>
  
    Rusty mentioned that the unlikely hints against cpu_is_offline is
    redundant since the macro already has that hint.  Patch below removes those
    redundant hints I added.

ChangeSet@1.1608.7.35, 2004-05-10 13:29:51-07:00, akpm@osdl.org
  [PATCH] sched: Look at another CPU's domain
  
  From: Nick Piggin <nickpiggin@yahoo.com.au>
  
  The SMT wake_idle code really wants to look at a non-local CPU's domain in
  order to check for idle siblings.
  
  So change the domain attachment code a little bit so we continue to hold a
  runqueue's lock while attaching a new domain.  This means the locking rules
  have changed to: you may access your own domain without any lock, you must
  hold a remote runqueue's lock in order to view its domain.

ChangeSet@1.1608.7.34, 2004-05-10 13:29:40-07:00, akpm@osdl.org
  [PATCH] sched: micro-optimisation for wake_up
  
  From: Nick Piggin <nickpiggin@yahoo.com.au>
  
  This actually does produce better code, especially under the locked
  section.
  
  Turns a conditional + unconditional jump under the lock in the unlikely
  case into a cmov outside the lock.

ChangeSet@1.1608.7.33, 2004-05-10 13:29:30-07:00, akpm@osdl.org
  [PATCH] sched: reduce idle time
  
  From: Nick Piggin <nickpiggin@yahoo.com.au>
  
  It makes NEWLY_IDLE balances cause find_busiest_group return the busiest
  available group even if there isn't an imbalance.  Basically - try a bit
  harder to prevent schedule emptying the runqueue.
  
  It is quite aggressive, but that isn't so bad because we don't (by default)
  do NEWLY_IDLE balancing across NUMA nodes, and NEWLY_IDLE balancing is always
  restricted to cache_hot tasks.
  
  It picked up a little bit of idle time that dbt2-pgsql was seeing...

ChangeSet@1.1608.7.32, 2004-05-10 13:29:19-07:00, akpm@osdl.org
  [PATCH] sched: balance-on-clone
  
  From: Ingo Molnar <mingo@elte.hu>
  
  Implement balancing during clone().  It does the following things:
  
  - introduces SD_BALANCE_CLONE that can serve as a tool for an
    architecture to limit the search-idlest-CPU scope on clone().
    E.g. the 512-CPU systems should rather not enable this.
  
  - uses the highest sd for the imbalance_pct, not this_rq (which didnt
    make sense).
  
  - unifies balance-on-exec and balance-on-clone via the find_idlest_cpu()
    function. Gets rid of sched_best_cpu() which was still a bit
    inconsistent IMO, it used 'min_load < load' as a condition for
    balancing - while a more correct approach would be to use half of the
    imbalance_pct, like passive balancing does.
  
  - the patch also reintroduces the possibility to do SD_BALANCE_EXEC on
    SMP systems, and activates it - to get testing.
  
  - NOTE: there's one thing in this patch that is slightly unclean: i
    introduced wake_up_forked_thread. I did this to make it easier to get
    rid of this patch later (wake_up_forked_process() has lots of
    dependencies in various architectures). If this capability remains in
    the kernel then i'll clean it up and introduce one function for
    wake_up_forked_process/thread.
  
  - NOTE2: i added the SD_BALANCE_CLONE flag to the NUMA CPU template too.
    Some NUMA architectures probably want to disable this.

ChangeSet@1.1608.7.31, 2004-05-10 13:29:07-07:00, akpm@osdl.org
  [PATCH] sched: cpu load management cleanup
  
  From: Ingo Molnar <mingo@elte.hu>
  
  This does the source/target cleanup.  This is a no-functionality patch which
  also adds more comments to explain these functions.

ChangeSet@1.1608.7.30, 2004-05-10 13:28:57-07:00, akpm@osdl.org
  [PATCH] sched: passive balancing damping
  
  From: Nick Piggin <nickpiggin@yahoo.com.au>
  
  This patch starts to balance woken processes when half the relevant domain's
  imbalance_pct is reached.  Previously balancing would start after a small,
  constant difference in waker/wakee runqueue loads was reached, which would
  cause too much process movement when there are lots of processes running.
  
  It also turns wake balancing into a domain flag while previously it was always
  on.  Now sched domains can "soft partition" an SMP system without using
  processor affinities.

ChangeSet@1.1608.7.29, 2004-05-10 13:28:46-07:00, akpm@osdl.org
  [PATCH] sched: cleanups
  
  From: Ingo Molnar <mingo@elte.hu>
  
  This re-adds cleanups which were lost in splitups of an earlier patch.

ChangeSet@1.1608.7.28, 2004-05-10 13:28:35-07:00, akpm@osdl.org
  [PATCH] sched: lock cpu_attach_domain for hotplug
  
  From: Nick Piggin <nickpiggin@yahoo.com.au>
  
  The attached patch is required to work correctly with the CPU hotplug
  framework.  John Hawkes reports successful booting with this.

ChangeSet@1.1608.7.27, 2004-05-10 13:28:20-07:00, akpm@osdl.org
  [PATCH] sched: extend sync wakeups
  
  From: Ingo Molnar <mingo@elte.hu>
  
  The attached patch extends sync wakeups to the process sys_exit() path too:
  the chldwait wakeup can be done sync, since we know that the process is
  going to exit (and thus deschedule).
  
  The most visible effect of this change is strace's behavior on SMP systems:
  it now stays on a single CPU, together with the traced child.  (previously
  it would run in parallel to the child, bouncing around madly.)

ChangeSet@1.1608.7.26, 2004-05-10 13:28:10-07:00, akpm@osdl.org
  [PATCH] sched: add enqueeu_task_head()
  
  From: Ingo Molnar <mingo@elte.hu>
  
  Helper function for later patches

ChangeSet@1.1608.7.25, 2004-05-10 13:27:59-07:00, akpm@osdl.org
  [PATCH] sched: uninlinings
  
  From: Ingo Molnar <mingo@elte.hu>
  
  Uninline things

ChangeSet@1.1608.7.24, 2004-05-10 13:27:48-07:00, akpm@osdl.org
  [PATCH] sched: minor cleanups
  
  From: Nick Piggin <nickpiggin@yahoo.com.au>
  
  Minor cleanups from Ingo's patch including task_hot (do it right in
  try_to_wake_up too).

ChangeSet@1.1608.7.23, 2004-05-10 13:27:37-07:00, akpm@osdl.org
  [PATCH] sched: fix setup races
  
  From: Nick Piggin <nickpiggin@yahoo.com.au>
  
  De-racify the sched domain setup code.  This involves creating a dummy
  "init" domain during sched_init (which is called early).
  
  When topology information becomes available, the sched domains are then
  built and attached.  The attach mechanism is asynchronous and uses the
  migration threads, which perform the switch with interrupts off.  This is a
  quiescent state, so domains can still be lockless on the read side.  It
  also allows us to change the domains at runtime without much more work. 
  This is something SGI is interested in to elegantly do soft partitioning of
  their systems without having to use hard cpu affinities (which cause
  balancing problems of their own).
  
  The current setup code also has a race somewhere because it is unable to
  boot on a 384 CPU system.
  
  
  
  From: Anton Blanchard <anton@samba.org>
  
     This is basically a mindless ppc64 merge of the x86 changes to sched
     domain init code.
  
     Actually if I produce a sibling_map[] then the x86 code and the ppc64
     will be identical.  Maybe we can merge it.

ChangeSet@1.1608.7.22, 2004-05-10 13:27:24-07:00, akpm@osdl.org
  [PATCH] ARCH_HAS_SCHED_WAKE_BALANCE doesnt exist
  
  From: Anton Blanchard <anton@samba.org>
  
  It seems someone has been making trivial changes without using grep.

ChangeSet@1.1608.7.21, 2004-05-10 13:27:13-07:00, akpm@osdl.org
  [PATCH] ppc64: sched-domain support
  
  From: Anton Blanchard <anton@samba.org>
  
  Below are the diffs between the current ppc64 sched init stuff and x86.
  
  - Ignore the POWER5 specific stuff, I dont set up a sibling map yet.
  - What should I set cache_hot_time to?
  
  large cpumask typechecking requirements (perhaps useful on x86 as well):
  - cpu->cpumask = CPU_MASK_NONE -> cpus_clear(cpu->cpumask);
  - cpus_and(nodemask, node_to_cpumask(i), cpu_possible_map) doesnt work,
    need to use a temporary

ChangeSet@1.1608.7.20, 2004-05-10 13:27:02-07:00, akpm@osdl.org
  [PATCH] sched: oops fix
  
  From: Nick Piggin <nickpiggin@yahoo.com.au>
  
  After the for_each_domain change, the warn here won't trigger, instead it
  will oops in the if statement.  Also, make sure we don't pass an empty
  cpumask to for_each_cpu.

ChangeSet@1.1608.7.19, 2004-05-10 13:26:51-07:00, akpm@osdl.org
  [PATCH] sched: altix tuning
  
  From: Nick Piggin <nickpiggin@yahoo.com.au>
  
  From: John Hawkes
  
  The following brings up performance on a 64-way Altix.  This system being on
  the smaller end of the scale should also be applicable to other NUMA systems.

ChangeSet@1.1608.7.18, 2004-05-10 13:26:40-07:00, akpm@osdl.org
  [PATCH] sched: fix imbalance calculations
  
  From: Nick Piggin <nickpiggin@yahoo.com.au>
  
  Imbalance calculations were not right.  This would cause unneeded migration.

ChangeSet@1.1608.7.17, 2004-05-10 13:26:30-07:00, akpm@osdl.org
  [PATCH] sched: wakeup balancing fixes
  
  From: Nick Piggin <nickpiggin@yahoo.com.au>
  
  Make affine wakes and "passive load balancing" more conservative.  Aggressive
  affine wakeups were causing huge regressions in dbt3-pgsql on 8-way non NUMA
  systems at OSDL's STP.

ChangeSet@1.1608.7.16, 2004-05-10 13:26:19-07:00, akpm@osdl.org
  [PATCH] Hotplug CPU sched_balance_exec Fix
  
  From: Rusty Russell <rusty@rustcorp.com.au>
  
  From: Srivatsa Vaddagiri <vatsa@in.ibm.com>
  From: Andrew Morton <akpm@osdl.org>
  From: Rusty Russell <rusty@rustcorp.com.au>
  
  We want to get rid of lock_cpu_hotplug() in sched_migrate_task.  Found
  that lockless migration of execing task is _extremely_ racy.  The
  races I hit are described below, alongwith probable solutions.
  
  Task migration done elsewhere should be safe (?) since they either
  hold the lock (sys_sched_setaffinity) or are done entirely with preemption 
  disabled (load_balance).
  
     sched_balance_exec does:
  
  	a. disables preemption
  	b. finds new_cpu for current
  	c. enables preemption
  	d. calls sched_migrate_task to migrate current to new_cpu
  
     and sched_migrate_task does:
  
  	e. task_rq_lock(p)
  	f. migrate_task(p, dest_cpu ..)
  		(if we have to wait for migration thread)
  		g. task_rq_unlock()
  		h. wake_up_process(rq->migration_thread)
  		i. wait_for_completion()
  
     Several things can happen here:
  
  	1. new_cpu can go down after h and before migration thread has
  	   got around to handle the request
  
  	   ==> we need to add a cpu_is_offline check in __migrate_task
  
  	2. new_cpu can go down between c and d or before f.
  
  	   ===> Even though this case is automatically handled by the above 
  	        change (migrate_task being called on a running task, current,
  		will delegate migration to migration thread), would it be 
  	 	good practice to avoid calling migrate_task in the first place
  		itself when dest_cpu is offline. This means adding another
  	 	cpu_is_offline check after e in sched_migrate_task
  
  	3. The 'current' task can get preempted _immediately_ after
  	   g and when it comes back, task_cpu(p) can be dead. In
  	   which case, it is invalid to do wake_up on a non-existent migration 
  	   thread.  (rq->migration_thread can be NULL).
  
  	   ===> We should disable preemption thr' g and h
  
  	4. Before migration thread gets around to handle the request, its cpu
  	   goes dead. This will leave unhandled migration requests in the dead 
  	   cpu. 
  
  	   ===> We need to wakeup sleeping requestors (if any) in CPU_DEAD
  	        notification.
  
  I really wonder if we can get rid of these issues by avoiding balancing at 
  exec time and instead have it balanced during load_balance ..Alternately
  if this is valuable and we want to retain it, I think we still need to
  consider a read/write sem, with sched_migrate_task doing down_read_trylock.
  This may eliminate the deadlock I hit between cpu_up and CPU_UP_PREPARE 
  notification, which had forced me away from r/w sem.
  
  Anyway patch below addresses the above races. Its against 2.6.6-rc2-mm1
  and has been tested on a 4way Intel Pentium SMP m/c.
  
  
  Rusty sez:
  
  Two other changes:
  1) I grabbed a reference to the thread, rather than using
  preempt_disable().  It's the more obvious way I think.
  
  2) Why the wait_to_die code?  It might be needed if we move tasks after
  stop_machine, but for nowI don't see the problem with the migration
  thread running on the wrong CPU for a bit: nothing is on this runqueue
  so active_load_balance is safe, and __migrate task will be a noop (due
  to cpu_is_offline() check).  If there is a problem, your fix is racy,
  because we could be preempted immediately afterwards.
  
  So I just stop the kthread then wakeup any remaining...

ChangeSet@1.1608.7.15, 2004-05-10 13:26:09-07:00, akpm@osdl.org
  [PATCH] sched: trivial fixes, cleanups
  
  From: Ingo Molnar <mingo@elte.hu>
  
  The trivial fixes.
  
  - added recent trivial bits from Nick's and my patches.
  - hotplug CPU fix
  - early init cleanup

ChangeSet@1.1608.7.14, 2004-05-10 13:25:57-07:00, akpm@osdl.org
  [PATCH] Reduce TLB flushing during process migration
  
  From: Martin Hicks <mort@wildopensource.com>
  
  Another optimization patch from Jack Steiner, intended to reduce TLB
  flushes during process migration.
  
  Most architextures should define tlb_migrate_prepare() to be flush_tlb_mm(),
  but on i386, it would be a wasted flush, because i386 disconnects previous
  cpus from the tlb flush automatically.

ChangeSet@1.1608.7.13, 2004-05-10 13:25:45-07:00, akpm@osdl.org
  [PATCH] sched: add local load metrics
  
  From: Nick Piggin <piggin@cyberone.com.au>
  
  This patch removes the per runqueue array of NR_CPU arrays.  Each time we
  want to check a remote CPU's load we check nr_running as well anyway, so
  introduce a cpu_load which is the load of the local runqueue and is kept
  updated in the timer tick.  Put them in the same cacheline.
  
  This has additional benefits of having the cpu_load consistent across all
  CPUs and more up to date.  It is sampled better too, being updated once per
  timer tick.
  
  This shouldn't make much difference in scheduling behaviour, but all
  benchmarks are either as good or better on the 16-way NUMAQ: hackbench,
  reaim, volanomark are about the same, tbench and dbench are maybe a bit
  better.  kernbench is about one percent better.
  
  John reckons it isn't a big deal, but it does save 4K per CPU or 2MB total
  on his big systems, so I figure it must be a bit kinder on the caches.  I
  think it is just nicer in general anyway.

ChangeSet@1.1608.7.12, 2004-05-10 13:25:34-07:00, akpm@osdl.org
  [PATCH] sched: SMT niceness handling
  
  From: Con Kolivas <kernel@kolivas.org>
  
  This patch provides full per-package priority support for SMT processors
  (aka pentium4 hyperthreading) when combined with CONFIG_SCHED_SMT.
  
  It maintains cpu percentage distribution within each physical cpu package
  by limiting the time a lower priority task can run on a sibling cpu
  concurrently with a higher priority task.
  
  It introduces a new flag into the scheduler domain
  unsigned int per_cpu_gain;	/* CPU % gained by adding domain cpus */
  
  This is empirically set to 15% for pentium4 at the moment and can be
  modified to support different values dynamically as newer processors come
  out with improved SMT performance.  It should not matter how many siblings
  there are.
  
  How it works is it compares tasks running on sibling cpus and when a lower
  static priority task is running it will delay it till
  high_priority_timeslice * (100 - per_cpu_gain) / 100 <= low_prio_timeslice
  
  eg.  a nice 19 task timeslice is 10ms and nice 0 timeslice is 102ms On
  vanilla the nice 0 task runs on one logical cpu while the nice 19 task runs
  unabated on the other logical cpu.  With smtnice the nice 0 runs on one
  logical cpu for 102ms and the nice 19 sleeps till the nice 0 task has 12ms
  remaining and then will schedule.
  
  Real time tasks and kernel threads are not altered by this code, and kernel
  threads do not delay lower priority user tasks.
  
  with lots of thanks to Zwane Mwaikambo and Nick Piggin for help with the
  coding of this version.
  
  If this is merged, it is probably best to delay pushing this upstream in
  mainline till sched_domains gets tested for at least one major release.

ChangeSet@1.1608.7.11, 2004-05-10 13:25:22-07:00, akpm@osdl.org
  [PATCH] sched_domains: use cpu_possible_map
  
  From: Nick Piggin <piggin@cyberone.com.au>
  
  This changes sched domains to contain all possible CPUs, and check for
  online as needed.  It's in order to play nicely with CPU hotplug.

ChangeSet@1.1608.7.10, 2004-05-10 13:25:11-07:00, akpm@osdl.org
  [PATCH] sched-group-power
  
  From: Nick Piggin <piggin@cyberone.com.au>
  
  The following patch implements a cpu_power member to struct sched_group.
  
  This allows special casing to be removed for SMT groups in the balancing
  code.  It does not take CPU hotplug into account yet, but that shouldn't be
  too hard.
  
  I have tested it on the NUMAQ by pretending it has SMT.  Works as expected.
  Active balances across nodes.

ChangeSet@1.1608.7.9, 2004-05-10 13:25:00-07:00, akpm@osdl.org
  [PATCH] sched_balance_exec(): don't fiddle with the cpus_allowed mask
  
  From: Rusty Russell <rusty@rustcorp.com.au>,
        Nick Piggin <piggin@cyberone.com.au>
  
  The current sched_balance_exec() sets the task's cpus_allowed mask
  temporarily to move it to a different CPU.  This has several issues,
  including the fact that a task will see its affinity at a bogus value.
  
  So we change the migration_req_t to explicitly specify a destination CPU,
  rather than the migration thread deriving it from cpus_allowed.  If the
  requested CPU is no longer valid (racing with another set_cpus_allowed,
  say), it can be ignored: if the task is not allowed on this CPU, there will
  be another migration request pending.
  
  This change allows sched_balance_exec() to tell the migration thread what
  to do without changing the cpus_allowed mask.
  
  So we rename __set_cpus_allowed() to move_task(), as the cpus_allowed mask
  is now set by the caller.  And move_task_away(), which the migration thread
  uses to actually perform the move, is renamed __move_task().
  
  I also ignore offline CPUs in sched_best_cpu(), so sched_migrate_task()
  doesn't need to check for offline CPUs.
  
  Ulterior motive: this approach also plays well with CPU Hotplug.
  Previously that patch might have seen a task with cpus_allowed only
  containing the dying CPU (temporarily due to sched_balance_exec) and
  forcibly reset it to all cpus, which might be wrong.  The other approach is
  to hold the cpucontrol sem around sched_balance_exec(), which is too much
  of a bottleneck.

ChangeSet@1.1608.7.8, 2004-05-10 13:24:49-07:00, akpm@osdl.org
  [PATCH] sched: handle inter-CPU jiffies skew
  
  From: Nick Piggin <piggin@cyberone.com.au>
  
  John Hawkes discribed this problem to me:
  
  There *is* a small problem in this area, though, that SuSE avoids.
  "jiffies" gets updated by cpu0.  The other CPUs may, over time, get out of
  sync (and they're initialized on ia64 to start out being out of sync), so
  it's no guarantee that every CPU will wake up from its timer interrupt and
  see a "jiffies" value that is guaranteed to be last_jiffies+1.  Sometimes
  the jiffies value may be unchanged since the last wakeup.  Sometimes the
  jiffies value may have incremented by 2 (or more, especially if cpu0's
  interrupts are disabled for long stretches of time).  So an algoithm that
  says, "I'll call load_balance() only when jiffies is *exactly* N" is going
  to fail on occasion, either by calling load_balance() too often or not
  often enough.  ***
  
  I fixed this by adding a last_balance field to struct sched_domain, and
  working off that.

ChangeSet@1.1608.7.7, 2004-05-10 13:24:38-07:00, akpm@osdl.org
  [PATCH] sched: implement domains for i386 HT
  
  From: Nick Piggin <piggin@cyberone.com.au>
  
  The following patch builds a scheduling description for the i386
  architecture using cpu_sibling_map to set up SMT if CONFIG_SCHED_SMT is
  set.
  
  It could be made more fancy and collapse degenerate domains at runtime (ie.
  1 sibling per CPU, or 1 NUMA node in the computer).
  
  
  From: Zwane Mwaikambo <zwane@arm.linux.org.uk>
  
     This fixes an oops due to cpu_sibling_map being uninitialised when a
     system with no MP table (most UP boxen) boots a CONFIG_SMT kernel.  What
     also happens is that the cpu_group lists end up not being terminated
     properly, but this oops kills it first.  Patch tested on UP w/o MP table,
     2x P2 and UP Xeon w/ no siblings.
  
  From: "Martin J. Bligh" <mbligh@aracnet.com>,
        Nick Piggin <piggin@cyberone.com.au>
  
     Change arch_init_sched_domains to use cpu_online_map
  
  From: Anton Blanchard <anton@samba.org>
  
     Fix build with NR_CPUS > BITS_PER_LONG

ChangeSet@1.1608.7.6, 2004-05-10 13:24:26-07:00, akpm@osdl.org
  [PATCH] sched: cpu_sibling_map to cpu_mask
  
  From: Nick Piggin <piggin@cyberone.com.au>
  
  This is a (somewhat) trivial patch which converts cpu_sibling_map from an
  array of CPUs to an array of cpumasks.  Needed for >2 siblings per package,
  but it actually can simplify code as it allows the cpu_sibling_map to be
  set up even when there is 1 sibling per package.  Intel want this, I use it
  in the next patch to build scheduling domains for the P4 HT.
  
  From: Thomas Schlichter <thomas.schlichter@web.de>
  
     Build fix
  
  From: "Pallipadi, Venkatesh" <venkatesh.pallipadi@intel.com>
  
     Fix to handle more than 2 siblings per package.

ChangeSet@1.1608.7.5, 2004-05-10 13:24:15-07:00, akpm@osdl.org
  [PATCH] scheduler domain balancing improvements
  
  From: Nick Piggin <piggin@cyberone.com.au>
  
  This patch gets the sched_domain scheduler working better WRT balancing.
  Its been tested on the NUMAQ.  Among other things it changes to the way SMT
  load calculation works so as not to active load blances when it shouldn't.
  
  It still has a problem with SMT and NUMA: it will put a task on each
  sibling in a node before moving tasks to another node.  It should probably
  start moving tasks after each *physical* CPU is filled.
  
  To fix, you need "how much CPU power in this domain?" At the moment we
  approximate # runqueues == CPU power, and hack around it at the CPU
  physical domain by counting all sibling runqueues as 1.
  
  It isn't hard to correctly work the CPU power out, but once CPU hotplug is
  in the equation it becomes much more hotplug events.  If anyone is actually
  interested in getting this fixed, that is.

ChangeSet@1.1608.7.4, 2004-05-10 13:24:05-07:00, akpm@osdl.org
  [PATCH] sched_domain debugging
  
  From: Nick Piggin <piggin@cyberone.com.au>
  
  Anton was attempting to make a sched domain topology for his POWER5 and was
  having some trouble.
  
  This patch only includes code which is ifdefed out, but hopefully it will
  be of some use to implementors.

ChangeSet@1.1608.7.3, 2004-05-10 13:23:54-07:00, akpm@osdl.org
  [PATCH] sched: scheduler domain support
  
  From: Nick Piggin <piggin@cyberone.com.au>
  
  This is the core sched domains patch.  It can handle any number of levels
  in a scheduling heirachy, and allows architectures to easily customize how
  the scheduler behaves.  It also provides progressive balancing backoff
  needed by SGI on their large systems (although they have not yet tested
  it).
  
  It is built on top of (well, uses ideas from) my previous SMP/NUMA work, and
  gets results very similar to them when using the default scheduling
  description.
  
  Benchmarks
  ==========
  
  Martin was seeing I think 10-20% better system times in kernbench on the 32
  way.  I was seeing improvements in dbench, tbench, kernbench, reaim,
  hackbench on a 16-way NUMAQ.  Hackbench in fact had a non linear element
  which is all but eliminated.  Large improvements in volanomark.
  
  Cross node task migration was decreased in all above benchmarks, sometimes by
  a factor of 100!!  Cross CPU migration was also generally decreased.  See
  this post:
  http://groups.google.com.au/groups?hl=en&lr=&ie=UTF-8&oe=UTF-8&frame=right&th=a406c910b30cbac4&seekm=UAdQ.3hj.5%40gated-at.bofh.it#link2
  
  Results on a hyperthreading P4 are equivalent to Ingo's shared runqueues
  patch (which is a big improvement).
  
  Some examples on the 16-way NUMAQ (this is slightly older sched domain code):
  
   http://www.kerneltrap.org/~npiggin/w26/hbench.png
   http://www.kerneltrap.org/~npiggin/w26/vmark.html
  
  From: Jes Sorensen <jes@wildopensource.com>
  
     Tiny patch to make -mm3 compile on an NUMA box with NR_CPUS >
     BITS_PER_LONG.
  
  From: "Martin J. Bligh" <mbligh@aracnet.com>
  
     Fix a minor nit with the find_busiest_group code.  No functional change,
     but makes the code simpler and clearer.  This patch does two things ... 
     adds some more expansive comments, and removes this if clause:
  
        if (*imbalance < SCHED_LOAD_SCALE
                        && max_load - this_load > SCHED_LOAD_SCALE)
  		*imbalance = SCHED_LOAD_SCALE;
  
     If we remove the scaling factor, we're basically conditionally doing:
  
  	if (*imbalance < 1)
  		*imbalance = 1;
  
     Which is pointless, as the very next thing we do is to remove the
     scaling factor, rounding up to the nearest integer as we do:
  
  	*imbalance = (*imbalance + SCHED_LOAD_SCALE - 1) >> SCHED_LOAD_SHIFT;
  
     Thus the if statement is redundant, and only makes the code harder to
     read ;-)
  
  From: Rick Lindsley <ricklind@us.ibm.com>
  
     In find_busiest_group(), after we exit the do/while, we select our
     imbalance.  But max_load, avg_load, and this_load are all unsigned, so
     min(x,y) will make a bad choice if max_load < avg_load < this_load (that
     is, a choice between two negative [very large] numbers).
  
     Unfortunately, there is a bug when max_load never gets changed from zero
     (look in the loop and think what happens if the only load on the machine is
     being created by cpu groups of which we are a member).  And you have a
     recipe for some really bogus values for imbalance.
  
     Even if you fix the max_load == 0 bug, there will still be times when
     avg_load - this_load will be negative (thus very large) and you'll make the
     decision to move stuff when you shouldn't have.
  
     This patch allows for this_load to set max_load, which if I understand
     the logic properly is correct.  With this patch applied, the algorithm is
     *much* more conservative ...  maybe *too* conservative but that's for
     another round of testing ...
  
  From: Ingo Molnar <mingo@elte.hu>
  
     sched-find-busiest-fix

ChangeSet@1.1608.7.2, 2004-05-10 13:23:42-07:00, akpm@osdl.org
  [PATCH] sched: improved resolution in find_busiest_node
  
  From: Nick Piggin <piggin@cyberone.com.au>
  
  From: Frank Cornelis <frank.cornelis@elis.ugent.be>
  
  In order to get the best possible resolution we need to use NR_CPUS instead
  of the constant value 10.  load is an int, so no need to worry about
  overflows...

ChangeSet@1.1608.7.1, 2004-05-10 13:23:31-07:00, akpm@osdl.org
  [PATCH] small scheduler cleanup
  
  From: Ingo Molnar <mingo@elte.hu>
  
  From: Nick Piggin <piggin@cyberone.com.au> wrote:
  
  It removes the last place where we mess with run_list open coded.

ChangeSet@1.1371.764.48, 2004-05-10 13:17:31-05:00, jejb@mulgrave.(none)
  Add SCSI IPR PCI Ids to pci_ids.h

ChangeSet@1.1608.4.3, 2004-05-10 20:12:34+02:00, marcel@holtmann.org
  [Bluetooth] Use type of the parent socket
  
  The SELinux fixes for kernel sockets assume that we always use the type
  SOCK_SEQPACKET, but this must not be the truth. Give the sock->type
  as argument to sock_create_lite() and everything is correct for the new
  child socket.

ChangeSet@1.1608.6.1, 2004-05-10 13:12:01-04:00, jgarzik@redhat.com
  Merge redhat.com:/spare/repo/netdev-2.6/8139too
  into redhat.com:/spare/repo/net-drivers-2.6

ChangeSet@1.1371.764.47, 2004-05-10 11:27:04-05:00, jejb@mulgrave.(none)
  Add IBM power RAID driver 2.0.6
  
  From: 	Brian King <brking@us.ibm.com>

ChangeSet@1.1608.3.2, 2004-05-10 10:55:37-05:00, shaggy@austin.ibm.com
  JFS: module unload was not removing /proc/fs/jfs/

ChangeSet@1.1608.4.2, 2004-05-10 17:25:27+02:00, marcel@holtmann.org
  [Bluetooth] Adapt changes for USB core altsettings
  
  The USB core has changed its way the interfaces and the altsettings are
  stored. The probe routines of the USB based Bluetooth drivers must be
  changed and in some cases they are simplified.
  
  Patch from Alan Stern <stern@rowland.harvard.edu>

ChangeSet@1.1608.4.1, 2004-05-10 17:11:34+02:00, marcel@holtmann.org
  [Bluetooth] Fix disconnect race on ISOC interface
  
  The hci_usb_disconnect() gets called recursively when SCO support
  is enabled and used. This causes sysfs_hash_and_remove() finally to
  dereference a NULL pointer.
  
  Noticed by Sebastian Schmidt <yath@yath.eu.org>

ChangeSet@1.1371.764.46, 2004-05-10 09:52:40-05:00, noodles@earth.li
  [PATCH] Initio INI-9X00U/UW error handling in 2.6
  
  Plumb old error handling into new eh infrastructure.

ChangeSet@1.1371.764.45, 2004-05-10 09:49:16-05:00, jejb@mulgrave.(none)
  sym53c500_cs remove irq,ioport scsi attributes
  
  From: 	Bob Tracy <rct@gherkin.frus.com>

ChangeSet@1.1371.764.44, 2004-05-10 09:39:21-05:00, hch@lst.de
  [PATCH] mca_53c9x needs CONFIG_MCA_LEGACY

ChangeSet@1.1371.764.43, 2004-05-10 09:37:24-05:00, hch@lst.de
  [PATCH] missing pci_set_master in megaraid

ChangeSet@1.1371.764.42, 2004-05-10 09:36:45-05:00, hch@lst.de
  [PATCH] imm/ppa style police
  
  fix remaining style problems after Al ressurrected the drivers.

ChangeSet@1.1371.764.41, 2004-05-10 09:35:31-05:00, andrew.vasquez@qlogic.com
  [PATCH] PATCH [15/15] qla2xxx: Update driver version
  
    Update version number to 8.00.00b12-k.
  
   drivers/scsi/qla2xxx/qla_version.h |    4 ++--
   1 files changed, 2 insertions(+), 2 deletions(-)

ChangeSet@1.1371.764.40, 2004-05-10 09:34:47-05:00, jejb@mulgrave.(none)
  PATCH [14/15] qla2xxx: Resync with latest released firmware -- 3.02.28.
  
  From: 	Andrew Vasquez <andrew.vasquez@qlogic.com>
  
   drivers/scsi/qla2xxx/ql2300_fw.c |12380 +++++++++++++++++++--------------------
   drivers/scsi/qla2xxx/ql2322_fw.c |11812 ++++++++++++++++++-------------------
   drivers/scsi/qla2xxx/ql6312_fw.c |10174 ++++++++++++++++----------------
   drivers/scsi/qla2xxx/ql6322_fw.c |10352 ++++++++++++++++----------------
   4 files changed, 22368 insertions(+), 22350 deletions(-)

ChangeSet@1.1371.764.39, 2004-05-10 09:31:56-05:00, andrew.vasquez@qlogic.com
  [PATCH] PATCH [13/15] qla2xxx: Misc. code scrubbing
  
    Misc. driver scrubbing:
  
    	o Use kernel #define for PCI command register bit.
  
    	o Fix rate-limiting check the queue-depth module
    	  parameter.
  
    	o Clean-up comments.
  
   drivers/scsi/qla2xxx/qla_init.c |    2 +-
   drivers/scsi/qla2xxx/qla_mbx.c  |    1 -
   drivers/scsi/qla2xxx/qla_os.c   |    7 +++----
   3 files changed, 4 insertions(+), 6 deletions(-)

ChangeSet@1.1371.764.38, 2004-05-10 09:30:37-05:00, andrew.vasquez@qlogic.com
  [PATCH] PATCH [12/15] qla2xxx: RIO/ZIO fixes
  
    RIO/ZIO fixes:
  
    	o Reduce register access during RIO operation by checking
    	  for a 'dirtied' signature.
  
    	o Fix problem where ZIO mode handling could result in a
    	  nasty recursive call-frame.
  
   drivers/scsi/qla2xxx/qla_os.c |    5 +----
   1 files changed, 1 insertion(+), 4 deletions(-)

ChangeSet@1.1371.764.37, 2004-05-10 09:29:37-05:00, andrew.vasquez@qlogic.com
  [PATCH] PATCH [11/15] qla2xxx: /proc fixes
  
    /proc file updates:
  
    	o Address 'unaligned access' message on ia64 platorms
    	  while displaying bit-field flags.
  
    	o Iterate through the the OS target array to display
    	  target ID bindings.
  
   drivers/scsi/qla2xxx/qla_os.c |   30 ++++++++++++------------------
   1 files changed, 12 insertions(+), 18 deletions(-)

ChangeSet@1.1371.764.36, 2004-05-10 09:28:20-05:00, andrew.vasquez@qlogic.com
  [PATCH] PATCH [10/15] qla2xxx: Use readX_relaxed
  
    Jeremy Higdon <jeremy () sgi ! com>:
  
    	For those to whom this is new (it was discussed on linux-kernel
    	and linux-ia64 I believe), normal PCI register reads imply that
    	PCI DMA writes that occured prior to the PCI MMR (memory mapped
    	register) read (on the PCI bus) will be reflected in system
    	memory once the MMR read is complete.
  
    	On our platforms, we can speed up the MMR read significantly if
    	that ordering requirement is "relaxed".
  
    	So I attempted to find the common register reads that don't
    	have a need for this ordering so that I could make them use
    	this faster read.
  
   drivers/scsi/qla2xxx/qla_def.h  |    3 +++
   drivers/scsi/qla2xxx/qla_iocb.c |    6 +++---
   drivers/scsi/qla2xxx/qla_isr.c  |    2 +-
   3 files changed, 7 insertions(+), 4 deletions(-)

ChangeSet@1.1371.764.35, 2004-05-10 09:27:07-05:00, andrew.vasquez@qlogic.com
  [PATCH] PATCH [9/15]  qla2xxx: Tape command handling fixes
  
    Fix several problems when handling commands issued to tape devices:
  
    	1) insure commands are not prematurely returned to the mid-layer
    	   with a failed status during loop/fabric transitions.
  
    	2) tape commands tend to have rather 'long' timeout values,
    	   unfortunately, as the these values increase into the 17 to
    	   20 minute range (and larger), the cumulative skew of the
    	   RISC's own timer result in commands being held for seconds
    	   beyond their defined timeout values.  Compensate for this
    	   in the driver's command timeout function.
  
   drivers/scsi/qla2xxx/qla_def.h  |    3 +
   drivers/scsi/qla2xxx/qla_init.c |    4 ++
   drivers/scsi/qla2xxx/qla_isr.c  |   10 ++---
   drivers/scsi/qla2xxx/qla_os.c   |   74 ++++++++++++++++++++++++++++++++++++----
   4 files changed, 79 insertions(+), 12 deletions(-)

ChangeSet@1.1371.764.34, 2004-05-10 09:25:58-05:00, andrew.vasquez@qlogic.com
  [PATCH] PATCH [8/15]  qla2xxx: Volatile topology fixes
  
    Fix problem where during ISP initialization in a volatile topology
    (i.e. fabric environment with large number of streaming RSCNs) the
    driver would loop indefinitely or hang due to termination of an
    invalid thread pid.
  
   drivers/scsi/qla2xxx/qla_init.c |  142 ++++++++++++++++------------------------
   drivers/scsi/qla2xxx/qla_os.c   |    1
   2 files changed, 60 insertions(+), 83 deletions(-)

ChangeSet@1.1371.764.33, 2004-05-10 09:24:46-05:00, andrew.vasquez@qlogic.com
  [PATCH] PATCH [7/15]  qla2xxx: Firmware options fixes
  
    Cleanup retrieval and update of firmware options:
  
    	o Update only valid for non-(2[12]00) ISPs.
    	o Instruct firmware to return completed IOCBs without
    	  waiting for an ABTS to complete.
  
   drivers/scsi/qla2xxx/qla_init.c |   79 +++++++++++++++++++++++++---------------
   1 files changed, 50 insertions(+), 29 deletions(-)

ChangeSet@1.1371.764.32, 2004-05-10 09:23:44-05:00, andrew.vasquez@qlogic.com
  [PATCH] PATCH [6/15]  qla2xxx: LoopID downcast fix
  
    Fix problem where the driver would incorrectly down-cast the target
    loop_id while retrieving link statistics.
  
   drivers/scsi/qla2xxx/qla_gbl.h |    2 +-
   drivers/scsi/qla2xxx/qla_mbx.c |    2 +-
   2 files changed, 2 insertions(+), 2 deletions(-)

ChangeSet@1.1371.764.31, 2004-05-10 09:21:29-05:00, andrew.vasquez@qlogic.com
  [PATCH] PATCH [5/15]  qla2xxx: Debug messages during ISP abort
  
    Issue a kernel warning message before initiating an ISP abort (big
    hammer) -- additional debugging mechanism in case of event.
  
   drivers/scsi/qla2xxx/qla_mbx.c  |    9 +++++++++
   drivers/scsi/qla2xxx/qla_os.c   |    2 ++
   drivers/scsi/qla2xxx/qla_rscn.c |    2 ++
   3 files changed, 13 insertions(+)

ChangeSet@1.1371.764.30, 2004-05-10 09:20:18-05:00, andrew.vasquez@qlogic.com
  [PATCH] PATCH [4/15]  qla2xxx: PortID binding fixes
  
    Fix problem where port ID binding would not be honoured when
    a device was moved within the fabric.
  
   drivers/scsi/qla2xxx/qla_init.c |   33 ++++++++++++++++++++++++---------
   1 files changed, 24 insertions(+), 9 deletions(-)

ChangeSet@1.1371.764.29, 2004-05-10 09:18:48-05:00, andrew.vasquez@qlogic.com
  [PATCH] PATCH [3/15]  qla2xxx: 2100 request-q contraints
  
    Older, notably the ISP2100, chips have some contraints for the request
    queue depth and number of scatter-gather elements allowed for a
    given command.  For this chip, reduce request queue size to 128 and
    maximum number of scatter-gather entries for a command to 32.
  
   drivers/scsi/qla2xxx/qla_def.h  |   14 +++-----------
   drivers/scsi/qla2xxx/qla_init.c |    9 +++++----
   drivers/scsi/qla2xxx/qla_iocb.c |   14 +++++++-------
   drivers/scsi/qla2xxx/qla_os.c   |   14 +++++++++-----
   drivers/scsi/qla2xxx/qla_rscn.c |    2 +-
   5 files changed, 25 insertions(+), 28 deletions(-)

ChangeSet@1.1371.764.28, 2004-05-10 09:17:18-05:00, andrew.vasquez@qlogic.com
  [PATCH] PATCH [2/15]  qla2xxx: Remove flash routines
  
    Remove flash support from embedded driver:
  
    	o Remove unused option-rom variables from host structure.
    	o Remove flash manipulation routines.
  
   drivers/scsi/qla2xxx/qla_def.h  |    2
   drivers/scsi/qla2xxx/qla_gbl.h  |    8
   drivers/scsi/qla2xxx/qla_init.c |    3
   drivers/scsi/qla2xxx/qla_sup.c  |  446 ----------------------------------------
   4 files changed, 459 deletions(-)

ChangeSet@1.1371.764.27, 2004-05-10 09:15:55-05:00, andrew.vasquez@qlogic.com
  [PATCH] PATCH [1/15]  qla2xxx: Firmware dump fixes
  
    ISP dump routine fixes:
  
    	o Properly release hardware_lock in failure path.
  
    	o Fix inability to complete ISP2100 dump, by properly
    	  reseting the RISC after register reads.
  
   drivers/scsi/qla2xxx/qla_dbg.c |   34 ++++++++++++----------------------
   1 files changed, 12 insertions(+), 22 deletions(-)

ChangeSet@1.1371.764.26, 2004-05-10 09:15:12-05:00, jejb@mulgrave.(none)
  MPT Fusion driver 3.01.06 update
  
  From: 	Moore, Eric Dean <Emoore@lsil.com>

ChangeSet@1.1371.764.25, 2004-05-10 09:10:59-05:00, brking@us.ibm.com
  [PATCH] Make SCSI timeout modifiable
  
  add a timeout field to struct scsi_device and expose it in in sysfs.
  
  This patch allows LLDs to override the default timeout used for scsi devices
  and exposes it in sysfs. The default timeout value used is too short for
  many RAID array devices, such as those created by the ipr driver.

ChangeSet@1.1611, 2004-05-10 09:56:02+01:00, aia21@cantab.net
  NTFS: 2.1.9 release - Fix two bugs in the decompression engine
        in handling of corner cases.

ChangeSet@1.1608.1.9, 2004-05-09 19:30:37-07:00, torvalds@ppc970.osdl.org
  Linux 2.6.6
  TAG: v2.6.6