* 2.5.72-mm1
@ 2003-06-17 8:40 ` Andrew Morton
0 siblings, 0 replies; 4+ messages in thread
From: Andrew Morton @ 2003-06-17 8:40 UTC (permalink / raw)
To: linux-kernel, linux-mm
ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.5/2.5.72/2.5.72-mm1/
. A fairly large batch of changes in the block request allocation,
batching and throttling code. To address worst-case latency, improve
throughput in benchmarky loads, etc.
. The memory debugging patch which unmaps pages and large slab objects
from the kernel virtual address space is back.
Changes since 2.5.71-mm1:
-yenta-unload-oops-fix.patch
-rpc-depopulate-fix.patch
Merged
+ppc64-fixes-2.patch
PPC64 touchups from Anton
+pcmcia-detect-fix.patch
CardSevices fix
+1-kmem-cache-destroy.patch
Tidy up slab error message handling.
+2-slab-poison-fix.patch
Corectly poison uninitialised memory with 0x5a5a5a5a
+3-unmap-page-debugging.patch
New version of Manfred's unmap-unused-kernel-pages debug patch
+sysv-semundo-fixes.patch
sysv IPC fixes
+raw-devfs-support.patch
devfs support for /dev/raw/*
+misc5.patch
Misc fixes
+scroll-distance-fix.patch
Support console scrolling of more then +127/-128 rows
+generic-io-contexts.patch
+blk-request-batching.patch
+get_io_context-fix.patch
+blk-allocation-commentary.patch
+blk-batching-throttle-fix.patch
Block request batching fairness and efficiency.
+io_submit_one-EINVAL-fix.patch
AIO error handling fix.
-aio-poll.patch
Dropped: apparently incorrect and obviously not being tested.
+lock_buffer_wq-fix.patch
buffer locking BUG fix
+unuse_mm-locked.patch
Might fix some problems with the new AIO patches.
+time-goes-backwards.patch
Demonstrate that do_gettimeofday() tends to leap backwards 45 seconds.
+keventd-thread-cleanup.patch
kmod fixes
+skip-apic-ids-on-boot.patch
Ability to disable specific APICs
+AT_SECURE-auxv-entry.patch
Security stuff
All 176 patches:
mm.patch
add -mmN to EXTRAVERSION
kgdb-ga.patch
kgdb stub for ia32 (George Anzinger's one)
kgdb-use-ggdb.patch
HZ-100.patch
config_spinline.patch
uninline spinlocks for profiling accuracy.
ppc64-fixes-2.patch
Maek ppc64 compile
ppc64-bat-initialisation-fix.patch
ppc64: BAT initialisation fix
ppc64-pci-update.patch
ppc64-reloc_hide.patch
ppc64-semaphore-reimplementation.patch
ppc64: use the ia32 semaphore implementation
sym-do-160.patch
make the SYM driver do 160 MB/sec
x86_64-fixes.patch
x86_64 fixes
irqreturn-snd-via-fix.patch
via sound irqreturn fix
config-PAGE_OFFSET.patch
Configurable kenrel/user memory split
pcmcia-detect-fix.patch
pcmcia detection fix
lru_cache_add-check.patch
lru_cache_add debug check
delay-ksoftirqd-fallback.patch
Try harded in IRQ context before falling back to ksoftirqd
fb-image-depth-fix.patch
fbdev image depth fix
ds-09-vicam-usercopy-fix.patch
vicam usercopy fix
buffer-debug.patch
buffer.c debugging
show_stack-cleanup.patch
show_stack() portability and cleanup patch
ppc64-show_stack.patch
e100-use-after-free-fix.patch
statfs64-3.patch
Add system calls statfs64 and fstatfs64
statfs64-3-fixes-1.patch
1-kmem-cache-destroy.patch
kmem_cache_destroy(): use slab_error()
2-slab-poison-fix.patch
slab poisoning fix
3-unmap-page-debugging.patch
page unmappng debug patch
VM_RESERVED-check.patch
VM_RESERVED check
rcu-stats.patch
RCU statistics reporting
sysv-semundo-fixes.patch
sysv semundo
raw-devfs-support.patch
raw.c devfs support
ide_setting_sem-fix.patch
hugetlbfs-size-inodes-mount-option.patch
hugetlbfs: specify size & inodes at mount
reslabify-pgds-and-pmds.patch
re-slabify i386 pgd's and pmd's
misc5.patch
misc fixes
scroll-distance-fix.patch
Premit big console scrolls
linux-isp.patch
isp-update-1.patch
isp-remove-pci_detect.patch
list_del-debug.patch
list_del debug check
airo-schedule-fix.patch
airo.c: don't sleep in atomic regions
resurrect-batch_requests.patch
bring back the batch_requests function
kblockd.patch
Create `kblockd' workqueue
cfq-infrastructure.patch
elevator-completion-api.patch
elevator completion API
as-iosched.patch
anticipatory I/O scheduler
as-proc-read-write.patch
AS: pgbench improvement
as-discrete-read-fifo-batches.patch
AS: discrete read fifo batches
as-sync-async.patch
AS sync/async batches
as-hash-removal-fix.patch
AS: hash removal fix
as-jumbo-patch-for-scsi.patch
AS jumbo patch (for SCSI and TCQ)
as-stupid.patch
AS: fix stupid thinko
as-no-batch-antic-limit.patch
AS: no batch-antic-limit
as-autotune-write-batches.patch
AS: autotune write batches
as-div-by-zero-fix.patch
AS: divide by zero fix
as-more-HZ.patch
AS: more HZ != 1000 fixes
as-even-more-write-batch-tuning.patch
AS: update_write_batch tuning
as-locking.patch
AS locking
as-HZ.patch
AS HZ fixes
as-double-free-and-debug.patch
AS: fix a leak + more debugging
as-fix-seek-estimation.patch
AS: maybe repair performance drop of random read O_DIRECT
as-fix-seeky-loads.patch
AS: fix IBM's seek load
unplug-use-kblockd.patch
Use kblockd for running request queues
cfq-2.patch
CFQ scheduler, #2
CFQ: update to rq-dyn API
cfq-hash-removal-fix.patch
CFQ: hash removal fix
cfq-list_del-fix.patch
CFQ: empty the queuelist
per-queue-nr_requests.patch
per queue nr_requests
blk-invert-watermarks.patch
blk_congestion_wait threshold cleanup
blk-as-hint.patch
blk-as-hint
get_request_wait-oom-fix.patch
handle OOM in get_request_wait().
blk-fair-batches.patch
blk-fair-batches
blk-fair-batches-2.patch
blk fair batches #2
generic-io-contexts.patch
generic io contexts
blk-request-batching.patch
block request batching
get_io_context-fix.patch
get_io_context fixes
blk-allocation-commentary.patch
block allocation comments
blk-batching-throttle-fix.patch
blk batch requests fix
print-build-options-on-oops.patch
print a few config options on oops
mmap-prefault.patch
prefault of executable mmaps
bio-debug-trap.patch
BIO debugging patch
sound-irq-hack.patch
show_task-free-stack-fix.patch
show_task() fix and cleanup
put_task_struct-debug.patch
ia32-mknod64.patch
mknod64 for ia32
ext2-64-bit-special-inodes.patch
ext2: support for 64-bit device nodes
ext3-64-bit-special-inodes.patch
ext3: support for 64-bit device nodes
64-bit-dev_t-kdev_t.patch
64-bit dev_t and kdev_t
oops-dump-preceding-code.patch
i386 oops output: dump preceding code
lockmeter.patch
ext3-no-bkl.patch
ext3: move lock_kernel() down into the JBD layer.
journal_get_write_access-speedup.patch
JBD: journal_get_write_access() speedup
ext3-concurrent-block-inode-allocation.patch
ext3: concurrent block/inode allocation
Fix orlov allocator boundary case
ext3-concurrent-block-allocation-hashed.patch
ext3: scalable counters and locks
fix ext3 inode allocator race
jbd-010-b_committed_data-race-fix.patch
JBD: fix race over access to b_committed_data
jbd-020-locking-schema.patch
JBD: plan JBD locking schema
jbd-030-remove-splice_lock.patch
JBD: remove jh_splice_lock
jbd-040-journal_add_journal_head-locking.patch
JBD: fine-grain journal_add_journal_head locking
jbd-045-rename-journal_unlock_journal_head.patch
JBD: rename journal_unlock_journal_head to journal_put_journal_head
jbd-050-b_frozen_data-locking.patch
JBD: Finish protection of journal_head.b_frozen_data
jbd-060-b_committed_data-locking.patch
JBD: implement b_committed_data locking
jbd-070-b_transaction-locking.patch
JBD: implement b_transaction locking rules
jbd-080-b_next_transaction-locking.patch
JBD: Implement b_next_transaction locking rules
jbd-090-b_tnext-locking.patch
JBD: b_tnext locking
jbd-100-remove-journal_datalist_lock.patch
JBD: remove journal_datalist_lock
jbd-110-t_nr_buffers-locking.patch
JBD: t_nr_buffers locking
jbd-120-t_updates-locking.patch
JBD: t_updates locking
jbd-130-t_outstanding_credits-locking.patch
JBD: implement t_outstanding_credits locking
jbd-140-t_jcb-locking.patch
JBD: implement t_jcb locking
jbd-150-j_barrier_count-locking.patch
JBD: implement j_barrier_count locking
jbd-160-j_running_transaction-locking.patch
JBD: implement j_running_transaction locking
jbd-170-j_committing_transaction-locking.patch
JBD: implement j_committing_transaction locking
jbd-180-j_checkpoint_transactions.patch
JBD: implement j_checkpoint_transactions locking
jbd-190-j_head-locking.patch
JBD: implement journal->j_head locking
jbd-200-j_tail-locking.patch
JBD: implement journal->j_tail locking
jbd-210-j_free-locking.patch
JBD: implement journal->j_free locking
jbd-220-j_commit_sequence-locking.patch
JBD: implement journal->j_commit_sequence locking
jbd-230-j_commit_request-locking.patch
JBD: implement j_commit_request locking
jbd-240-dual-revoke-tables.patch
JBD: implement dual revoke tables.
jbd-250-remove-sleep_on.patch
JBD: remove remaining sleep_on()s
jbd-300-remove-lock_kernel.patch
JBD: remove lock_kernel()
jbd-400-remove-lock_journal.patch
JBD: remove lock_journal()
jbd-510-h_credits-fix.patch
JBD: journal_release_buffer: handle credits fix
jbd-520-journal_unmap_buffer-race.patch
JBD: journal_unmap_buffer race fix
jbd-530-walk_page_buffers-race-fix.patch
ext3: ext3_writepage race fix
jbd-540-journal_try_to_free_buffers-race-fix.patch
JBD: buffer freeing non-race comment
jbd-550-locking-checks.patch
JBD: add some locking assertions
jbd-570-transaction-state-locking.patch
JBD: additional transaction shutdown locking
jbd-580-log_start_commit-race-fix.patch
JBD: fix log_start_commit race
jbd-590-do_get_write_access-speedup.patch
JBD: do_get_write_access() speedup
ext3-010-fix-journalled-data.patch
ext3: fix data=journal mode
ext3-035-journal_try_to_free_buffers-race-fix.patch
ext3-040-recursive-ext3_write_inode-check.patch
ext3: add a dump_stack()
ext3-050-ioctl-transaction-leak.patch
ext3: fix error-path handle leak
ext3-070-xattr-clone-leak-fix.patch
Fix leak in ext3_acl_chmod()
ext3-080-remove-block-inode-count-message.patch
ext3: remove mount-time diagnostic messages
jbd-600-journal_dirty_metadata-speedup.patch
JBD: journal_dirty_metadata() speedup
jbd-610-journal_dirty_metadata-diags.patch
JBD: journal_dirty_metadata diagnostics
jbd-620-commit-vs-start-race-fix.patch
JBD: fix race between journal_commit_transaction and start_this_handle
ext3-090-journalled-writepage-vs-truncate-fix.patch
ext3: fix data=journal for small blocksize
jbd-630-remove-j_commit_timer_active.patch
JBD: remove j_commit_timer_active
jbd-650-truncate-ordered-pages.patch
ext3: explicitly free truncated pages
jbd-660-log_do_checkpoint-fix.patch
JBD: log_do_checkpoint() locking fixes
jbd-670-log_start_commit-locking-fix.patch
JBD: fix locking around log_start_commit()
jbd-680-log_wait_for_space-fix.patch
JBD: hold onto j_state_lock after log_wait_for_space().
invalidate_mmap_range.patch
Interface to invalidate regions of mmaps
aio-01-retry.patch
AIO: Core retry infrastructure
io_submit_one-EINVAL-fix.patch
Fix aio process hang on EINVAL
aio-02-lockpage_wq.patch
AIO: Async page wait
aio-03-fs_read.patch
AIO: Filesystem aio read
aio-04-buffer_wq.patch
AIO: Async buffer wait
aio-05-fs_write.patch
AIO: Filesystem aio write
aio-05-fs_write-fix.patch
aio-06-bread_wq.patch
AIO: Async block read
aio-06-bread_wq-fix.patch
aio-07-ext2getblk_wq.patch
AIO: Async get block for ext2
O_SYNC-speedup-2.patch
speed up O_SYNC writes
aio-09-o_sync.patch
aio O_SYNC
aio-10-BUG-fix.patch
AIO: fix a BUG
aio-11-workqueue-flush.patch
AIO: flush workqueues before destroying ioctx'es
aio-12-readahead.patch
AIO: readahead fixes
lock_buffer_wq-fix.patch
lock_buffer_wq fix
unuse_mm-locked.patch
AIO: hold the context lock across unuse_mm
vfsmount_lock.patch
From: Maneesh Soni <maneesh@in.ibm.com>
Subject: [patch 1/2] vfsmount_lock
syncppp-locking-fix.patch
syncppp locking fix
sched-hot-balancing-fix.patch
fix for CPU scheduler load distribution
truncate-pagefault-race-fix.patch
Fix vmtruncate race and distributed filesystem race
remove-swapper_inode.patch
remove swapper_inode
sync-write-more-pages.patch
dirty inode writeback fix
workqueue-reorg-fix.patch
workqueue.c subtle fix and core extraction
task_struct-use-after-free-fix.patch
proc_pid_lookup use-after-free fix
sleepometer.patch
sleep instrumentation
time-goes-backwards.patch
demonstrate do_gettimeofday() going backwards
keventd-thread-cleanup.patch
Fix kmod return value
skip-apic-ids-on-boot.patch
skip apicids on boot
AT_SECURE-auxv-entry.patch
AT_SECURE auxv entry
^ permalink raw reply [flat|nested] 4+ messages in thread
* 2.5.72-mm1
@ 2003-06-17 8:40 ` Andrew Morton
0 siblings, 0 replies; 4+ messages in thread
From: Andrew Morton @ 2003-06-17 8:40 UTC (permalink / raw)
To: linux-kernel, linux-mm
ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.5/2.5.72/2.5.72-mm1/
. A fairly large batch of changes in the block request allocation,
batching and throttling code. To address worst-case latency, improve
throughput in benchmarky loads, etc.
. The memory debugging patch which unmaps pages and large slab objects
from the kernel virtual address space is back.
Changes since 2.5.71-mm1:
-yenta-unload-oops-fix.patch
-rpc-depopulate-fix.patch
Merged
+ppc64-fixes-2.patch
PPC64 touchups from Anton
+pcmcia-detect-fix.patch
CardSevices fix
+1-kmem-cache-destroy.patch
Tidy up slab error message handling.
+2-slab-poison-fix.patch
Corectly poison uninitialised memory with 0x5a5a5a5a
+3-unmap-page-debugging.patch
New version of Manfred's unmap-unused-kernel-pages debug patch
+sysv-semundo-fixes.patch
sysv IPC fixes
+raw-devfs-support.patch
devfs support for /dev/raw/*
+misc5.patch
Misc fixes
+scroll-distance-fix.patch
Support console scrolling of more then +127/-128 rows
+generic-io-contexts.patch
+blk-request-batching.patch
+get_io_context-fix.patch
+blk-allocation-commentary.patch
+blk-batching-throttle-fix.patch
Block request batching fairness and efficiency.
+io_submit_one-EINVAL-fix.patch
AIO error handling fix.
-aio-poll.patch
Dropped: apparently incorrect and obviously not being tested.
+lock_buffer_wq-fix.patch
buffer locking BUG fix
+unuse_mm-locked.patch
Might fix some problems with the new AIO patches.
+time-goes-backwards.patch
Demonstrate that do_gettimeofday() tends to leap backwards 45 seconds.
+keventd-thread-cleanup.patch
kmod fixes
+skip-apic-ids-on-boot.patch
Ability to disable specific APICs
+AT_SECURE-auxv-entry.patch
Security stuff
All 176 patches:
mm.patch
add -mmN to EXTRAVERSION
kgdb-ga.patch
kgdb stub for ia32 (George Anzinger's one)
kgdb-use-ggdb.patch
HZ-100.patch
config_spinline.patch
uninline spinlocks for profiling accuracy.
ppc64-fixes-2.patch
Maek ppc64 compile
ppc64-bat-initialisation-fix.patch
ppc64: BAT initialisation fix
ppc64-pci-update.patch
ppc64-reloc_hide.patch
ppc64-semaphore-reimplementation.patch
ppc64: use the ia32 semaphore implementation
sym-do-160.patch
make the SYM driver do 160 MB/sec
x86_64-fixes.patch
x86_64 fixes
irqreturn-snd-via-fix.patch
via sound irqreturn fix
config-PAGE_OFFSET.patch
Configurable kenrel/user memory split
pcmcia-detect-fix.patch
pcmcia detection fix
lru_cache_add-check.patch
lru_cache_add debug check
delay-ksoftirqd-fallback.patch
Try harded in IRQ context before falling back to ksoftirqd
fb-image-depth-fix.patch
fbdev image depth fix
ds-09-vicam-usercopy-fix.patch
vicam usercopy fix
buffer-debug.patch
buffer.c debugging
show_stack-cleanup.patch
show_stack() portability and cleanup patch
ppc64-show_stack.patch
e100-use-after-free-fix.patch
statfs64-3.patch
Add system calls statfs64 and fstatfs64
statfs64-3-fixes-1.patch
1-kmem-cache-destroy.patch
kmem_cache_destroy(): use slab_error()
2-slab-poison-fix.patch
slab poisoning fix
3-unmap-page-debugging.patch
page unmappng debug patch
VM_RESERVED-check.patch
VM_RESERVED check
rcu-stats.patch
RCU statistics reporting
sysv-semundo-fixes.patch
sysv semundo
raw-devfs-support.patch
raw.c devfs support
ide_setting_sem-fix.patch
hugetlbfs-size-inodes-mount-option.patch
hugetlbfs: specify size & inodes at mount
reslabify-pgds-and-pmds.patch
re-slabify i386 pgd's and pmd's
misc5.patch
misc fixes
scroll-distance-fix.patch
Premit big console scrolls
linux-isp.patch
isp-update-1.patch
isp-remove-pci_detect.patch
list_del-debug.patch
list_del debug check
airo-schedule-fix.patch
airo.c: don't sleep in atomic regions
resurrect-batch_requests.patch
bring back the batch_requests function
kblockd.patch
Create `kblockd' workqueue
cfq-infrastructure.patch
elevator-completion-api.patch
elevator completion API
as-iosched.patch
anticipatory I/O scheduler
as-proc-read-write.patch
AS: pgbench improvement
as-discrete-read-fifo-batches.patch
AS: discrete read fifo batches
as-sync-async.patch
AS sync/async batches
as-hash-removal-fix.patch
AS: hash removal fix
as-jumbo-patch-for-scsi.patch
AS jumbo patch (for SCSI and TCQ)
as-stupid.patch
AS: fix stupid thinko
as-no-batch-antic-limit.patch
AS: no batch-antic-limit
as-autotune-write-batches.patch
AS: autotune write batches
as-div-by-zero-fix.patch
AS: divide by zero fix
as-more-HZ.patch
AS: more HZ != 1000 fixes
as-even-more-write-batch-tuning.patch
AS: update_write_batch tuning
as-locking.patch
AS locking
as-HZ.patch
AS HZ fixes
as-double-free-and-debug.patch
AS: fix a leak + more debugging
as-fix-seek-estimation.patch
AS: maybe repair performance drop of random read O_DIRECT
as-fix-seeky-loads.patch
AS: fix IBM's seek load
unplug-use-kblockd.patch
Use kblockd for running request queues
cfq-2.patch
CFQ scheduler, #2
CFQ: update to rq-dyn API
cfq-hash-removal-fix.patch
CFQ: hash removal fix
cfq-list_del-fix.patch
CFQ: empty the queuelist
per-queue-nr_requests.patch
per queue nr_requests
blk-invert-watermarks.patch
blk_congestion_wait threshold cleanup
blk-as-hint.patch
blk-as-hint
get_request_wait-oom-fix.patch
handle OOM in get_request_wait().
blk-fair-batches.patch
blk-fair-batches
blk-fair-batches-2.patch
blk fair batches #2
generic-io-contexts.patch
generic io contexts
blk-request-batching.patch
block request batching
get_io_context-fix.patch
get_io_context fixes
blk-allocation-commentary.patch
block allocation comments
blk-batching-throttle-fix.patch
blk batch requests fix
print-build-options-on-oops.patch
print a few config options on oops
mmap-prefault.patch
prefault of executable mmaps
bio-debug-trap.patch
BIO debugging patch
sound-irq-hack.patch
show_task-free-stack-fix.patch
show_task() fix and cleanup
put_task_struct-debug.patch
ia32-mknod64.patch
mknod64 for ia32
ext2-64-bit-special-inodes.patch
ext2: support for 64-bit device nodes
ext3-64-bit-special-inodes.patch
ext3: support for 64-bit device nodes
64-bit-dev_t-kdev_t.patch
64-bit dev_t and kdev_t
oops-dump-preceding-code.patch
i386 oops output: dump preceding code
lockmeter.patch
ext3-no-bkl.patch
ext3: move lock_kernel() down into the JBD layer.
journal_get_write_access-speedup.patch
JBD: journal_get_write_access() speedup
ext3-concurrent-block-inode-allocation.patch
ext3: concurrent block/inode allocation
Fix orlov allocator boundary case
ext3-concurrent-block-allocation-hashed.patch
ext3: scalable counters and locks
fix ext3 inode allocator race
jbd-010-b_committed_data-race-fix.patch
JBD: fix race over access to b_committed_data
jbd-020-locking-schema.patch
JBD: plan JBD locking schema
jbd-030-remove-splice_lock.patch
JBD: remove jh_splice_lock
jbd-040-journal_add_journal_head-locking.patch
JBD: fine-grain journal_add_journal_head locking
jbd-045-rename-journal_unlock_journal_head.patch
JBD: rename journal_unlock_journal_head to journal_put_journal_head
jbd-050-b_frozen_data-locking.patch
JBD: Finish protection of journal_head.b_frozen_data
jbd-060-b_committed_data-locking.patch
JBD: implement b_committed_data locking
jbd-070-b_transaction-locking.patch
JBD: implement b_transaction locking rules
jbd-080-b_next_transaction-locking.patch
JBD: Implement b_next_transaction locking rules
jbd-090-b_tnext-locking.patch
JBD: b_tnext locking
jbd-100-remove-journal_datalist_lock.patch
JBD: remove journal_datalist_lock
jbd-110-t_nr_buffers-locking.patch
JBD: t_nr_buffers locking
jbd-120-t_updates-locking.patch
JBD: t_updates locking
jbd-130-t_outstanding_credits-locking.patch
JBD: implement t_outstanding_credits locking
jbd-140-t_jcb-locking.patch
JBD: implement t_jcb locking
jbd-150-j_barrier_count-locking.patch
JBD: implement j_barrier_count locking
jbd-160-j_running_transaction-locking.patch
JBD: implement j_running_transaction locking
jbd-170-j_committing_transaction-locking.patch
JBD: implement j_committing_transaction locking
jbd-180-j_checkpoint_transactions.patch
JBD: implement j_checkpoint_transactions locking
jbd-190-j_head-locking.patch
JBD: implement journal->j_head locking
jbd-200-j_tail-locking.patch
JBD: implement journal->j_tail locking
jbd-210-j_free-locking.patch
JBD: implement journal->j_free locking
jbd-220-j_commit_sequence-locking.patch
JBD: implement journal->j_commit_sequence locking
jbd-230-j_commit_request-locking.patch
JBD: implement j_commit_request locking
jbd-240-dual-revoke-tables.patch
JBD: implement dual revoke tables.
jbd-250-remove-sleep_on.patch
JBD: remove remaining sleep_on()s
jbd-300-remove-lock_kernel.patch
JBD: remove lock_kernel()
jbd-400-remove-lock_journal.patch
JBD: remove lock_journal()
jbd-510-h_credits-fix.patch
JBD: journal_release_buffer: handle credits fix
jbd-520-journal_unmap_buffer-race.patch
JBD: journal_unmap_buffer race fix
jbd-530-walk_page_buffers-race-fix.patch
ext3: ext3_writepage race fix
jbd-540-journal_try_to_free_buffers-race-fix.patch
JBD: buffer freeing non-race comment
jbd-550-locking-checks.patch
JBD: add some locking assertions
jbd-570-transaction-state-locking.patch
JBD: additional transaction shutdown locking
jbd-580-log_start_commit-race-fix.patch
JBD: fix log_start_commit race
jbd-590-do_get_write_access-speedup.patch
JBD: do_get_write_access() speedup
ext3-010-fix-journalled-data.patch
ext3: fix data=journal mode
ext3-035-journal_try_to_free_buffers-race-fix.patch
ext3-040-recursive-ext3_write_inode-check.patch
ext3: add a dump_stack()
ext3-050-ioctl-transaction-leak.patch
ext3: fix error-path handle leak
ext3-070-xattr-clone-leak-fix.patch
Fix leak in ext3_acl_chmod()
ext3-080-remove-block-inode-count-message.patch
ext3: remove mount-time diagnostic messages
jbd-600-journal_dirty_metadata-speedup.patch
JBD: journal_dirty_metadata() speedup
jbd-610-journal_dirty_metadata-diags.patch
JBD: journal_dirty_metadata diagnostics
jbd-620-commit-vs-start-race-fix.patch
JBD: fix race between journal_commit_transaction and start_this_handle
ext3-090-journalled-writepage-vs-truncate-fix.patch
ext3: fix data=journal for small blocksize
jbd-630-remove-j_commit_timer_active.patch
JBD: remove j_commit_timer_active
jbd-650-truncate-ordered-pages.patch
ext3: explicitly free truncated pages
jbd-660-log_do_checkpoint-fix.patch
JBD: log_do_checkpoint() locking fixes
jbd-670-log_start_commit-locking-fix.patch
JBD: fix locking around log_start_commit()
jbd-680-log_wait_for_space-fix.patch
JBD: hold onto j_state_lock after log_wait_for_space().
invalidate_mmap_range.patch
Interface to invalidate regions of mmaps
aio-01-retry.patch
AIO: Core retry infrastructure
io_submit_one-EINVAL-fix.patch
Fix aio process hang on EINVAL
aio-02-lockpage_wq.patch
AIO: Async page wait
aio-03-fs_read.patch
AIO: Filesystem aio read
aio-04-buffer_wq.patch
AIO: Async buffer wait
aio-05-fs_write.patch
AIO: Filesystem aio write
aio-05-fs_write-fix.patch
aio-06-bread_wq.patch
AIO: Async block read
aio-06-bread_wq-fix.patch
aio-07-ext2getblk_wq.patch
AIO: Async get block for ext2
O_SYNC-speedup-2.patch
speed up O_SYNC writes
aio-09-o_sync.patch
aio O_SYNC
aio-10-BUG-fix.patch
AIO: fix a BUG
aio-11-workqueue-flush.patch
AIO: flush workqueues before destroying ioctx'es
aio-12-readahead.patch
AIO: readahead fixes
lock_buffer_wq-fix.patch
lock_buffer_wq fix
unuse_mm-locked.patch
AIO: hold the context lock across unuse_mm
vfsmount_lock.patch
From: Maneesh Soni <maneesh@in.ibm.com>
Subject: [patch 1/2] vfsmount_lock
syncppp-locking-fix.patch
syncppp locking fix
sched-hot-balancing-fix.patch
fix for CPU scheduler load distribution
truncate-pagefault-race-fix.patch
Fix vmtruncate race and distributed filesystem race
remove-swapper_inode.patch
remove swapper_inode
sync-write-more-pages.patch
dirty inode writeback fix
workqueue-reorg-fix.patch
workqueue.c subtle fix and core extraction
task_struct-use-after-free-fix.patch
proc_pid_lookup use-after-free fix
sleepometer.patch
sleep instrumentation
time-goes-backwards.patch
demonstrate do_gettimeofday() going backwards
keventd-thread-cleanup.patch
Fix kmod return value
skip-apic-ids-on-boot.patch
skip apicids on boot
AT_SECURE-auxv-entry.patch
AT_SECURE auxv entry
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"aart@kvack.org"> aart@kvack.org </a>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: 2.5.72-mm1
2003-06-17 8:40 ` 2.5.72-mm1 Andrew Morton
@ 2003-06-18 21:24 ` William Lee Irwin III
-1 siblings, 0 replies; 4+ messages in thread
From: William Lee Irwin III @ 2003-06-18 21:24 UTC (permalink / raw)
To: Andrew Morton; +Cc: linux-kernel, linux-mm
On Tue, Jun 17, 2003 at 01:40:44AM -0700, Andrew Morton wrote:
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.5/2.5.72/2.5.72-mm1/
> . A fairly large batch of changes in the block request allocation,
> batching and throttling code. To address worst-case latency, improve
> throughput in benchmarky loads, etc.
> . The memory debugging patch which unmaps pages and large slab objects
> from the kernel virtual address space is back.
The following patch implements node-local memory allocation support for
hugetlb. Successfully tested on NUMA-Q.
-- wli
diff -prauN linux-2.5.72/arch/i386/mm/hugetlbpage.c htlb-2.5.72-1/arch/i386/mm/hugetlbpage.c
--- linux-2.5.72/arch/i386/mm/hugetlbpage.c 2003-06-16 21:20:22.000000000 -0700
+++ htlb-2.5.72-1/arch/i386/mm/hugetlbpage.c 2003-06-17 14:04:05.000000000 -0700
@@ -24,9 +24,41 @@ static long htlbpagemem;
int htlbpage_max;
static long htlbzone_pages;
-static LIST_HEAD(htlbpage_freelist);
+static struct list_head hugepage_freelists[MAX_NUMNODES];
static spinlock_t htlbpage_lock = SPIN_LOCK_UNLOCKED;
+static void enqueue_huge_page(struct page *page)
+{
+ list_add(&page->list,
+ &hugepage_freelists[page_zone(page)->zone_pgdat->node_id]);
+}
+
+static struct page *dequeue_huge_page(void)
+{
+ int nid = numa_node_id();
+ struct page *page = NULL;
+
+ if (list_empty(&hugepage_freelists[nid])) {
+ for (nid = 0; nid < MAX_NUMNODES; ++nid)
+ if (!list_empty(&hugepage_freelists[nid]))
+ break;
+ }
+ if (nid >= 0 && nid < MAX_NUMNODES && !list_empty(&hugepage_freelists[nid])) {
+ page = list_entry(hugepage_freelists[nid].next, struct page, list);
+ list_del(&page->list);
+ }
+ return page;
+}
+
+static struct page *alloc_fresh_huge_page(void)
+{
+ static int nid = 0;
+ struct page *page;
+ page = alloc_pages_node(nid, GFP_HIGHUSER, HUGETLB_PAGE_ORDER);
+ nid = (nid + 1) % numnodes;
+ return page;
+}
+
void free_huge_page(struct page *page);
static struct page *alloc_hugetlb_page(void)
@@ -35,13 +67,11 @@ static struct page *alloc_hugetlb_page(v
struct page *page;
spin_lock(&htlbpage_lock);
- if (list_empty(&htlbpage_freelist)) {
+ page = dequeue_huge_page();
+ if (!page) {
spin_unlock(&htlbpage_lock);
return NULL;
}
-
- page = list_entry(htlbpage_freelist.next, struct page, list);
- list_del(&page->list);
htlbpagemem--;
spin_unlock(&htlbpage_lock);
set_page_count(page, 1);
@@ -253,7 +283,7 @@ void free_huge_page(struct page *page)
INIT_LIST_HEAD(&page->list);
spin_lock(&htlbpage_lock);
- list_add(&page->list, &htlbpage_freelist);
+ enqueue_huge_page(page);
htlbpagemem++;
spin_unlock(&htlbpage_lock);
}
@@ -369,7 +399,8 @@ int try_to_free_low(int count)
map = NULL;
spin_lock(&htlbpage_lock);
- list_for_each(p, &htlbpage_freelist) {
+ /* all lowmem is on node 0 */
+ list_for_each(p, &hugepage_freelists[0]) {
if (map) {
list_del(&map->list);
update_and_free_page(map);
@@ -406,11 +437,11 @@ int set_hugetlb_mem_size(int count)
return (int)htlbzone_pages;
if (lcount > 0) { /* Increase the mem size. */
while (lcount--) {
- page = alloc_pages(__GFP_HIGHMEM, HUGETLB_PAGE_ORDER);
+ page = alloc_fresh_huge_page();
if (page == NULL)
break;
spin_lock(&htlbpage_lock);
- list_add(&page->list, &htlbpage_freelist);
+ enqueue_huge_page(page);
htlbpagemem++;
htlbzone_pages++;
spin_unlock(&htlbpage_lock);
@@ -451,12 +482,15 @@ static int __init hugetlb_init(void)
int i;
struct page *page;
+ for (i = 0; i < MAX_NUMNODES; ++i)
+ INIT_LIST_HEAD(&hugepage_freelists[i]);
+
for (i = 0; i < htlbpage_max; ++i) {
- page = alloc_pages(__GFP_HIGHMEM, HUGETLB_PAGE_ORDER);
+ page = alloc_fresh_huge_page();
if (!page)
break;
spin_lock(&htlbpage_lock);
- list_add(&page->list, &htlbpage_freelist);
+ enqueue_huge_page(page);
spin_unlock(&htlbpage_lock);
}
htlbpage_max = htlbpagemem = htlbzone_pages = i;
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: 2.5.72-mm1
@ 2003-06-18 21:24 ` William Lee Irwin III
0 siblings, 0 replies; 4+ messages in thread
From: William Lee Irwin III @ 2003-06-18 21:24 UTC (permalink / raw)
To: Andrew Morton; +Cc: linux-kernel, linux-mm
On Tue, Jun 17, 2003 at 01:40:44AM -0700, Andrew Morton wrote:
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.5/2.5.72/2.5.72-mm1/
> . A fairly large batch of changes in the block request allocation,
> batching and throttling code. To address worst-case latency, improve
> throughput in benchmarky loads, etc.
> . The memory debugging patch which unmaps pages and large slab objects
> from the kernel virtual address space is back.
The following patch implements node-local memory allocation support for
hugetlb. Successfully tested on NUMA-Q.
-- wli
diff -prauN linux-2.5.72/arch/i386/mm/hugetlbpage.c htlb-2.5.72-1/arch/i386/mm/hugetlbpage.c
--- linux-2.5.72/arch/i386/mm/hugetlbpage.c 2003-06-16 21:20:22.000000000 -0700
+++ htlb-2.5.72-1/arch/i386/mm/hugetlbpage.c 2003-06-17 14:04:05.000000000 -0700
@@ -24,9 +24,41 @@ static long htlbpagemem;
int htlbpage_max;
static long htlbzone_pages;
-static LIST_HEAD(htlbpage_freelist);
+static struct list_head hugepage_freelists[MAX_NUMNODES];
static spinlock_t htlbpage_lock = SPIN_LOCK_UNLOCKED;
+static void enqueue_huge_page(struct page *page)
+{
+ list_add(&page->list,
+ &hugepage_freelists[page_zone(page)->zone_pgdat->node_id]);
+}
+
+static struct page *dequeue_huge_page(void)
+{
+ int nid = numa_node_id();
+ struct page *page = NULL;
+
+ if (list_empty(&hugepage_freelists[nid])) {
+ for (nid = 0; nid < MAX_NUMNODES; ++nid)
+ if (!list_empty(&hugepage_freelists[nid]))
+ break;
+ }
+ if (nid >= 0 && nid < MAX_NUMNODES && !list_empty(&hugepage_freelists[nid])) {
+ page = list_entry(hugepage_freelists[nid].next, struct page, list);
+ list_del(&page->list);
+ }
+ return page;
+}
+
+static struct page *alloc_fresh_huge_page(void)
+{
+ static int nid = 0;
+ struct page *page;
+ page = alloc_pages_node(nid, GFP_HIGHUSER, HUGETLB_PAGE_ORDER);
+ nid = (nid + 1) % numnodes;
+ return page;
+}
+
void free_huge_page(struct page *page);
static struct page *alloc_hugetlb_page(void)
@@ -35,13 +67,11 @@ static struct page *alloc_hugetlb_page(v
struct page *page;
spin_lock(&htlbpage_lock);
- if (list_empty(&htlbpage_freelist)) {
+ page = dequeue_huge_page();
+ if (!page) {
spin_unlock(&htlbpage_lock);
return NULL;
}
-
- page = list_entry(htlbpage_freelist.next, struct page, list);
- list_del(&page->list);
htlbpagemem--;
spin_unlock(&htlbpage_lock);
set_page_count(page, 1);
@@ -253,7 +283,7 @@ void free_huge_page(struct page *page)
INIT_LIST_HEAD(&page->list);
spin_lock(&htlbpage_lock);
- list_add(&page->list, &htlbpage_freelist);
+ enqueue_huge_page(page);
htlbpagemem++;
spin_unlock(&htlbpage_lock);
}
@@ -369,7 +399,8 @@ int try_to_free_low(int count)
map = NULL;
spin_lock(&htlbpage_lock);
- list_for_each(p, &htlbpage_freelist) {
+ /* all lowmem is on node 0 */
+ list_for_each(p, &hugepage_freelists[0]) {
if (map) {
list_del(&map->list);
update_and_free_page(map);
@@ -406,11 +437,11 @@ int set_hugetlb_mem_size(int count)
return (int)htlbzone_pages;
if (lcount > 0) { /* Increase the mem size. */
while (lcount--) {
- page = alloc_pages(__GFP_HIGHMEM, HUGETLB_PAGE_ORDER);
+ page = alloc_fresh_huge_page();
if (page == NULL)
break;
spin_lock(&htlbpage_lock);
- list_add(&page->list, &htlbpage_freelist);
+ enqueue_huge_page(page);
htlbpagemem++;
htlbzone_pages++;
spin_unlock(&htlbpage_lock);
@@ -451,12 +482,15 @@ static int __init hugetlb_init(void)
int i;
struct page *page;
+ for (i = 0; i < MAX_NUMNODES; ++i)
+ INIT_LIST_HEAD(&hugepage_freelists[i]);
+
for (i = 0; i < htlbpage_max; ++i) {
- page = alloc_pages(__GFP_HIGHMEM, HUGETLB_PAGE_ORDER);
+ page = alloc_fresh_huge_page();
if (!page)
break;
spin_lock(&htlbpage_lock);
- list_add(&page->list, &htlbpage_freelist);
+ enqueue_huge_page(page);
spin_unlock(&htlbpage_lock);
}
htlbpage_max = htlbpagemem = htlbzone_pages = i;
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"aart@kvack.org"> aart@kvack.org </a>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2003-06-18 21:24 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-06-17 8:40 2.5.72-mm1 Andrew Morton
2003-06-17 8:40 ` 2.5.72-mm1 Andrew Morton
2003-06-18 21:24 ` 2.5.72-mm1 William Lee Irwin III
2003-06-18 21:24 ` 2.5.72-mm1 William Lee Irwin III
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.