Linux Headquarters
[ Register ]
[ About us ] [ Home Page ]

Advertisement
[ Kernel ] [ Documentation ] [ Links ] [ Books ]

Advertisement

Change log for patch v2.5.31

Summary of changes from v2.5.30 to v2.5.31
============================================

<acme@conectiva.com.br>
   Fix tcpv6 shared ports bug introduced by struct sock splitup
   
   . export tcp_bind_hash
   . use tcp_bind_hash in tcp_v6_get_port
   . create tcp_v6_bind_conflict from code in tcp_v6_get_port, making
     it look more like tcp_v4_get_port
   . create ipv6_rcv_saddr_equal to reduce the complexity in
     tcp_v6_bind_conflict
   . check if the sock is AF_INET6 before looking into the pinet6
     area that is not present anymore in AF_INET4 struct sock, this
     fixes the bug reported by Carl Ritson on netdev
   . replace __constant_hton* with hton*, as both generate the same
     code and __constant_* should be only used when initializing
     static variables

<davem@nuts.ninka.net>
   SunKBD.c: Update for new handle_sysrq args.

<zaitcev@redhat.com>
   SPARC32: First pass at getting this platform functional under 2.5.x

<uzi@uzix.org>
   SunHME: Make module license visible when not-PCI.

<davem@nuts.ninka.net>
   arch/sparc64/defconfig: Update.

<acme@conectiva.com.br>
   Appletalk Cleanups, mark some places that need work for shared skb support
   
   . Use kerneldoc style in some structs and functions
   . use ANSI C99 style labeled elements
   . remove unused DPRINT macro in ddp.c
   . reduce the window for module loading race in atif_add_device

<rusty@rustcorp.com.au>
   SPARC: Use ISO C struct initializers.

<rusty@rustcorp.com.au>
   NET: Use ISO C struct initializers.

<kuznet@ms2.inr.ac.ru>
   PKT SCHED: Add HTB scheduler by Martin Devera.

<davem@nuts.ninka.net>
   PKT SCHED: Add HTB scheduler.

<ecd@skynet.be>
   SPARC64: Fix bugs in ioctl32 registration.

<acme@conectiva.com.br>
   Add MODULE_LICENSE to p8022.c and psnap.c + CodingStyle cleanups

<ebrower@resilience.com>
   SK98LIN: Fix oops in procfs handling if no cards probed.

<davem@nuts.ninka.net>
   arch/sparc64/kernel/irq.c: Fix preemption bug in __global_cli.

<davem@nuts.ninka.net>
   arch/sparc64/kernel/irq.c: Fix preemption bug in __global_sti.

<davem@nuts.ninka.net>
   TIGON3: Finish up NAPI implementation.
   - Split out TX processing to seperate spinlock so we
   do not deadlock inside of netif_receive_skb.  Also improves
   performance a bit.
   - Bump version to 1.0, what the heck.

<davem@nuts.ninka.net>
   SPARC64: Fix fallout from sparc32 updates.

<davem@nuts.ninka.net>
   net/appletalk/ddp.c: Fix merge botch by yours truly.

<davem@nuts.ninka.net>
   net/appletalk/ddp.c: More merge botches by yours truly.

<davem@nuts.ninka.net>
   net/sched/sch_htb.c: Kill 64-bit platform build warnings.

<davem@nuts.ninka.net>
   arch/sparc64/defconfig: Update.

<davem@nuts.ninka.net>
   net/ipv4/route.c: Handle large offsets properly in procfs read operation.

<davem@nuts.ninka.net>
   drivers/sbus/char/openprom.c: Verify user len in copyin_string.

<rob@osinvestor.com>
   arch/sparc/config.in: Remove commented out LVM bits.

<jmorris@intercode.com.au>
   IPv4 ip_queue netfilter cleanups:
     o Fix unicast pid wrap issue.
     o Fix potential module unload races for netfilter and netlink paths.
     o General code cleanup.
     o Queue session cannot be overriden by another client.
     o Client can set copy mode to none, which stops queueing.

<kai@tp1.ruhr-uni-bochum.de>
   Make net_dev_init a subsys_initcall.

<davem@nuts.ninka.net>
   SPARC64: Fix cut at converting to new 2.5.x IRQ/BH scheme.

<davem@nuts.ninka.net>
   SPARC64: Kill BR_GLOBALIRQ_LOCK and cpp warning about it. Kill include typo.

<davem@nuts.ninka.net>
   include/asm-sparc64/smplock.h: Fix typo.

<davem@nuts.ninka.net>
   include/asm-sparc64/softirq.h: Fix typo in local_bh_enable.

<davem@nuts.ninka.net>
   drivers/ieee1394/Makefile: Add missing LDFLAGS.

<davem@nuts.ninka.net>
   fs/openpromfs/inode.c: Remove bogus interrupt disabling.

<davem@nuts.ninka.net>
   include/asm-sparc64/auxio.h: Use local_irq_{save,restore}.

<davem@nuts.ninka.net>
   fs/openpromfs/inode.c: Kill unused local variable in property_release.

<davem@nuts.ninka.net>
   include/asm-sparc64/hardirq.h: Fix synchronize_irq prototype.

<davem@nuts.ninka.net>
   arch/sparc64/prom/misc.c: Remove reference to global IRQ lock.

<davem@nuts.ninka.net>
   SPARC64: Remove some cli/sti usage.

<davem@nuts.ninka.net>
   SPARC64: Kill more cli/sti use.

<davem@nuts.ninka.net>
   SPARC64: Kill more cli/sti and local_irq_count/irqs_running references.

<davem@nuts.ninka.net>
   ESP SCSI: Remove bogus cli/sti usage.

<aia21@cantab.net>
   NTFS: 2.0.22 - Cleanups, mainly to ntfs_readdir(), and use C99 initializers.
   - Change fs/ntfs/dir.c::ntfs_reddir() to only read/write ->f_pos once
     at entry/exit respectively.
   - Use C99 initializers for structures.
   - Remove unused variable blocks from fs/ntfs/aops.c::ntfs_read_block().

<aia21@cantab.net>
   NTFS: oops... remove leaked one liner from ntfs write tree

<davem@nuts.ninka.net>
   SPARC64: Merge up with latest x86 IRQ changes from Ingo.

<zaitcev@redhat.com>
   arch/sparc/boot/Makefile: Fixup BTLIBS.

<paulus@samba.org>
   PPC32: add in the architecture-dependent security hooks.
   
   This adds the sys_security entry to the syscall table and
   calls the ptrace security op in ptrace.

<paulus@samba.org>
   PPC32: only request the PReP-specific resources on PReP systems.

