ChangeSet@1.1131, 2003-04-20 16:00:26-07:00, torvalds@home.transmeta.com
  Fix IO-APIC vector allocation boundary case - we never want to
  allocate FIRST_SYSTEM_VECTOR as an external interrupt. It's unlikely,
  but could happen if we have a _ton_ of interrupt sources.
  
  Found by Chuck Ebbert.

ChangeSet@1.1130, 2003-04-20 15:20:38-07:00, rddunlap@osdl.org
  [PATCH] replace URLs in Kconfig
  
  This is a patch from Robert P.J. Day that replaces www.linuxdoc.org
  (which is outdated and unspported according to www.tldp.org)
  with www.tldp.org in lots of Kconfig files.

ChangeSet@1.1124.1.5, 2003-04-20 14:52:14-07:00, torvalds@home.transmeta.com
  Merge

ChangeSet@1.1124.3.38, 2003-04-20 14:50:20-07:00, hch@lst.de
  [PATCH] remove a tiny bit of kdev_t abuse from the floppy driver

ChangeSet@1.1124.3.37, 2003-04-20 14:50:12-07:00, hch@lst.de
  [PATCH] remove some junk from hd98.c's ioctl implementation
  
  Also pointed out by Al.

ChangeSet@1.1124.3.36, 2003-04-20 14:50:04-07:00, hch@lst.de
  [PATCH] remove dasd_get_kdev
  
  Al pointed out that it's unused after my last series of devfs patches.

ChangeSet@1.1124.3.35, 2003-04-20 14:49:56-07:00, hch@lst.de
  [PATCH] replace __blk_run_queue with blk_run_queue
  
  All callers of __blk_run_queue are of the form
  
  	spin_lock_irqsave(q->queue_lock, flags);
  	__blk_run_queue(q);
  	spin_unlock_irqrestore(q->queue_lock, flags);
  
  Replace it with a blk_run_queue that does the locking itself.

ChangeSet@1.1124.3.34, 2003-04-20 14:49:47-07:00, hch@lst.de
  [PATCH] rename end_request in floppy() and raid1
  
  In preparation of getting rid of the LOCAL_END_REQUEST mess.

ChangeSet@1.1124.3.33, 2003-04-20 14:49:38-07:00, hch@lst.de
  [PATCH] initrd.h
  
  split the initrd stuff out of blk.h, it's only needed in the boot code
  and the ramdisk driver.

ChangeSet@1.1124.1.4, 2003-04-20 14:47:49-07:00, torvalds@home.transmeta.com
  Merge home.transmeta.com:/home/torvalds/v2.5/akpm
  into home.transmeta.com:/home/torvalds/v2.5/linux

ChangeSet@1.1124.1.3, 2003-04-20 14:45:10-07:00, torvalds@penguin.transmeta.com
  Update ensoniq driver to return whether the interrupt was for it
  or not.

ChangeSet@1.1124.3.32, 2003-04-20 14:43:34-07:00, hch@lst.de
  [PATCH] devfs: warn on block modes in devfs_register

ChangeSet@1.1124.3.31, 2003-04-20 14:43:26-07:00, hch@lst.de
  [PATCH] devfs: kill devfs_register_partition

ChangeSet@1.1124.3.30, 2003-04-20 14:43:19-07:00, hch@lst.de
  [PATCH] devfs: md

ChangeSet@1.1124.3.29, 2003-04-20 14:43:11-07:00, hch@lst.de
  [PATCH] devfs: device-mapper

ChangeSet@1.1124.3.28, 2003-04-20 14:43:04-07:00, hch@lst.de
  [PATCH] devfs: floppy
  
  The following patches switch the few drivers that have to register
  devfs entries independand of gendisks to devfs_mk_bdev.

ChangeSet@1.1124.3.27, 2003-04-20 14:42:56-07:00, hch@lst.de
  [PATCH] devfs: xpram

ChangeSet@1.1124.3.26, 2003-04-20 14:42:48-07:00, hch@lst.de
  [PATCH] devfs: mtdblock

