Several patches here which fix pretty much the last source of long
scheduling latency stalls in the core kernel - long-held page_table_lock
during pagetable teardown.
The preemptible kernel now achieves around 500 microsecond worst-case
latency on a 500MHz PIII (with a slow memory system).  This is about as
good as the 2.4 low-latency patch.  Maybe better.
This is with ext2, and only with ext2.  Other filesystems need work
to reach that level of performance.
Non-preemptible kernels will benefit as well.  This sort of means that
preemptibility is only really needed for specialised multimedia/control
type apps.   Opinions vary ;)
Filesystem mount and unmount is a problem.  Probably, this will not be
addressed.  People who have specialised latency requirements should avoid
using automounters and those gadgets which poll CDROMs for insertion events.
This work has broken the shared pagetable patch - it touches the same code
in many places.   I shall put Humpty together again, but will not be 
including it for some time.  This is because there may be bugs in this
patch series which are accidentally fixed in the shared pagetable patch. So
shared pagetables will be reintegrated when these changes have had sufficient
testing.
Hugh, could you please closely review these changes sometime?   Thanks.
Changes since 2.4.54-mm2:
-no-stem-compression.patch
 It got fixed.
+linus.patch
 latest drop from Linus
+devfs-mount-fix.patch
 Fix a problem with mounting a devfs=y system with root=<number>
+nfsd-fix.patch
 Fix a knfsd problem
+3c920.patch
 3c920 support for 3c59x.c
-shpte-ng.patch
 See above
+untypedef-mmu_gather.patch
 Replace the mmu_gather_t typedef with `struct mmu_gather'.
+low-latency-page-unmapping.patch
 Fix long-held spinlocks in exit_mmap() and unmap_region()
+smp-preempt-latency-fix.patch
 Fix a cross-cpu problem which causes long scheduling stalls
 on SMP+preempt
-#smaller-head-arrays.patch
+smaller-head-arrays.patch
 I really do think those slab head arrays are too big.
-fix-ethernet-hash.patch
 Jeff merged a fix
All 70 patches:
linus.patch
  cset-1.930.1.15-to-1.977.txt.gz
kgdb.patch
log_buf_size.patch
  move LOG_BUF_SIZE to header/config
nfsd-fix.patch
  Subject: Re: nfsd woes
rcf.patch
  run-child-first after fork
devfs-fix.patch
devfs-mount-fix.patch
  devfs mount-time readdir fix and cleanup
dio-return-partial-result.patch
aio-direct-io-infrastructure.patch
  AIO support for raw/O_DIRECT
deferred-bio-dirtying.patch
  bio dirtying infrastructure
aio-direct-io.patch
  AIO support for raw/O_DIRECT
aio-dio-debug.patch
dio-reduce-context-switch-rate.patch
  Reduced wakeup rate in direct-io code
cputimes_stat.patch
  Retore per-cpu time accounting, with a config option
misc.patch
  misc fixes
3c920.patch
  3c59x: 3c920 support
inlines-net.patch
rbtree-iosched.patch
  rbtree-based IO scheduler
deadsched-fix.patch
  deadline scheduler fix
copy_page_range-cleanup.patch
  copy_page_range: minor cleanup
pte_chain_alloc-fix.patch
  infrastructure for handling pte_chain_alloc() failures
page_add_rmap-rework.patch
  handle fix pte_chain_alloc() failures
rat-preload.patch
  infrastructure for handling radix_tree_node allocation failures
use-rat-preallocation.patch
  handle radix_tree_node allocation failures
i_shared_sem.patch
  turn i_shared_lock into a semaphore
cond_resched_lock-rework.patch
  simplify and generalise cond_resched_lock
untypedef-mmu_gather.patch
  replace `typedef mmu_gather_t' with `struct mmu_gather'
low-latency-page-unmapping.patch
  low-latency pagetable teardown
smp-preempt-latency-fix.patch
  Fix an SMP+preempt latency problem
smaller-head-arrays.patch
mempool_resize-fix.patch
  mempool_resize fix
slab-redzone-cleanup.patch
  slab: redzoning cleanup
shrink-kmap-space.patch
  shrink the amount of vmalloc space reserved for kmap
setuid-exec-no-lock_kernel.patch
  remove lock_kernel() from exec of setuid apps
ptrace-flush.patch
  Subject: [PATCH] ptrace on 2.5.44
buffer-debug.patch
  buffer.c debugging
warn-null-wakeup.patch
pentium-II.patch
  Pentium-II support bits
rcu-stats.patch
  RCU statistics reporting
auto-unplug.patch
  self-unplugging request queues
less-unplugging.patch
  Remove most of the blk_run_queues() calls
ext3-fsync-speedup.patch
  Clean up ext3_sync_file()
lockless-current_kernel_time.patch
  Lockless current_kernel_timer()
scheduler-tunables.patch
  scheduler tunables
dio-always-kmalloc.patch
  direct-io: dynamically allocate struct dio
set_page_dirty_lock.patch
  fix set_page_dirty vs truncate&free races
htlb-2.patch
  hugetlb: fix MAP_FIXED handling
route-cache-kmalloc-per-cpu.patch
  use kmalloc-per-cpu for the routecache stats
wli-01_numaq_io.patch
  (undescribed patch)
wli-02_do_sak.patch
  (undescribed patch)
wli-03_proc_super.patch
  (undescribed patch)
wli-06_uml_get_task.patch
  (undescribed patch)
wli-07_numaq_mem_map.patch
  (undescribed patch)
wli-08_numaq_pgdat.patch
  (undescribed patch)
wli-09_has_stopped_jobs.patch
  (undescribed patch)
wli-10_inode_wait.patch
  (undescribed patch)
wli-11_pgd_ctor.patch
  (undescribed patch)
wli-11_pgd_ctor-update.patch
  pgd_ctor update
wli-12_pidhash_size.patch
  Dynamically size the pidhash hash table.
wli-13_rmap_nrpte.patch
  (undescribed patch)
dcache_rcu-2.patch
  dcache_rcu-2-2.5.51.patch
dcache_rcu-3.patch
  dcache_rcu-3-2.5.51.patch
page-walk-api.patch
page-walk-api-2.5.53-mm2-update.patch
  pagewalk API update
page-walk-scsi.patch
page-walk-scsi-2.5.53-mm2.patch
  pagewalk scsi update
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/