<davem@nuts.ninka.net>
   SPARC: Beginning of converting Sparc serial drivers to UART layer.

<davem@nuts.ninka.net>
   include/asm-sparc64/system.h: Define task_running.

<davem@nuts.ninka.net>
   SERIAL: sun.[ch] --> suncore.[ch]

<davem@nuts.ninka.net>
   drivers/serial/Makefile: Add SUNCORE/SUNZILOG build.

<dsaxena@mvista.com>
   [ARM PATCH] 1215/1: Vector relocation not being disabled at reset
   This patch solves the problem of soft reboots on Iq80310, IQ80321, and BRH
   platforms.  The problem was that during the RedBoot PCI scan, we were getting
   data aborts due to non-existent PCI devices.  It looks like redboot doesn't
   cleanup after us and turn of vector relocation, so we were jumping off into
   nowhere.
   

<nico@cam.org>
   [ARM PATCH] 1209/1: PXA250/210 register definition update

<nico@cam.org>
   [ARM PATCH] 1210/1: PXA register mapping simplification
   This allows us to use io_p2v() and io_vp2() within assembly code.
   Also looks nicer and simpler

<nico@cam.org>
   [ARM PATCH] 1211/1: PXA sleep mode support

<nico@cam.org>
   [ARM PATCH] 1212/1: add configurration options for PXA devices

<green@angband.namesys.com>
   super.c, item_ops.c, file.c:
     C99 struct initialisers

<jamey.hicks@hp.com>
   [ARM PATCH] 1219/1: export sa1100_register_pcmcia and sa1100_unregister_pcmcia
   These routines need to be exported if any SA1100 low-level pcmcia drivers
   are going to be loaded as modules. 

<jamey.hicks@hp.com>
   [ARM PATCH] 1224/1: add fb support for h3800, remove sa1100fb_blank_helper, remove broken bits
   This adds support for the H3800 screen, and removes sa1100fb_blank_helper
   which has been superseded by sa1100fb_backlight_power. 
   
   It removes the setting of bits that should not be set in the info
   structures.

<rmk@flint.arm.linux.org.uk>
   [ARM] Fix iPAQ LCCR3 values
   iPAQ entries didn't specify pixel clock edge or output enable
   polarity, as suggested by the comments at the top of the file.

<paulus@samba.org>
   PPC32: add __down_read_trylock and __down_write_trylock implementations.

<paulus@samba.org>
   PPC32: remove the cpu argument to release_kernel_lock

<davem@nuts.ninka.net>
   OpenPROM: Kill len check, it is pointless.

<davem@nuts.ninka.net>
   SPARC: Kill CONFIG_SUN_CONSOLE checks, always on so check is pointless.

<rmk@flint.arm.linux.org.uk>
   [ARM] Fix up patch 1219/1 so sa1100 pcmcia builds again
   Patch 1219/1 caused sa1100_generic.o to export symbols, but didn't
   add it to the export-objs variable.  Make it so.

<davem@nuts.ninka.net>
   OpenPROM: Sigh, put the length overflow check back it is needed.

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: Fix act2000 compile error
   
   Don't know when that broke, but somebody seems to be using "msg" in another
   context - since we don't need the union to be named at all, it's easy to
   fix.

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: Cleanup/fix isdn.o initialization
   
   A small step in cleaning up isdn.o, fixing various bugs on the error paths.

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: Begin to make driver/channel mapping private to isdn_common.c
   

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: Remove now superfluous .drv_index from struct modem_info
   
   It's role has been taken over by .isdn_slot

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: remove unneeded functions
   
   Remove some of the old functions which used to take (driver,channel)
   pairs, as they are superseded by isdn_slot_* functions now.

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: Gather per-slot data
   
   Instead of having a number of arrays containg various bits of per-slot
   data, start aggregating this data in a struct, and then have one
   instance of this struct per slot.

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: Move more slot-specific data into the per-slot struct

<davem@nuts.ninka.net>
   SPARC: First pass converting serial drivers to UART layer.

<davem@nuts.ninka.net>
   UART: Update for Sparc drivers.

<davem@nuts.ninka.net>
   SPARC: Move serial config over to use UART layer.

<davem@nuts.ninka.net>
   SPARC: Kill old sunkbd/sunmouse drivers in favor of serio input layer.

<davem@nuts.ninka.net>
   SPARC64: Implement semaphore trylock and downgrade.

<davem@nuts.ninka.net>
   SPARC: Move of move to generic input layer for kbd/mouse.

<davem@nuts.ninka.net>
   serial/Makefile: Mark suncore.o as export-objs instead of sunsu.o

<davem@nuts.ninka.net>
   serial/sun{core,zilog}.c: build fixes.

<davem@nuts.ninka.net>
   SPARC UART: More build fixes.

<paulus@samba.org>
   PPC32: fix test_bit (take out bogus __const__).
   
   The bogus __const__ was causing the compiler to generate a branch
   to self in pte_chain_lock.

<paulus@samba.org>
   PPC32: update the SMP startup code.
   
   This takes out the old boot code that Rusty had left #if 0'd,
   make sure interrupts get enabled on the secondary processors
   and fixes the timebase sync algorithm for CHRP machines.

<ahaas@neosoft.com>
   [PATCH] designated initializer patch for usr_input_aiptek.c
   
     Here's a patch for additional designated initializer conversion
     in usr/input/aiptek.c. Patch is against 2.5.27.

<ahaas@neosoft.com>
   [PATCH] designated initializer patch for usb_media_se401.c
   
     Here's a patch for additional designated initializer changes
     in usb/media/se401.c. Patch is against 2.5.27.

<ganesh@vxindia.veritas.com>
   [PATCH] bugfix for drivers/usb/serial/ipaq.c
   
   Buggy error handling fixed. Retry the "kickstart" packet much harder -
   this greatly reduces instances of connection failures.

<bhards@bigpond.net.au>
   [PATCH] possible keyspan debug bug
   
   While doing some cleanups of duplication #include entries,
   I found what looks like a minor bug.
   
   The keyspan driver does #include <linux/usb.h> twice. Not
   normally a problem, because of the idempotent constructions.
   
   But in this case the behaviour of the dbg() module depends on
   the value of DEBUG. Keyspan tries to handle this, but the
   first #include is before the definition, and the second one
   has no effect. Patch attached.
   
   I don't have the hardware to test, but it sure looks wrong now.

<greg@kroah.com>
   [PATCH] USB: added new kaweth device.
   
   Patch based off of 2.4 patch from Juan Quintela <quintela@mandrakesoft.com>