ChangeSet@1.1124.3.25, 2003-04-20 14:42:40-07:00, hch@lst.de
  [PATCH] devfs: sonycd

ChangeSet@1.1124.3.24, 2003-04-20 14:42:31-07:00, hch@lst.de
  [PATCH] devfs: sjcd

ChangeSet@1.1124.3.23, 2003-04-20 14:42:24-07:00, hch@lst.de
  [PATCH] devfs: optcd

ChangeSet@1.1124.3.22, 2003-04-20 14:42:15-07:00, hch@lst.de
  [PATCH] devfs: gscd

ChangeSet@1.1124.3.21, 2003-04-20 14:42:07-07:00, hch@lst.de
  [PATCH] devfs: aztcd

ChangeSet@1.1124.3.20, 2003-04-20 14:42:00-07:00, hch@lst.de
  [PATCH] devfs: swim3

ChangeSet@1.1124.3.19, 2003-04-20 14:41:52-07:00, hch@lst.de
  [PATCH] devfs: rd

ChangeSet@1.1124.3.18, 2003-04-20 14:41:44-07:00, hch@lst.de
  [PATCH] devfs: nbd

ChangeSet@1.1124.3.17, 2003-04-20 14:41:36-07:00, hch@lst.de
  [PATCH] devfs: loop
  
  This and the next patches switches over drivers to gendisk.devfs_name.

ChangeSet@1.1124.3.16, 2003-04-20 14:41:28-07:00, hch@lst.de
  [PATCH] devfs: gendisk.devfs_name updates
  
  Previously gendisk.devfs_name was used only for partitioned devices
  or CDroms, and for the latter it was slightly broken.  Fix it to
  work genericly for all gendisks.

ChangeSet@1.1124.3.15, 2003-04-20 14:41:20-07:00, hch@lst.de
  [PATCH] devfs: introduce devfs_mk_bdev
  
  Replaces devfs_register for block devices.  Note that we do NOT pass in
  an operaion vector here - it was unused in devfs_register already
  and our block device code fundamentally ties the operations to the
  gendisk.  There will be only very few callers of this one anyway..

ChangeSet@1.1124.3.14, 2003-04-20 14:41:11-07:00, hch@lst.de
  [PATCH] devfs: superflous devfs_remove in scsi
  
  Already handled by the gendisk layer.

ChangeSet@1.1124.3.13, 2003-04-20 14:41:04-07:00, hch@lst.de
  [PATCH] devfs: remove dead devfs code in dasd
  
  Dasd is partitioned - all devfs stuff is handled by the gendisk layer.

ChangeSet@1.1124.3.12, 2003-04-20 14:40:56-07:00, hch@lst.de
  [PATCH] devfs: switch over ubd to ->devfs_name
  
  Duh, ubd is partitioned.

ChangeSet@1.1124.3.11, 2003-04-20 14:40:48-07:00, hch@lst.de
  [PATCH] devfs: remove devfs_unregister

ChangeSet@1.1124.3.10, 2003-04-20 14:40:40-07:00, hch@lst.de
  [PATCH] devfs: uml

ChangeSet@1.1124.3.9, 2003-04-20 14:40:32-07:00, hch@lst.de
  [PATCH] devfs: swim3

ChangeSet@1.1124.3.8, 2003-04-20 14:40:25-07:00, hch@lst.de
  [PATCH] devfs: ipmi

ChangeSet@1.1124.3.7, 2003-04-20 14:40:17-07:00, hch@lst.de
  [PATCH] devfs: s390

ChangeSet@1.1124.3.6, 2003-04-20 14:40:08-07:00, hch@lst.de
  [PATCH] devfs: miscdev

ChangeSet@1.1124.3.5, 2003-04-20 14:40:00-07:00, hch@lst.de
  [PATCH] devfs: videodev

ChangeSet@1.1124.3.4, 2003-04-20 14:39:52-07:00, hch@lst.de
  [PATCH] devfs: sound

ChangeSet@1.1124.3.3, 2003-04-20 14:39:44-07:00, hch@lst.de
  [PATCH] devfs: usb

