Messages in this thread | | | Date | Sat, 21 Sep 2002 22:30:01 -0700 | From | Andrew Morton <> | Subject | 2.5.37-mm1 |
| |
url: http://www.zip.com.au/~akpm/linux/patches/2.5/2.5.37/2.5.37-mm1/
Reminder: it breaks top(1) and vmstat(1). Updates to these tools are at http://surriel.com/procps/
+ide-high-1.patch
Fix block-highmem for IDE. From Jens.
+ide-block-fix-1.patch
Fix some boot-time hang which I had. From Jens.
-writeback-control.patch -free_area_init-cleanup.patch -alloc_pages-cleanup.patch -statm_pgd_range-sucks.patch -remove-sync_thresh.patch -vm-mapping-fix.patch -taka-writev.patch -writev-fix.patch -pf_nowarn.patch -misc.patch -release_pages-speedup.patch -highmem-huge-tlb.patch
Merged
+might_sleep.patch
Debug patch to catch people calling things like kmalloc(__GFP_WAIT), down(), etc from inside spinlocks. This is a much stronger test than the one in schedule(). It's really only effective with CONFIG_PREEMPT=y.
Causes a storm of complaints and stack backtraces at boot due to drivers/ide/ide-probe.c:init_irq() calling lots of things which it shouldn't under ide_lock. It will find other bugs.
+set_page_dirty-locking-fix.patch
We don't need to hold mapping->private_lock while moving the page onto its mapping's dirty_pages list.
+swsusp-feature.patch
Feature for software suspend to force page reclaim. Doesn't work right.
+adaptec-fix.patch
Fix the lockup which happens each time the aic7xxx driver encounters an IO error.
+remove-page-virtual.patch
Remove page->virtual, hash for it.
+dirty-memory-clamp.patch
Kill off the secret benchmarking feature which allowed the dirty memory threshold to be exceeded when running dbench. Makes the kernel really strict about limiting the amount of dirty memory and should make the buffer_head stripping code more effective.
+mempool-wakeup-fix.patch
Fix a task lockup which can happen in mempool_alloc() when the number of sleeping tasks exceeds the size of the mempool.
+remove-write_mapping_buffers.patch
Remove the write_mapping_buffers() function. It didn't work out.
+buffer_boundary-scheduling.patch
Use the buffer_boundary() block-mapping hint for scheduling of IO against indirect blocks. This _does_ work out. Large-file writeback is now smooth and seekless.
+ll_rw_block-cleanup.patch
Clean up the ll_rw_block() function.
+lseek-ext2_readdir.patch
Remove the lock_kernel() in ext2_readdir(). I'm fairly sure that it's superfluous, and it was being irritating.
+discontig-no-contig_page_data.patch
Make sure that contig_page_data is undefined on discontigmem builds.
+per-node-zone_normal.patch
Make the normal zone per-node rather than global on the NUMAQ's.
+alloc_pages_node-cleanup.patch
Clean up alloc_pages_node()
+read_barrier_depends.patch +rcu_ltimer.patch +dcache_rcu.patch
The dcache RCU code.
I do not intend to send this on to Linus. It is not my area and I do not understand the code.
But a 15% hit in specweb99 on an 8-way is sigificant and no other solution has presented itself. So this way, this code gets some extra testing. Plus clearing away this problem helps us to identify other bottlenecks.
I shall keep these patches ticking over as a general service to the people who are interested in, and working on 2.5 performance.
No real progress has been made on the writer-starves-reader problem which is impacting the `contest' io_fullload test. This is a severe problem - a streaming write is decreasing read performance from the same disk by a factor of 4000. Working on it.
linus.patch cset-1.565.1.13-to-1.565.6.1.txt.gz
ide-high-1.patch
ide-block-fix-1.patch
scsi_hack.patch Fix block-highmem for scsi
ext3-htree.patch Indexed directories for ext3
spin-lock-check.patch spinlock/rwlock checking infrastructure
rd-cleanup.patch Cleanup and fix the ramdisk driver (doesn't work right yet)
might_sleep.patch debug code to detect might-sleep-inside-spinlock bugs
queue-congestion.patch Infrastructure for communicating request queue congestion to the VM
nonblocking-ext2-preread.patch avoid ext2 inode prereads if the queue is congested
nonblocking-pdflush.patch non-blocking writeback infrastructure, use it for pdflush
nonblocking-vm.patch Non-blocking page reclaim
set_page_dirty-locking-fix.patch don't call __mark_inode_dirty under spinlock
prepare_to_wait.patch prepare_to_wait/finish_wait: new sleep/wakeup API
vm-wakeups.patch Use the faster wakeups in the VM and block layers
sync-helper.patch Speed up sys_sync() against multiple spindles
slabasap.patch Early and smarter shrinking of slabs
write-deadlock.patch Fix the generic_file_write-from-same-mmapped-page deadlock
buddyinfo.patch Add /proc/buddyinfo - stats on the free pages pool
free_area.patch Remove struct free_area_struct and free_area_t, use `struct free_area'
per-node-kswapd.patch Per-node kswapd instance
topology-api.patch Simple topology API
radix_tree_gang_lookup.patch radix tree gang lookup
truncate_inode_pages.patch truncate/invalidate_inode_pages rewrite
proc_vmstat.patch Move the vm accounting out of /proc/stat
kswapd-reclaim-stats.patch Add kswapd_steal to /proc/vmstat
iowait.patch I/O wait statistics
sard.patch SARD disk accounting
remove-gfp_nfs.patch remove GFP_NFS
tcp-wakeups.patch Use fast wakeups in TCP/IPV4
swapoff-deadlock.patch Fix a tmpfs swapoff deadlock
dirty-and-uptodate.patch page state cleanup
shmem_rename.patch shmem_rename() directory link count fix
dirent-size.patch tmpfs: show a non-zero size for directories
tmpfs-trivia.patch tmpfs: small fixlets
per-zone-vm.patch separate the kswapd and direct reclaim code paths
swsusp-feature.patch add shrink_all_memory() for swsusp
adaptec-fix.patch partial fix for aic7xxx error recovery
remove-page-virtual.patch remove page->virtual for !WANT_PAGE_VIRTUAL
dirty-memory-clamp.patch sterner dirty-memory clamping
mempool-wakeup-fix.patch Fix for stuck tasks in mempool_alloc()
remove-write_mapping_buffers.patch Remove write_mapping_buffers
buffer_boundary-scheduling.patch IO schduling for indirect blocks
ll_rw_block-cleanup.patch cleanup ll_rw_block()
lseek-ext2_readdir.patch remove lock_kernel() from ext2_readdir()
discontig-no-contig_page_data.patch undefine contif_page_data for discontigmem
per-node-zone_normal.patch ia32 NUMA: per-node ZONE_NORMAL
alloc_pages_node-cleanup.patch alloc_pages_node cleanup
read_barrier_depends.patch extended barrier primitives
rcu_ltimer.patch RCU core
dcache_rcu.patch Use RCU for dcache - 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/
| |