<david-b@pacbell.net>
   [PATCH] USB: driverfs paths
   
   I noticed a minor goof, basically an open issue coming home to
   roost.  For the root hub, usb_device->devpath was "/" so it
   caused problems using devpath when constructing names for
   interfaces.  Driverfs doesn't reject it, but of course the
   resulting directory names can't be used...
   
   This patch (untested, but compiles) should make devpath in that
   case be "0" ... which can't collide with any path through hub
   ports (first port == "1") so it's possible to use driverfs
   paths again.

<davem@nuts.ninka.net>
   SPARC64: Update for new do_munmap argument.

<davem@nuts.ninka.net>
   SPARC64: Kill rs_init calls from sbus/pci init.

<wolfgang@iksw-muees.de>
   [PATCH] I have a new email address
   
   and some places in linux kernel must change.
   See the attached patch.

<davej@suse.de>
   [PATCH] Missing CPU idents.
   
   Earlier Intel CPUs didn't have the cpuid namestring feature,
   so we have to look them up in tables..
   
   Fix by Patrick Mochel.

<davem@nuts.ninka.net>
   include/asm-sparc64/irq.h: Add irq_cannonicalize.

<davem@nuts.ninka.net>
   SPARC: Move sun_do_break from serial layer into arch code.

<davem@nuts.ninka.net>
   drivers/input/keybdev.c: batten_down_hatches --> sun_do_break

<greg@kroah.com>
   USB: lots of usbfs updates
   
   Now users can't create files within the fs.
   Thanks to Pat Mochel <mochel@osdl.org> for the ideas on how to do this.

<davem@nuts.ninka.net>
   SPARC: More keyboard/mouse/serial layer cleanups and build fixes.

<davem@nuts.ninka.net>
   SPARC64: Port to new cpu hotplug startup sequence.

<davem@nuts.ninka.net>
   arch/sparc64/defconfig: Update.

<davem@nuts.ninka.net>
   SPARC64: do_munmap acct arg disappears

<davem@nuts.ninka.net>
   SPARC64: Fixup build errors from pread64/pwrite64 rename.

<davem@nuts.ninka.net>
   arch/sparc64/kernel/systbls.S: More stray sys_{pread,write} references.

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: More I4L linklayer cleanup
   
   Add a helper function to prepare for and start dialing, removing duplicated
   code from isdn_tty.c/isdn_net.c.
   
   Move some parts of the big switch statement in isdn_net.c into their own 
   functions.
   

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: Introduce symbolic names for state machine in isdn_net.c
   
   Replace the numbers by symbolic constants - doesn't help yet, since
   we just go 0 -> ST_0, 1 -> ST_1, ... - but that'll change ;)

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: Reorganize isdn_net_stat_callback
   
   Order actions to be taken by current dialstate primarily and received
   status messages secondarily.

<greg@kroah.com>
   USB: usbfs and usbdevfs both work at the same time now.

<greg@kroah.com>
   USB: remove some compiler warnings

<greg@kroah.com>
   USB: remove drivers/usb/core/drivers.c as it's no longer used.

<greg@kroah.com>
   MAINTAINERS: removed duplicate USB EHCI DRIVER entry

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: Start a unified state machine in isdn_net.c
   
   Currently, the state machine is distributed over multiple functions,
   the goal is to convert these to just one function, so it's easier to
   grasp what is happening for which state/event combinations.

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: Get rid of #ifdef ISDN_DEBUG_NET_*
   
   No need to sprinkle ugly #ifdef's all over the place, do it once in
   the header instead.