ChangeSet@1.1124.3.2, 2003-04-20 14:39:36-07:00, hch@lst.de
  [PATCH] devfs: dvb

ChangeSet@1.1124.3.1, 2003-04-20 14:39:29-07:00, hch@lst.de
  [PATCH] devfs: input
  
  Make sure input always uses devfs_remove.  While at it I've also
  remove lots of code duplication - every upper input driver contained
  the code surrounding devfs_unregister in two identical copies.

ChangeSet@1.1124.2.39, 2003-04-20 14:34:45-07:00, akpm@digeo.com
  [PATCH] fbdev build fix
  
  - fb_prepare_logo() is calling the undefined find_logo().  I think it wants
    fb_find_logo().
  
  - fb_prepare_logo is not __init, therefore fb_find_logo() cannot be __init.

ChangeSet@1.1124.2.38, 2003-04-20 14:30:01-07:00, akpm@digeo.com
  [PATCH] Aggregated disk statistics
  
  From: Rick Lindsley <ricklind@us.ibm.com>
  
  To access all the system's disk statitics we currently need to access one
  sysfs file per disk.  This clearly will not be acceptable with thousands of
  disks.
  
  The patch aggregates the system-wide statistics in real time and exposes them
  via /proc/diskstats

ChangeSet@1.1124.2.37, 2003-04-20 14:29:55-07:00, akpm@digeo.com
  [PATCH] Fix nfsctl for larger dev_t
  
  From: Andries.Brouwer@cwi.nl
  
  The old NFS control interface passes dev_t's in from userspace.  This patch
  keeps it working when the size of dev_t changes.
  
  This is a deprecated interface - new nfs-utils uses an ascii representation
  in exportfs.
  
  Acked by Neil.

ChangeSet@1.1124.2.36, 2003-04-20 14:29:47-07:00, akpm@digeo.com
  [PATCH] smbfs: larger dev_t preparation
  
  Discard fewer bits of the device number recd with smb.
  This does not depend on anything else.
  
  Andries

ChangeSet@1.1124.2.35, 2003-04-20 14:29:39-07:00, akpm@digeo.com
  [PATCH] prepare device mapper for larger dev_t
  
  From: Joe Thornber <thornber@sistina.com>
  
  The only other thing that will need changing in dm to cope with 64bit
  dev_t concerns the bitset I'm using to keep track of allocated minor
  numbers.  A trivial patch like this would work for now:

ChangeSet@1.1124.2.34, 2003-04-20 14:29:32-07:00, akpm@digeo.com
  [PATCH] don't shrink slab for highmem allocations
  
  From: William Lee Irwin III <wli@holomorphy.com>
  
  If one's goal is to free highmem pages, shrink_slab() is an ineffective
  method of recovering them, as slab pages are all ZONE_NORMAL or ZONE_DMA.
  Hence, this "FIXME: do not do for zone highmem".  Presumably this is a
  question of policy, as highmem allocations may be satisfied by reaping slab
  pages and handing them back; but the FIXME says what we should do.

ChangeSet@1.1124.2.33, 2003-04-20 14:29:25-07:00, akpm@digeo.com
  [PATCH] Extend map_vm_area()/get_vm_area()
  
  From: Christoph Hellwig <hch@infradead.org> and David M-T
  
  The ia64 port can use vmap(), but needs to be able to specify the protection
  flags and the resulting vma's vm_flags.
  
  The patch adds the two extra args to vmap(), updates the two callers and
  fixes some comment spellos.

ChangeSet@1.1124.2.32, 2003-04-20 14:29:19-07:00, akpm@digeo.com
  [PATCH] fix CONFIG_NOMMU mismerges
  
  From: Christoph Hellwig <hch@lst.de>
  
  we already have better stubs in nommu.c, the additional inlines in mm.h only
  cause compile failures.