<mochel@osdl.org>
   driverfs: Move driverfs calls from drivers/base/*.c to drivers/base/fs/*.c
   
   This cleans up the drivers/base/ files, so they deal mainly with registration.
   
   It also provides a good place to put the glue needed for bus and driver files in driverfs. 

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: Unify isdn_net state machine
   
   Now it's a rather big nested switch statement, but at least it's all
   in one place now.

<mochel@osdl.org>
   driverfs: Add ability to create and remove files for bus drivers
   
   These behave identically to device attribute files, but with different types. 
   
   We get struct bus_attribute, and a macro, BUS_ATTR for declaring attributes. It takes the same parameters
   as DEVICE_ATTR, though the callbacks for bus attributes take a struct bus_type as the first parameter.
   

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: combine isdn_net_dev and isdn_net_local
   
   They were always allocated together and had a one-to-one relationship,
   so let's just make them one thing.

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: Use a list.h list for the global list of ISDN net devices

<shaggy@kleikamp.austin.ibm.com>
   JFS: One more C99 initilizer
   
   We missed this one the first goaround.
   Submitted by Art Haas

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: Clean up creating ISDN net devices

<mochel@osdl.org>
   driverfs: add glue layer for drivers to export attributes via driverfs
   
   This defines struct driver_attribute so device drivers themselves can export attributes 
   via driverfs.
   
   The macro DRIVER_ATTR is defined for declaring the attributes.
   
   driver_{create,remove}_file are implemented for creating and removing files.
   
    

<mochel@osdl.org>
   driverfs: update documentation

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: isdn_net state machine cleanup
   
   Remove the unneeded state "ST_2".

<shaggy@kleikamp.austin.ibm.com>
   JFS: Dynamically allocate metapage structures
   
   Use slab cache and mempool to dynamically allocate metapage
   structures rather than manage them out of a fixed pool.

<ch@hpl.hp.com>
   [ARM PATCH] 1227/1: Fix declaration of cputfreq_get so that CONFIG_CPU_FREQ=n builds work.

<ch@hpl.hp.com>
   [ARM PATCH] 1228/1: Fix improper printf spec in DEBUG message (drivers/pcmcia/sa1100_generic.)

<ch@hpl.hp.com>
   [ARM PATCH] 1230/1: Squelch warnings about undeclare search_exception_table()

<jamey.hicks@hp.com>
   [ARM PATCH] 1221/1: add irq definitions for H3800, which has interrupt controller in asic
   This adds the definitions for the IRQs coming from the H3800 asic. 

<rmk@flint.arm.linux.org.uk>
   [ARM] Tidy patch 1221/1: merge H3800 ifdef with graphicsmaster ifdef

<greg@kroah.com>
   PCI: move the EXPORT_SYMBOL(pcibios_*) declarations to the proper file.

<t-kouchi@mvf.biglobe.ne.jp>
   [PATCH] [PATCH] PCI Hotplug patch to drivers/pci/names.c
   
   I found that both compaq and ibm PCI hotplug driver call pci_scan_slot(),
   which eventually call pci_name_device() in drivers/pci/names.c.
   
   pci_name_device() is declared as __devinit while other data are
   declared as __initdata.
   This may result in undefined behavior for example, /proc/pci.

<acme@conectiva.com.br>
   Remove SPX and the last typedefs in IPX, create ipx_hdr

<acme@conectiva.com.br>
   Fix bug in LLC state tables, remove old LLC stack, etc
   
   Additional changes:
   . remove last typedefs (for structs) in new LLC stack
   . use C99 labeled elements in sysctl_net_802.c and sysctl_net.c

<davem@nuts.ninka.net>
   arch/sparc64/solaris/systbl.S: {pread,pwrite} --> {pread,pwrite}64

<davem@nuts.ninka.net>
   SPARC64: Make __cpu_up and friends work as specified by Rusty.

<rusty@rustcorp.com.au>
   [TRIVIAL] Typos in linux_arch_arm_kernel_entry-armo.S
   From: (via Rusty) James Mayer <james@cobaltmountain.com>

<rmk@flint.arm.linux.org.uk>
   [TRIVIAL] designated initialize patches for fs_adfs
   From: (via Rusty) Art Haas <ahaas@neosoft.com>
   Here are patches for files in fs/adfs. Patches are against 2.5.26.
   
   (rmk - updated for 2.5.30, cleaned up spacing to be more reasonable)

<davem@nuts.ninka.net>
   IPv4: Fix MSG_DONTWAIT behavior on output fragmentation.

<felipewd@terra.com.br>
   Update 8139cp net driver to move legacy Rx/Tx command register enable
   to after C+ command register Rx/Tx enable.

<felipewd@terra.com.br>
   Add suspend/resume support to 8139cp net driver

<davidm@hpl.hp.com>
   Update eepro100 net drvr to enable rx DMA without causing
   unaligned accesses.

<scott.feldman@intel.com>
   Update e100 net driver:
   o Added device ID support for Dell LOM.
   o Added device ID support for 82511QM mobile nics.
   o Bug fix: ethtool get/set EEPROM routines modified to use byte
     addressing rather than word addressing.
   o Feature: added MDIX mode support for 82550 and up.
   o Bug fix: added reboot notifier to setup WOL settings when
     shutting system down.
   o Cleanup: removed yield() redefinition (Andrew Morton,
     akpm@zip.com.au).
   o Bug fix: flow control now working when link partner is
     autoneg capable but not flow control capable.
   o Bug fix: added check for corrupted EEPROM
   o Bug fix: don't report checksum offloading for the older
     controllers that don't support the feature.
   o Bug fix: calculate cable diagnostics when link goes down
     rather than when queuering /proc file.
   o Cleanup: move mdi_access_lock to local get/set mdi routines.

<scott.feldman@intel.com>
   Update e100 net driver:
   
   Feedback from review by Arjan @ Redhat:
   o Cleanup: Removed unneccesary #ifdef/#endif wrappers for features 
     already part of kernel.
   o Bug fix: Added read-behind-write calls to post writes before delays.
   o Cleanup: added "e100" prefix to all driver messages.
   o Cleanup: removed unnecessary barrier() call because spin_unlock
     already implies a barrier.
   o Cleanup: removed __NO_VERSION__
   o Cleanup: fixed some spelling mistakes.
   o Cleanup: removed some proprietary /proc entries.
   
   

<rmk@flint.arm.linux.org.uk>
   [TRIVIAL] acorn & arm designated initializer rework
   From Rusty.
   The old form of designated initializers are obsolete: we need to
   replace them with the ISO C forms before 2.6.  Gcc has always supported
   both forms anyway.
   
   (rmk - cleaned up spacing to be more reasonable)

<scott.feldman@intel.com>
   Update e1000 gige net driver:
   o Bug fix: fixed jumbo frames sized from 1514 to 2048.
   o ASF support: disable ARP when driver is loaded or resumed; enable when 
     driver is removed or suspended.
   o Bug fix: changed default setting for RxIntDelay to 0 for 82542/3/4
     controllers to workaround h/w errata where controller will hang when
     RxIntDelay <> 0 under certian network conditions.
   o Bug fix: perform controller reset using I/O rather than mmio because
     some chipsets try to perform a 64-bit write, but the controller ignores
     the upper 32-bit write once the reset is intiated by the lower 32-bit
     write, causing a master abort.
   o Clean up: removed unused and undocumented user-settable settings for
     PHY.
   o Bug fix: ethtool GEEPROM was using byte address rather than word
     addressing.
   o Feature: added support for ethtool SEEPROM.
   o Feature: added support for entropy pool.
   
   

<scott.feldman@intel.com>
   Update e1000 gige net driver:
   
   Feedback from review by Arjan @ Redhat:
   o Cleanup: Removed unneccesary #ifdef/#endif wrappers for features 
     already part of kernel.
   o Bug fix: Use kernel funcs pci_[clear|set]_mwi rather than using direct
     calls to pci_write_config_word.
   o Bug fix: Added read-behind-write calls to post writes before delays.
   o Bug fix: removed calls to mdelay in interrupt context.
   o Clean up: removed calls to memset followed by mb() and replaced with
     direct clearing of descriptor bits.
   
   

<davem@nuts.ninka.net>
   SPARC: More Sun serial driver updates.
   - Fully convert SUNSAB driver.
   - Make Sun serial console selection more sensible.
   - Misc bug fixes to all drivers.

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: Simplify isdn_net state machine
   
   After the preceding cleanups, it turns out that a couple of states are
   not necessary and can just be removed. Also, they can be given more
   descriptive names now.

<torvalds@home.transmeta.com>
   Missed partition update from Al Viro

<hirofumi@mail.parknet.co.jp>
   [PATCH] possible of memory leak of driverfs_mknod()
   
   This patch fixes memory leak of driverfs_mknod(), and changes odd
   error code.

<torvalds@home.transmeta.com>
   Fix up problem with Alan's pnpbios fixes for per-cpu GDT's.
   
   Verified by Nathaniel <wfilardo@fuse.net>

<alan@lxorguk.ukuu.org.uk>
   Fix endiannes problems in ISA net drivers:
   3c503, hp-plus, smc-ultra, smc-ultra32, wd

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: More state machine cleanup and normal timer use
   
   Even more states can go away, and there's not really any need to have
   the ISDN code have manage timers by itself, just use normal kernel
   timers for the state machine now.

<martin@bruli.net>
   Fix unaligned accesses in ewrk3 net driver

<rusty@rustcorp.com.au>
   Convert ATM drivers to use C99 struct initializers.

<rusty@rustcorp.com.au>
   Convert drivers/net to C99 struct initializers.

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: Cleanup #ifdefs in isdn_common.c
   
   Use a simple conditional #define in the header instead of spreading
   #ifdef .. #endif all over the place.

<alan@irongate.swansea.linux.org.uk>
   VLAN: Fix gcc-3.1 warnings.

<rmk@arm.linux.org.uk>
   if_ether.h: Use packed attribute where necessary.

<rmk@arm.linux.org.uk>
   ip6_tables.c: Uncomment debugging printf.

<davem@nuts.ninka.net>
   VLAN dev: Fix hard_start_xmit return values.

<jdike@karaya.com>
   [PATCH] UML preparation - linkage.h
   
   This a preparatory patch which allows UML to avoid changing linux/linkage.h.
   
   It restructures linkage.h so that all of the arch-specific stuff is in
   asm-*/linkage.h.  linux/linkage.h is now arch independent.  It should be
   functionally unchanged.
   
   Five arches, i386, ia64, sh, m68k, and arm, have non-empty linkage.h files.
   The other arch linkage.h files are all empty.
   
   Also, __ALIGN_STR is no longer defined independently of __ALIGN.  It is now
   derived by stringizing __ALIGN.
   
   Following a suggestion by Keith Owens, stringify.h was generalized to allow
   commas in its argument, linkage.h now includes it, and no longer defines its
   own stringify macros.

<jdike@karaya.com>
   [PATCH] UML preparation - infrastructure
   
   This patch (against 2.5.30) contains all of the changes to generic code
   needed by UML.
   
   CREDITS -
      Changes my address and adds a UML credit for Lars Brinkoff.
   
   MAINTAINERS -
      Adds a UML entry.
   
   Makefile -
      When ARCH=um is on the command line to do a UML build, the old value
      of ARCH is saved in $(SUBARCH) for the later use of the UML build.
   
   drivers/char/Makefile -
      Sets KEYMAP, KEYBD, CONSOLE empty to prevent hardware drivers from
      being compiled in.
   
   drivers/net/setup.c -
      Backs out a UML hook which leaked into your tree which UML no
      longer uses.

<rmk@arm.linux.org.uk>
   [PATCH] 3: 2.5.29-exports
   
   Various modules (eg, rd.c) use simple_strtol.  This patch exports the
   symbol so these modules can be loaded.

<rmk@arm.linux.org.uk>
   [PATCH] 6: 2.5.29-memory
   
   Trivial patch; removes cruft that got left over from the TLB shootdown
   changes.  "dir" is never used in zap_page_range

<rmk@arm.linux.org.uk>
   [PATCH] 10: 2.5.29-wdt977
   
   Bitops are used with on the timer_alive variable.  Therefore, timer_alive
   needs to be "unsigned long" not "int".

<rmk@arm.linux.org.uk>
   [PATCH] 7: 2.5.29-mmap
   
   The following patch is required so that munmap(0x8000, *) does not cause
   ARM kernels to crash.  The problem is that the machine vectors are at
   virtual address 0.  Unfortunately, when free_pgtables() is called, it
   clears first level page tables starting at 0 in this case, and takes
   out the machine vectors.  This then results in an unrecoverable hang.
   
   We already have FIRST_USER_PGD_NR to define the first entry in the pgd
   which may be cleared, so we use this to clamp "start_index"
   appropriately.  The following patch does this.  Tested on ARM.

<rmk@arm.linux.org.uk>
   [PATCH] 1: 2.5.29-dma
   
   The following patch adds support for CONFIG_GENERIC_ISA_DMA, which went
   into the 2.4-ac kernel series prior to 2.5 happening.
   
   The following patch allows architectures to decide whether they want
   the generic ISA DMA functionality provided by kernel/dma.c and other
   supporting files.
   
   In addition, we move the procfs "/proc/dma" support code out of fs/proc
   into kernel/dma.c, and adapt it to use the new seq_file code.

<rmk@arm.linux.org.uk>
   [PATCH] 11: 2.5.29-8390
   
   Unfortunately, someone changed the inb and friends definitions and
   broke ARM.  This patch allows ARM to build NE2000 based drivers
   again.

<bgerst@didntduck.org>
   [PATCH] Dead code in i386/kernel/process.c
   
   This patch removes an artifact of code left over from the 2.0 days when
   the kernel didn't use flat segments.
   
   The preceding memcpy() already takes care of the NULL ptr mapping.

<acme@conectiva.com.br>
   Appletalk: more cleanups and code reorganization
   
   - rename at_addr to atalk_addr, netrange to atalk_netrange
   - use kerneldoc style comments for some structs and functions
   - move the IP over DDP handling code out of atalk_rcv into handle_ip_over_ddp,
     that is optimized out when this feature was not selected by the user
   - move the routing handling code out of atalk_rcv into atalk_route_packets
   - create ddp_hdr and aarp_hdr inline functions to access those protocol headers
     on the skb
   - lots of CodingStyle cleanups

<torvalds@home.transmeta.com>
   Undo "stringify()" changes, since they don't work with
   various compilers

<davem@nuts.ninka.net>
   drivers/sbus/char/openprom.c: Remove useless cli/sti usage.

<davem@nuts.ninka.net>
   MYRI_SBUS: Replace cli/sti with spinlocking.

<davem@nuts.ninka.net>
   SPARC64 NS87303: Replace cli/sti with spinlocking.

<davem@nuts.ninka.net>
   drivers/scsi/qlogicpti.c: Replace cli/sti with spinlocking.

<jgarzik@mandrakesoft.com>
   Macro __devexit_p in linux/init.h needs to be conditions on both
   MODULE and CONFIG_HOTPLUG cpp symbols.  Merge 2.4's definition to
   make it so.

<jgarzik@mandrakesoft.com>
   Fix e100 net driver build when CONFIG_PM is defined.

<jgarzik@mandrakesoft.com>
   synchronize_irq updates for dl2k and ns83820 gige net drivers

<hch@infradead.org>
   Clean up eepro100 update from David M-T:
   - remove outdated comment about 2.3-only
   - style up David's changelog entry like the others
   - replace ifdef RX_ALIGN with a rx_align() macro
   - kill pointless #if defined(MODULE) || defined(CONFIG_HOTPLUG)
     around ->remove.

<irohlfs@irohlfs.de>
   Add pci id to orinoco wireless net driver

<wilsonc@abocom.com.tw>
   Add two pci ids to 8139too net driver

<mw@microdata-pos.de>
   Update old eepro net driver:
   * when you hit a memory shortage, also drop the packets on-board
   * several KERN_xxx printk prefix corrections

<antoine@ausone.whoknows>
   Add pci id to tulip net driver

<pavel@ucw.cz>
   Remove unnecessary prototypes in eepro100 net driver

<maalanen@ra.abo.fi>
   Correctly free resources in old-OSS es1371 sound driver