ChangeSet@1.1124.2.31, 2003-04-20 14:29:12-07:00, akpm@digeo.com
  [PATCH] Allocate hd_structs dynamically
  
  From: Badari Pulavarty <pbadari@us.ibm.com>
  
  Here is the patch to allocate hd_struct dynamically as we find
  partitions.
  
  There are 3 things I didn't like in the patch.
  
  1) The patch allocates 15 pointers instead of 15 hd_structs.  (incase of
     s= csi).  I was really hoping to get rid of "15" and make it really
     dynamic.  (In ca= se if we ever want to support more than 15 partitions
     per disk etc..).=20 I was thought about making it a linked list, but
     blk_partition_remap() needs to get to hd_struct for a given partition
     everytime we do IO.  So linked list would be bad, we really need direct
     access to partition in= fo.
  
  2) I had to add "partno" to hd_struct, since part_dev_read() used to calc=
     ulate partition number from the address before.
  
  3) kmalloc() failure in add_partition() will be silently ignored.
  
  It saves 2048 bytes per disk.

ChangeSet@1.1124.2.30, 2003-04-20 14:29:05-07:00, akpm@digeo.com
  [PATCH] shm_get_stat-handle-hugetlb-pages.patch
  
  From: William Lee Irwin III <wli@holomorphy.com>
  
  shm_get_stat() didn't know about hugetlbpage-backed shm.

ChangeSet@1.1124.2.29, 2003-04-20 14:28:59-07:00, akpm@digeo.com
  [PATCH] DAC960: add call to blk_queue_bounce_limit
  
  From: Dave Olien <dmo@osdl.org>
  
  The following patch adds a call to blk_queue_bounce_limit to the DAC960
  driver.  Otherwise, it uses bounce buffering more than it needs to.

ChangeSet@1.1124.2.28, 2003-04-20 14:28:52-07:00, akpm@digeo.com
  [PATCH] oom-kill: preferentially kill swapoff
  
  From: Hugh Dickins <hugh@veritas.com>
  
  The current behaviour is that once swapoff has filled memory, other tasks get
  OOMkilled one by one until swapoff completes, or more likely hangs.  It is
  better that swapoff be the first choice for OOMkill.
  
  The patch changes the oom-killer so that it will kill off any
  currently-running swapoff instance before killing any other task.
  
  (Bit kludgy, couldn't think of a better way)

ChangeSet@1.1124.2.27, 2003-04-20 14:28:45-07:00, akpm@digeo.com
  [PATCH] Permit interruption of swapoff
  
  From: Hugh Dickins <hugh@veritas.com>
  
  Sometimes you start a swapoff and, seeing how long it takes, wish you had
  not: allow signal to interrupt and stop swapoff.

ChangeSet@1.1124.2.26, 2003-04-20 14:28:39-07:00, akpm@digeo.com
  [PATCH] Disallow swapoff if there is insufficient memory
  
  From: Hugh Dickins <hugh@veritas.com>
  
  First of three small "stop swapoff" patches based on 2.5.67-mm3:
  
  stop swapoff 1/3 vm_enough_memory?
  
  Before embarking upon swapoff, check vm_enough_memory.  Mainly
  for consistency in the overcommit_memory 2 (strict accounting) case:
  fail with -ENOMEM if it wouldn't let the amount removed be committed.
  
  Will always succeed in the overcommit_memory 1 case, as it should in
  root-shoot-foot mode.  In the overcommit_memory 0 case, well, I don't
  care much either way, so opted for the simplest code: no special case.
  Which means it could now fail at the start; but that's unlikely (case 0
  is over-generous) and only when it would have got stuck later on anyway.

ChangeSet@1.1124.2.25, 2003-04-20 14:28:32-07:00, akpm@digeo.com
  [PATCH] use __GFP_REPEAT in pmd_alloc_one()
  
  Convert all pmd_alloc_one() implementations to use __GFP_REPEAT

ChangeSet@1.1124.2.24, 2003-04-20 14:28:25-07:00, akpm@digeo.com
  [PATCH] use __GFP_REPEAT in pte_alloc_one()
  
  Remove all the open-coded retry loops in various architectures, use
  __GFP_REPEAT.
  
  It could be that at some time in the future we change __GFP_REPEAT to give up
  after ten seconds or so, so all the checks for failed allocations are
  retained.