<maalanen@ra.abo.fi>
   Correctly free resources in old-OSS esssolo1 sound driver

<gphat@cafes.net>
   Add KERN_xxx prefixes to printk's in kernel/ subdir.

<vojta@Math.Berkeley.EDU>
   Mark dmfe net driver with __devexit, fixing hotplug support and
   occasional linker warnings/errors

<bunk@fs.tum.de>
   Add __devexit_p marker to orinoco_{pci,plx} wireless drivers

<aaron.baranoff@tsc.tdk.com>
   Add pci id to tulip net driver

<otaylor@redhat.com>
   Yet another new tulip pci id

<khc@pm.waw.pl>
   Fix epic100 net driver:
   * fix spurious bad initializations
   * pound phy a la SMSC's app note on the subject

<willy@debian.org>
   Fix inappropriate use of set_bit in dl2k gige net driver

<aia21@cantab.net>
   NTFS: 2.0.23 - Major bug fixes (races, deadlocks, non-i386 architectures).
   - Massive internal locking changes to mft record locking. Fixes lock
     recursion and replaces the mrec_lock read/write semaphore with a
     mutex. Also removes the now superfluous mft_count. This fixes several
     race conditions and deadlocks, especially in the future write code.
   - Fix ntfs over loopback for compressed files by adding an
     optimization barrier. (gcc was screwing up otherwise ?)
   - Miscellaneous cleanups all over the code and a fix or two in error
     handling code paths.
   Thanks go to Christoph Hellwig for pointing out the following two:
   - Remove now unused function fs/ntfs/malloc.h::vmalloc_nofs().
   - Fix ntfs_free() for ia64 and parisc by checking for VMALLOC_END, too.

<davem@nuts.ninka.net>
   sysctl_net_802.c: Protect sysctl_tr_rif_timeout usage with CONFIG_TR.

<trini@kernel.crashing.org>
   PPC32: use the memory size passed in from the bootloader
   in preference to probing at startup.
   
   We now use boot_mem_size if it is nonzero and only call
   ppc_md.find_end_of_memory if boot_mem_size is zero.

<benh@kernel.crashing.org>
   PPC32: interrupt fixes along the lines of Ingo's changes to x86.
   
   We don't unmask the interrupt at the end of handling it if there
   is no action (i.e. someone has done free_irq).  Add some likely
   and unlikely hints and fix synchronize_irq.

<paulus@samba.org>
   PPC32: miscellanous small fixes.
   
   Rename print_backtrace to show_stack and improve it, remove the
   #if 0 around set_fpexc mode and add get_fpexc_mode, add the
   __NR_security define and reserve syscall 225 for Tux.

<trini@kernel.crashing.org>
   PPC32: update the defconfigs for a couple of embedded boards.

<paulus@samba.org>
   PPC32: convert some more save_flags/cli/restore_flags etc. calls.

<shaggy@kleikamp.austin.ibm.com>
   Rework JFS's inode locking
   
   In order for JFS to be able to quiesce the current activity, while
   blocking new transactions, the locking needed some rework.  New
   transactions are stopped in the functions txBegin or txBeginAnon,
   where the rdwrlock (IREAD_LOCK/IWRITE_LOCK) may be held.  Dirty
   inodes may need to be committed while new transactions are blocked
   here, so another lock is introduced (commit_sem) which is taken after
   txBegin/txBeginAnon is called.  This ensures that the proper
   serialization takes place, without the write_inode method needing to
   grab the rdwrlock.
   
   In addition, the use of IWRITE_LOCK and IREAD_LOCK has been removed
   from directory inodes.  The serialization done by the VFS using i_sem
   is sufficient to avoid races.
   
   This patch removes JFS's dependency on down_write_trylock.

<mochel@osdl.org>
   driverfs: decrement refcount on dentry being removed, not directory 
   
   This brain fart is left over from some cleanup of these functions a _long_ 
   time ago. We need to dput() the dentry, since we have an implicit count of
   one left over from the create function.
   
   Instead, we were dput() on the directory that it was in, which we didn't 
   have a matching dget() for. 

<shaggy@kleikamp.austin.ibm.com>
   Add resize function to JFS
   
   This is invoked by mount -remount,resize=<blocks>.
   See Documentation/filesystems/jfs.txt for more information.

<mochel@osdl.org>
   Don't call device_remove_file() from cdrom layer, since they're not even
   the ones that create the file.

<green@angband.namesys.com>
   reiserfs_fs.h, namei.c, bitmap.c:
     fix __FUNCTION__ usage, since its use as string literals is deprecated now.

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: Fix isdnloop when simulating multiple controllers

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: Fix the cleanups
   
   Testing of course revealed some bugs introduced during the cleanups,
   so these are fixed here with a couple of other small bits, like improved
   debugging code.

<willy@debian.org>
   [PATCH] fix expand_stack for upward-growing stacks
   
    - trivial: cache file->f_dentry->d_inode; saves a few bytes of compiled
      size.
    - move expand_stack inside ARCH_STACK_GROWSUP, add an alternate
      implementation for PA-RISC.
    - partially fix the comment (mmap_sem is held for READ, not for WRITE).
      It still doesn't make sense, saying we don't need to take the spinlock
      right before we take it.  I expect one of the vm hackers will know
      what the right thing is.

<aia21@cantab.net>
   NTFS: 2.0.24 - Cleanups.
   - Treat BUG_ON() as ASSERT() not VERIFY(), i.e. do not use side effects
     inside BUG_ON(). (Adam J. Richter)
   - Split logical OR expressions inside BUG_ON() into individual BUG_ON()
     calls for improved debugging. (Adam J. Richter)
   - Add errors flag to the ntfs volume state, accessed via
     NVol{,Set,Clear}Errors(vol).
   - Do not allow read-write remounts of read-only volumes with errors.
   - Clarify comment for ntfs file operation sendfile which was added by
     Christoph Hellwig a while ago (just using generic_file_sendfile())
     to say that ntfs ->sendfile is only used for the case where the
     source data is on the ntfs partition and the destination is
     somewhere else, i.e. nothing we need to concern ourselves with.

<torvalds@home.transmeta.com>
   Make pid allocation use 30 of the 32 bits, instead of 15.

<torvalds@home.transmeta.com>
   Merge with dri CVS

<torvalds@home.transmeta.com>
   Workaround for aic7xxx setup inconsistencies.

<ink@jurassic.park.msu.ru>
   [PATCH] alpha: pte/pfn/page/tlb macros update [1/10]
   
   This starts a large set of alpha patches accumulated since 2.5.18 or
   even earlier. All of this was reasonably well tested.
   Thanks to Jeff Wiedemeier for SMP testing and fixes.
   
   - sync up with (2.5.18?) pte/pfn/page/tlb etc. macros;
   - asm-generic/tlb.h: loading unsigned long constant to unsigned int
     tlb->nr causes compiler warnings on 64 bit platforms.

<ink@jurassic.park.msu.ru>
   [PATCH] alpha: IPI update [2/10]
   
   - send_ipi_message() fix from Jeff Wiedemeier:
     The 2.5.30 IPI algorithm (with the to_whom == set test) incorrectly sends
     IPI messages to CPU 0 in a SMP system running with one processor. In this
     case to_whom is often 0 (cpu_present_mask & ~1UL << smp_processor_id()) which
     ends up triggering the to_whom == set case.
   - migration IPI removed;

<ink@jurassic.park.msu.ru>
   [PATCH] alpha: CPU logical mapping [3/10]
   
   Hardware cpu_id to logical cpu mapping is gone.
   Converted to cpu_online() etc.

<ink@jurassic.park.msu.ru>
   [PATCH] alpha: regdef.h [4/10]
   
   Historically, assembly routines included libc header <alpha/regdef.h>
   for OSF/1 register names. With the new kernel build system
   it doesn't work anymore. Make our own copy in <include/asm>.

<ink@jurassic.park.msu.ru>
   [PATCH] alpha: cia-1 fix [5/10]
   
   From Jay Estabrook:
   CIA rev 1 can't use DAC and windows 1,2 for SG.

<ink@jurassic.park.msu.ru>
   [PATCH] alpha: interrupt/preempt update [6/10]
   
   This one is large mostly because of massive code deletion.
   - cli, sti an so on go away;
   - irq_smp.c goes to /dev/null; the only leftover (synchronize_irq)
     moved to irq.c;
   - hardirq count field in the preemption counter extended to 12 bits -
     one more than required for wildfire.

<ink@jurassic.park.msu.ru>
   [PATCH] alpha: percpu update [7/10]
   
   Generic per-cpu areas; wrappers for SMP boot process.

<ink@jurassic.park.msu.ru>
   [PATCH] alpha: osf getrusage, readv, writev [8/10]
   
   - osf_getrusage() updated for new utime/stime fields of the task_struct;
   - compatibility wrappers for OSF/1 v4 readv/writev syscalls:
     forward port from 2.4.19.

<ink@jurassic.park.msu.ru>
   [PATCH] alpha: misc fixes [9/10]
   
   Set of small fixes:
   - pcibios_init() must be int;
   - fls() - ctlz on ev67, generic on others. This was required for
     something several kernel releases back, now it seems to be unused.
     Anyway, it shouldn't hurt, so included here.
   - missing #includes, missing #if RTC_IRQ in drivers/char/rtc.c;
   - define USER_HZ;
   From Jeff Wiedemeier:
   - rename alpha-specific config section 'General setup' to 'System setup'
     to avoid confusion with generic 'General setup';
   - fix the 'bootpfile' build.

<ink@jurassic.park.msu.ru>
   [PATCH] alpha: rwsem update [10/10]
   
   - __down_[read,write]_trylock, __downgrade_write implemented;
   - __builtin_expect replaced with unlikely().

<hch@lst.de>
   [PATCH] misc pagecache cleanups / tweaks
   
   - inline grab_cache_page() in pagemap.h, it's just a simple wrapper
     around find_or_create_page()
   - rename (__)remove_inode_page to (__)remove_from_page_cache and
     move them from mm.h and swap.h to pagemap.h because they reverse
     add_to_page_cache and that's where they belong.

<viro@math.psu.edu>
   [PATCH] seq_read() fix
   
   Present both in 2.4 and 2.5 ;-/

<viro@math.psu.edu>
   [PATCH] fix /proc/partitions braino
   
   fix for embarrassing braino in /proc/partitions - size in kilobytes
   is _half_ the size in secotrs, not twice that size...

<viro@math.psu.edu>
   [PATCH] make check_disk_change() use struct block_device
   
   check_disk_change() converted to passing struct block_device.
   
   Old variant is still needed for a couple of places; wrapper
   is provided (__check_disk_change(kdev)).  do_open() logics
   with setting ->bd_op sanitized - now we do that before calling
   ->open().

<viro@math.psu.edu>
   [PATCH] clean up major_name
   
   ->major_name for per-disk gendisks set to full name - i.e.
   IDE gendisks have "hda", "hdb", etc. instead of "hd".
   As the result, we kill a lot of crap in check.c::disk_name().
   In particular, now we can afford ->minor_shift set to 0
   for ide-cd (disk_name() was the only obstacle)

<viro@math.psu.edu>
   [PATCH] ide subdrivers attach() cleanup
   
   ->attach() for ide subdrivers explicitly calls register_disk()
   instead of ata_revalidate() now; revalidate_drives() is gone -
   it's not needed anymore (we _know_ that we'll read partition
   table as soon as driver claims the drive; no need to mess with
   bogus rereading).

<viro@math.psu.edu>
   [PATCH] partition table flush/read cleanup
   
   Big One.  Flushing/rereading partition tables is taken from
   ->revalidate() for partitioned devices; now it's done in the
   caller (check_disk_change()).  BLKRRPART handling also moved
   out of drivers - they are still allowed to override it (DAC960
   and i2o are the only remaining ones), but common case is handled
   in fs/block_dev.c.
   
   Note: we are still only shifting stuff - bd_sem deadlocks in
   check_disk_change() are still there.  However, now we have all
   relevant code outside of drivers and that will allow to fix the
   thing (see next patches).

<viro@math.psu.edu>
   [PATCH] cpqarray.c per-disk gendisks
   
   cpqarray.c switched to per-disk gendisks

<viro@math.psu.edu>
   [PATCH] ps2esdi.c per-disk gendisks
   
   ps2esdi.c switched to per-disk gendisks