ChangeSet@1.1124.2.23, 2003-04-20 14:28:19-07:00, akpm@digeo.com
  [PATCH] make alloc_buffer_head take gfp_flags
  
  - alloc_buffer_head() should take the allocation mode as an arg, and not
    assume.
  
  - Use __GFP_NOFAIL in JBD's call to alloc_buffer_head().
  
  - Remove all the retry code from jbd_kmalloc() - do it via page allocator
    controls.

ChangeSet@1.1124.2.22, 2003-04-20 14:28:12-07:00, akpm@digeo.com
  [PATCH] implement __GFP_REPEAT, __GFP_NOFAIL, __GFP_NORETRY
  
  This is a cleanup patch.
  
  There are quite a lot of places in the kernel which will infinitely retry a
  memory allocation.
  
  Generally, they get it wrong.  Some do yield(), the semantics of which have
  changed over time.  Some do schedule(), which can lock up if the caller is
  SCHED_FIFO/RR.  Some do schedule_timeout(), etc.
  
  And often it is unnecessary, because the page allocator will do the retry
  internally anyway.  But we cannot rely on that - this behaviour may change
  (-aa and -rmap kernels do not do this, for instance).
  
  So it is good to formalise and to centralise this operation.  If an
  allocation specifies __GFP_REPEAT then the page allocator must infinitely
  retry the allocation.
  
  The semantics of __GFP_REPEAT are "try harder".  The allocation _may_ fail
  (the 2.4 -aa and -rmap VM's do not retry infinitely by default).
  
  The semantics of __GFP_NOFAIL are "cannot fail".  It is a no-op in this VM,
  but needs to be honoured (or fix up the callers) if the VM ischanged to not
  retry infinitely by default.
  
  The semantics of __GFP_NOREPEAT are "try once, don't loop".  This isn't used
  at present (although perhaps it should be, in swapoff).  It is mainly for
  completeness.

ChangeSet@1.1124.2.21, 2003-04-20 14:28:04-07:00, akpm@digeo.com
  [PATCH] shmdt() speedup
  
  From: William Lee Irwin III <wli@holomorphy.com>
  
  Micro-optimize sys_shmdt(). There are methods of exploiting knowledge
  of the vma's being searched to restrict the search space. These are:
  
  (1) shm mappings always start their lives at file offset 0, so only
  	vma's above shmaddr need be considered. find_vma() can be used
  	to seek to the proper position in mm->mmap in O(lg(n)) time.
  
  (2) The search is for a vma which could be a fragment of a broken-up
  	shm mapping, which would have been created starting at shmaddr
  	with vm_pgoff 0 and then continued no further into userspace
  	than shmaddr + size. So after having found an initial vma, find
  	the size of the shm segment it maps to calculate an upper bound
  	to the virtualspace that needs to be searched.
  
  (3) mremap() would have caused the original checks to miss vma's mapping
  	the shm segment if shmaddr were the original address at which
  	the shm segments were attached. This does no better and no worse
  	than the original code in that situation.
  
  (4) If the chain of references in vma->vm_file->f_dentry->d_inode->i_size
  	is not guaranteed by refcounting and/or the shm code then this is
  	oopsable; AFAICT an inode is always allocated.

ChangeSet@1.1124.2.20, 2003-04-20 14:27:57-07:00, akpm@digeo.com
  [PATCH] AIO mmap fix
  
  From: Badari Pulavarty <pbadari@us.ibm.com>
  
  Here is a small bug fix for AIO. get_user_pages() takes number
  of pages to map as argument. (not in bytes)

ChangeSet@1.1124.2.19, 2003-04-20 14:27:50-07:00, akpm@digeo.com
  [PATCH] quotactl(): sync all quotas
  
  From: Jan Kara <jack@suse.cz>
  
    I'm resending a patch which implements quotactl(2) call for syncing
  all devices. Particulary it allows the caller not to specify the device
  for syncing and in that case quotas on all the devices are written.
  The patch is rather trivial (mostly moving the code).

ChangeSet@1.1124.2.18, 2003-04-20 14:27:44-07:00, akpm@digeo.com
  [PATCH] ATI Mach64 build fix
  
  From: Geert Uytterhoeven <geert@linux-m68k.org>
  
  Atyfb: Add missing parts of reversal of Mobility changes, allowing ATI Mach64
  GX support to compile again.

ChangeSet@1.1124.2.17, 2003-04-20 14:27:37-07:00, akpm@digeo.com
  [PATCH] hugetlb math overflow fix
  
  From: William Lee Irwin III <wli@holomorphy.com>
  
  And this one fixes an overflow when there is more than 4GB of hugetlb.

ChangeSet@1.1124.2.16, 2003-04-20 14:27:30-07:00, akpm@digeo.com
  [PATCH] follow_hugetlb_page fix
  
  From: William Lee Irwin III <wli@holomorphy.com>
  
  follow_hugetlb_page() drops out of the loop prematurely and fails to take the
  appropriate refcounts if its starting address was not hugepage-aligned.
  
  It looked a bit unclean too, so I rewrote it.  This fixes a bug, and more
  importantly, makes the thing readable by something other than a compiler
  (e.g.  programmers).

ChangeSet@1.1124.2.15, 2003-04-20 14:27:23-07:00, akpm@digeo.com
  [PATCH] Clean up various buffer-head dependencies
  
  From: William Lee Irwin III <wli@holomorphy.com>
  
  Remove page_has_buffers() from various functions, document the dependencies
  on buffer_head.h from other files besides filemap.c, and s/this file/core VM/
  in filemap.c

ChangeSet@1.1124.2.14, 2003-04-20 14:27:14-07:00, akpm@digeo.com
  [PATCH] Move __set_page_dirty_buffers to fs/buffer.c
  
  From: William Lee Irwin III <wli@holomorphy.com>
  
  Move __set_page_dirty_buffers() to fs/buffer.c, as per the FIXME.

ChangeSet@1.1124.2.13, 2003-04-20 14:27:09-07:00, akpm@digeo.com
  [PATCH] Turn on NUMA rebalancing
  
  From: "Martin J. Bligh" <mbligh@aracnet.com>
  
  I'd forgotten that I'd set this to only fire every 20s in the past, because
  it would rebalance too agressively.  That seems to be fixed now, so we should
  turn it back on.

ChangeSet@1.1124.2.12, 2003-04-20 14:27:02-07:00, akpm@digeo.com
  [PATCH] Make PCI scanning order the same as 2.4
  
  From: Chuck Ebbert <76306.1226@compuserve.com>
  
  2.4 builds its global PCI device list in breadth-first order.
  
  2.5 is doing the scan that way but defers the construction of the global list
  until later and then does it depth-first.  This causes devices to found in
  different order by drivers.  The below fixed that problem for me.
  
  Russell King has acked this change.

ChangeSet@1.1124.2.11, 2003-04-20 14:26:55-07:00, akpm@digeo.com
  [PATCH] keyboard.c Fix SAK in raw mode
  
  From: Chris Heath <chris@heathens.co.nz>
  
  Trivial fix to get the SAK key working in raw and medium raw modes.  Patch is
  against kernel 2.5.67.

ChangeSet@1.1124.2.10, 2003-04-20 14:26:49-07:00, akpm@digeo.com
  [PATCH] Minor fix for driver/serial/core.c
  
  From: Jean Tourrilhes <jt@bougret.hpl.hp.com>
  
  	The following command will do nothing at all on 2.5.X :
  		setserial /dev/ttyS0 uart none

ChangeSet@1.1124.2.9, 2003-04-20 14:26:42-07:00, akpm@digeo.com
  [PATCH] detect_lost_tick locking fixes
  
  From: john stultz <johnstul@us.ibm.com>
  
  This patch fixes a race in the timer_interrupt code caused by
  detect_lost_tick().  Since we're doing lost-tick compensation outside
  timer->mark_offset, time can pass between time-source reads which can cause
  gettimeofday inconsistencies.
  
  Additionally detect_lost_tick() was broken for the PIT case, since the whole
  point of detect_lost_tick() is to interpolate between two time sources to
  find inconsistencies.  Additionally this could cause xtime_lock seq_lock
  reader starvation which has been causing machine hangs for SMP boxes that use
  the PIT as a time source.
  
  This patch fixes the described race by removing detect_lost_tick() and
  instead implementing the lost tick detection code inside mark_offset().
  
  Some of the divs and mods being added here might concern folks, but by not
  calling timer->get_offset() in detect_lost_tick() we eliminate much of the
  same math.  I did some simple cycle counting and the new code comes out on
  average equivalent or faster.

ChangeSet@1.1124.2.8, 2003-04-20 14:26:34-07:00, akpm@digeo.com
  [PATCH] get_offset_pit and do_timer_overflow vs IRQ locking
  
  From: john stultz <johnstul@us.ibm.com>, Alexander Atanasov <alex@ssi.bg>
  
  We want to make sure we update jiffies_p and count_p atomically.  So I'm
  inserting the spin_unlock_irqrestore() after we update count_p, rather then
  just before.

ChangeSet@1.1124.2.7, 2003-04-20 14:26:28-07:00, akpm@digeo.com
  [PATCH] Fix jiffies_to_time[spec | val] and converse to use
  
  From: george anzinger <george@mvista.com>
  
  In the current system (2.5.67) time_spec to jiffies, time_val to
  jiffies and the converse (jiffies to time_val and jiffies to
  time_spec) all use 1/HZ as the measure of a jiffie.  Because of the
  inability of the PIT to actually generate an accurate 1/HZ interrupt,
  the wall clock is updated with a more accurate value (999848
  nanoseconds per jiffie for HZ = 1000).  This causes a 1/HZ
  interpretation of jiffies based timing to run faster than the wall
  clock, thus causing sleeps and timers to expire short of the requested
  time.  Try, for example:
  
  time sleep 60
  
  This patch changes the conversion routines to use the same value as
  the wall clock update code to do the conversions.
  
  The actual math is almost all done at compile time.  The run time
  conversions require little if any more execution time.
  
  This patch must be applied after the patch I posted earlier today
  which fixed the CLOCK_MONOTONIC resolution issue.

ChangeSet@1.1124.2.6, 2003-04-20 14:26:21-07:00, akpm@digeo.com
  [PATCH] Fix POSIX timers to give CLOCK_MONOTONIC full
  
  The POSIX CLOCK_MONOTONIC currently has only 1/HZ resolution.  Further, it is
  tied to jiffies (i.e.  is a restatment of jiffies) rather than "xtime" or the
  gettimeofday() clock.
  
  This patch changes CLOCK_MONOTONIC to be a restatment of gettimeofday() plus
  an offset to remove any clock setting activity from CLOCK_MONOTONIC.  An
  offset is kept that represents the difference between CLOCK_MONOTONIC and
  gettimeofday().  This offset is updated when ever the gettimeofday() clock is
  set to back the clock setting change out of CLOCK_MONOTONIC (which by the
  standard, can not be set).
  
  With this change CLOCK_REALTIME (a direct restatement of gettimeofday()),
  CLOCK_MONOTONIC and gettimeofday() will all tick at the same time and with
  the same rate.  And all will be affected by NTP adjustments (save those which
  actually set the time).

ChangeSet@1.1124.2.5, 2003-04-20 14:26:14-07:00, akpm@digeo.com
  [PATCH] Fix and clean up DCACHE_REFERENCED usage
  
  From: Maneesh Soni <maneesh@in.ibm.com>
  
  This patch changes the way DCACHE_REFERENCED flag is used. It
  got messed up in dcache_rcu iterations. I hope this will be ok now.
  
  The flag was meant to be advisory flag which is used while
  prune_dcache() so as not to free dentries which have recently
  entered d_lru list. At first pass in prune_dcache the dentries
  marked DCACHE_REFERENCED are left with the flag reset. and they
  are freed in the next pass.
  
  So, now we mark the dentry as DCACHE_REFERENCED when it is first
  entering the d_lru list in dput() and resetthe flag in prune_dcache().
  If the flag remains reset in the next call to prune_dcache(), the
  dentry is then freed.
  
  Also I don't think any file system have to use this flag as it is taken
  care by the dcache layer. The patch removes such code from a few of file
  systems. Moreover these filesystems were anyway doing worng thing as they
  were changing the flag out of dcache_lock.
  
  Changes:
  o dput() marks dentry DCACHE_REFERENCED when it is added to the dentry_unused
    list
  o no need to set the flag in dget, dget_locked, d_lookup as these guys anyway
    increments the ref count.
  o check the ref count in prune_dcache and use DCACHE_REFERENCED flag just for
    two stage aging.
  o remove code for setting DACACHE_REFERENCED from reiserfs, fat, xfs and
    exportfs.

ChangeSet@1.1124.2.4, 2003-04-20 14:26:07-07:00, akpm@digeo.com
  [PATCH] dentry_stat accounting fix
  
  From: Maneesh Soni <maneesh@in.ibm.com>
  
  This patch the corrects the dentry_stat.nr_unused calculation.
  
  In select_parent() and shrink_dcache_anon() we were not doing any adjustments
  to the nr_unused count after manipulating the dentry_unused list.  Now the
  nr_unused count is decremented if the dentry is on dentry_unused list and is
  removed from there.
  
  Further in the same routines, we have to adjust the nr_unused count again if
  the dentry is moved to the end of d_lru list for pruning.

ChangeSet@1.1124.2.3, 2003-04-20 14:26:00-07:00, akpm@digeo.com
  [PATCH] dmfe: don't free skb with local interrupts disabled
  
  dev_kfree_skb() can end up calling local_bh_enable() which goes BUG if local
  interrupts are disabled.  Apparently it can deadlock.
  
  So move the skb freeing outside the lock in the dmfe driver.  It will
  decrease the lock hold time as well.

ChangeSet@1.1124.2.2, 2003-04-20 14:25:54-07:00, akpm@digeo.com
  [PATCH] Fix nc98 partition parser link error
  
  Fix this:
  
  fs/partitions/nec98.c:169: undefined reference to `parse_bsd'

ChangeSet@1.1124.2.1, 2003-04-20 14:25:47-07:00, akpm@digeo.com
  [PATCH] 3c574_cs fixes
  
  - It was doing spin_lock_irqsave()/spin_unlock()
  
  - Can't free the skb inside local_irq_save(): kfree_skb ends up running
    local_bh_enable(), which enables interrupts.

ChangeSet@1.1124.1.2, 2003-04-20 14:14:34-07:00, torvalds@home.transmeta.com
  Interrupt handlers should return whether the interrupt
  was for them or not, so that the irq subsystem can properly
  handle screaming shared interrupts.
  
  So change the irq handlers to return a "irqretval_t", which
  is either IRQ_HANDLED or IRQ_NONE.

ChangeSet@1.1124.1.1, 2003-04-20 14:12:21-07:00, torvalds@home.transmeta.com
  Fix-ups for i830 from Arjan

ChangeSet@1.1128, 2003-04-20 00:57:31-07:00, davem@nuts.ninka.net
  [PKT_SCHED]: Proper module refcounting for packet schedulers.

ChangeSet@1.1127, 2003-04-20 00:25:42-07:00, davem@nuts.ninka.net
  [PKT_SCHED]: Proper module refcounting for packet classifiers.

ChangeSet@1.1126, 2003-04-19 20:42:38-07:00, yoshfuji@linux-ipv6.org
  [IPSEC]: nexthdr in xfrm6_input needs to be int.

ChangeSet@1.1124, 2003-04-19 19:39:11-07:00, torvalds@home.transmeta.com
  Linux 2.5.68
  TAG: v2.5.68