<viro@math.psu.edu>
   [PATCH] fix check_disk_change() deadlocks
   
   Small, but tricky: fix for check_disk_change() deadlocks.
   What we do is
      a) opening block device shifted from check_partition() to
         grok_partitions(); check_partitions() takes opened
         struct block_device.
      b) all callers of check_disk_change() fall in two groups -
         ones that are called only from some ->open() and ones
         that are _never_ called from ->open().  There is no
         middle ground.  We split the thing in two functions -
         check_disk_change() for the first class and full_check_....
         for the second.  The former (ones inside ->open()) doesn't
         touch partition tables but marks the bdev as "had been
         invalidated".  In the end of do_open() we check if
         bdev is marked and call wipe_partitions()/check_partition()
         if it is - at that point bdev is fully set up and ready.
      c) ->bd_part_sem kludge is gone - we use ->bd_sem instead.
         That is, do_open() on a partition grabs ->bd_sem on entire
         disk and picks partition data while under it; do_open() on
         entire disk rereads partition if needed before dropping
         ->bd_sem (right before dropping it); BLKRRPART does
         trylock on ->bd_sem and then checks ->bd_part_count -
         same logics as before, except that we use ->bd_sem instead
         of ->bd_part_sem.
   
   That kills recursive open(), gives us the same exclusion rules as
   we had and makes sure that actual IO (including rereading partition
   tables) is done only when we are ready to do it.
   
   It actually sounds a lot nastier than it is.  do_open() is a one sick
   puppy right now, but we have everything in one place and _out_ of drivers
   (and 20-odd equally sick puppies are gone from them, along with about
   the same number of races).
   
   Now we are almost ready to clean it up for good - all that remains to
   do before that is to get the rest of drivers (cciss, DAC960, i2o and
   a couple of ancients - xd and acsi) using per-disk gendisks.  Then
   most of that crap will disappear.
   
   BTW, the only generic ioctl remaining in the drivers is HDIO_GETGEO -
   a lot of foo_ioctl() starts with if (cmd != HDIO_GETGEO) return -EINVAL; ;-)

<pmenage@ensim.com>
   [PATCH] Fix misspelling of "sector" in ide.c
   

<axboe@suse.de>
   [PATCH] missing export of elv_queue_empty()
   
   Forgot to export it to modules :/

<dhowells@redhat.com>
   [PATCH] Re: downgrade_write
   
   The prototype name is wrong, not the name called by the actual
   implementation.  Noticed by David Miller.

<pavel@ucw.cz>
   [PATCH] S3 and swsusp: fixing device_resume order
   
   pci driver's resume must not be called during RESUME_POWER_ON because
   interrupts are still off and i8259A is not initialized [OHCI kills
   machine in such case, cardbus probably too.  PCI drivers just assume
   initialized interrupts.]
   
   Second hunk fixes device_resume calls to be okay according to
   documentation.

<rmk@arm.linux.org.uk>
   [PATCH] build warning fix
   
   This patch has been verified to apply cleanly to 2.5.30
   
   This patch fixes a build warning in smp.h.  register_cpu_notifier uses
   struct notifier_block in its argument list.  Unfortunately, there are
   places where smp.h is included before the definition of this structure.

<akpm@zip.com.au>
   [PATCH] 3c905B fix
   
   Patch from Zwane which fixes a transceiver problem on his 3c905B.
   
   Apparently the 905B's MII status register is saying that it doesn't
   need preamble, but the datasheet says that it does.  So add a 905B
   override for that in the device table.
   
   This could break other 3c905B's.  I don't know.  There's only one way
   to find out.

<akpm@zip.com.au>
   [PATCH] copy_strings speedup
   
   This is the first of three patches which reduce the amount of
   kmap/kunmap traffic on highmem machines.
   
   The workload which was tested was RAM-only dbench.  This is dominated
   by copy_*_user() costs.
   
   The three patches speed up my 4xPIII by 3%
   
   The three patches speed up a 16P NUMA-Q by 100 to 150%
   
   The first two patches (copy_strings and pagecache reads) speed up an
   8-way by 15%.  I expect that all three patches will speed up the 8-way
   by 40%.
   
   Some of the benefit is from reduced pressure on kmap_lock.  Most of it
   is from reducing the number of global TLB invalidations.
   
   
   This patch fixes up copy_strings().  copy_strings does a huge amount of
   kmapping.  Martin Bligh has noted that across a kernel compile this
   function is the second or third largest user of kmaps in the kernel.
   
   The fix is pretty simple: just hang onto the previous kmap as we we go
   around the loop.  It reduces the number of kmappings from copy_strings
   by a factor of 30.

<akpm@zip.com.au>
   [PATCH] tunable ext3 commit interval
   
   The patch from Stephen Tweedie allows users to modify the journal
   commit interval for the ext3 filesystem.
   
   The commit interval is normally five seconds.  For portable computers
   with spun-down drives it is advantageous to be able to increase the
   commit interval.
   
   There may also be advantages in decreasing the commit interval for
   specialised applications such as heavily-loaded NFS servers which are
   using synchronous exports.
   
   The laptop users will also need to increase the pdflush periodic
   writeback interval (/proc/sys/vm/dirty_writeback_centisecs), because
   the `kupdate' activity also forces a commit.
   
   To specify the commit interval, use
   
      mount -o commit=30 /dev/hda1 /mnt/whatever
   
   or
      mount -o remount,commit=30 /dev/hda1
   
   The commit interval is specified in units of seconds.

<akpm@zip.com.au>
   [PATCH] sync get_user_pages with 2.4
   
   Forward port of get_user_pages() change from 2.4.
   
   - If the vma is marked as VM_IO area then fail the map.
   
     This prevents kernel deadlocks which occur when applications which
     have frame buffers mapped try to dump core.  Also prevents a kernel
     oops when a debugger is attached to a process which has an IO mmap.
   
   - Check that the mapped page is inside mem_map[] (pfn_valid).
   
   - inline follow_page() and remove the preempt_disable()s.  It has
     only a single callsite and is called under spinloclk.

<akpm@zip.com.au>
   [PATCH] direct IO fixes
   
   Some direct IO fixes from Badari Pulavarty.
   
   - off-by-one in the bounds checking in blkdev_get_blocks().
   
   - When adding more blocks into a bio_vec, account for the current
     offset into that bio_vec.
   
   - Fix a total ballsup in the code which calculates the total number
     of pages which are about to be put under IO.

<akpm@zip.com.au>
   [PATCH] fix a race between set_page_dirty and truncate
   
   Fix a race between set_page_dirty() and truncate.
   
   The page could have been removed from the mapping while this CPU is
   spinning on the lock.  __free_pages_ok() will go BUG.
   
   This has not been observed in practice - most callers of
   set_page_dirty() hold the page lock which gives exclusion from
   truncate.  But zap_pte_range() does not.
   
   A fix for this has been sent to Marcelo also.

<akpm@zip.com.au>
   [PATCH] Infrastructure for atomic user accesses
   
   Well the optimum solution there would be to create and use
   `inc_preempt_count_non_preempt()'.  I don't see any
   way of embedding this in kmap_atomic() or copy_to_user_atomic()
   without loss of flexibility or incurring a double-inc somewhere.

<torvalds@home.transmeta.com>
   Linux v2.5.31
Comments: webmaster (at) linuxhq.com.
Advertising: banners (at) linuxhq.com.
Compilation ©1998-2008 Linux Headquarters, Inc.