2002-12-16 08:28:45

by Andrew Morton

[permalink] [raw]
Subject: 2.5.52-mm1


url: http://www.zipworld.com.au/~akpm/linux/patches/2.5/2.5.52/2.5.52-mm1/

-> 2.5.52-mm1-shpte.gz For Dave
-> 2.5.52-mm1.gz Full patch

A bunch of random stuff. Most notably I now have restored ext2/ext3
dbench throughput on SMP to about the same level as it was before the
introduction of the Orlov allocator.

This was not the fault of the Orlov allocator - it just exposed some
weaknesses in the block allocation algorithms. These changes should
benefit a range of workloads.


Changes since 2.5.51-mm2:

-PF_MEMALLOC-no-recur.patch
-deprecate-bdflush.patch
-bcrl-printk.patch
-read_zero-speedup.patch
-nommu-rmap-locking.patch
-semtimedop.patch
-writeback-handle-memory-backed.patch
-2-remove-fail_writepage.patch
-wli-show_free_areas.patch
-pmd-allocation-fix.patch
-radix-tree-overflow-fix.patch
-sync_fs.patch
-ext3_sync_fs.patch
-filldir-checks.patch
-vmstats-fixes.patch
-hugetlb-fixes.patch
-writeback-interaction-fix.patch
-scalable-zone-protection.patch
-page-wait-table-min-size.patch
-ext3-transaction-reserved-blocks.patch
-remove-PF_SYNC.patch
-dont-inherit-mlockall.patch
-bootmem-alloc-alignment.patch
-ext23_free_blocks-check.patch
-blkdev-rlimit.patch
-readahead-pinned-memory.patch
-remove-vmscan-check.patch
-max_sane_readahead.patch
-default-super-ops.patch
-mempool-atomic-check.patch
-page-allocator-off-by-one.patch
-cacheline-aligned-pte_chains.patch
-ext2-sync-dir-fix.patch

Merged

-mmap-rounding-fix.patch

Dropped. Was already fixed in 2.5.

+sync_fs-deadlock-fix.patch

Fix the fix for the fix for the ext3 journal=data umount bug. Sigh.

+shrink_list-dirty-page-race.patch

Fix an SMP race in page reclaim which isn't really there.

+slab-poisoning.patch

Change the memory poisoning in the slab allocator so you can tell
whether the oops was due to use-of-uninitialised-memory (0x5a5a5a5a)
of use-of-freed-memory (0x6b6b6b6b)

+nommu-generic_file_readonly_mmap.patch

Give !CONFIG_NOMMU a generic_file_readonly_mmap()

+misc.patch

Minor fixes

+ext3-alloc-spread.patch
+ext2-alloc-spread.patch

Don't start block allocation for new files at the zeroth block of
the blockgroup all the time.

+spread-find_group_other.patch

Don't place S_ISREG inodes into blockgroups which don't have any
free blocks.

+iosched-doc.patch

deadline IO scheduler docco.

+ext3-use-after-free.patch

Fix the ext3 use-after-free bug which occurs when the filesystem runs
out of space or inodes.

+dio-always-kmalloc.patch

Never allocate `struct dio' on the stack.

+file-nr-doc-fix.patch

Docco fix.

+set_page_dirty_lock.patch

Lock pages when running set_page_dirty(), when there is nothing else
to pin down page->mapping.

+gup-check-valid.patch

Minor tweaks to the new page walker API.




All 48 patches:

linus.patch
cset-1.980-to-1.981.txt.gz

kgdb.patch

sync_fs-deadlock-fix.patch
sync_fs deadlock fix

shrink_list-dirty-page-race.patch
fix a page dirtying race in vmscan.c

slab-poisoning.patch
more informative slab poisoning

nommu-generic_file_readonly_mmap.patch
Add generic_file_readonly_mmap() for nommu

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

reduce-random-context-switch-rate.patch
Reduce context switch rate due to the random driver

inlines-net.patch

rbtree-iosched.patch
rbtree-based IO scheduler

deadsched-fix.patch
deadline scheduler fix

quota-smp-locks.patch
Subject: [PATCH] Quota SMP locks

shpte-ng.patch
pagetable sharing for ia32

shpte-nonlinear.patch
shpte: support nonlinear mappings and clean up clear_share_range()

shpte-always-on.patch
Force CONFIG_SHAREPTE=y for ia32

ptrace-flush.patch
Subject: [PATCH] ptrace on 2.5.44

buffer-debug.patch
buffer.c debugging

misc.patch
misc fixes

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()

remove-PF_NOWARN.patch
Remove PF_NOWARN

scheduler-tunables.patch
scheduler tunables

blocking-kswapd.patch
Give kswapd writeback higher priority than pdflush

ext3-alloc-spread.patch
ext3: smarter block allocation startup

ext2-alloc-spread.patch
ext2: smarter block allocation startup

spread-find_group_other.patch
ext2/3: better starting group for S_ISREG files

iosched-doc.patch
iosched tunables documentation

ext3-use-after-free.patch
ext3 use-after-free bugfix

dio-always-kmalloc.patch
direct-io: dynamically allocate struct dio

file-nr-doc-fix.patch
Docs: fix explanation of file-nr

set_page_dirty_lock.patch
fix set_page_dirty vs truncate&free races

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-scsi.patch

page-walk-api-update.patch
pagewalk API update

gup-check-valid.patch
valid page test in get_user_pages()


2002-12-18 12:37:05

by Ed Tomlinson

[permalink] [raw]
Subject: Re: 2.5.52-mm1

Hi

Got this oops this morning reading news:

Dec 18 07:15:29 oscar kernel: printing eip:
Dec 18 07:15:29 oscar kernel: c0140317
Dec 18 07:15:29 oscar kernel: Oops: 0002
Dec 18 07:15:29 oscar kernel: CPU: 0
Dec 18 07:15:29 oscar kernel: EIP: 0060:[remove_inode_buffers+67/116] Not tainted
Dec 18 07:15:29 oscar kernel: EFLAGS: 00010246
Dec 18 07:15:29 oscar kernel: EIP is at remove_inode_buffers+0x43/0x74
Dec 18 07:15:29 oscar kernel: eax: 0dc4c344 ebx: c3440dc4 ecx: c3440dc6 edx: 0000c344
Dec 18 07:15:29 oscar kernel: esi: c3440cd4 edi: 00000001 ebp: dfdb9ebc esp: dfdb9e8c
Dec 18 07:15:29 oscar kernel: ds: 0068 es: 0068 ss: 0068
Dec 18 07:15:29 oscar kernel: Process kswapd0 (pid: 7, threadinfo=dfdb8000 task=dfdcb860)
Dec 18 07:15:29 oscar kernel: Stack: c3440cd4 c3440cdc dfdb8000 c0152ff7 c3440cd4 00000080 00000923 d
Dec 18 07:15:29 oscar kernel: 00000036 00000036 c3440b5c d76876dc 00000000 c01530db 00000080 c
Dec 18 07:15:29 oscar kernel: 00000080 000001d0 00000221 c02a5374 fffffe27 0000000c 0d024a92 0
Dec 18 07:15:29 oscar kernel: Call Trace:
Dec 18 07:15:29 oscar kernel: [prune_icache+191/396] prune_icache+0xbf/0x18c
Dec 18 07:15:29 oscar kernel: [shrink_icache_memory+23/32] shrink_icache_memory+0x17/0x20
Dec 18 07:15:29 oscar kernel: [shrink_slab+245/320] shrink_slab+0xf5/0x140
Dec 18 07:15:29 oscar kernel: [balance_pgdat+212/316] balance_pgdat+0xd4/0x13c
Dec 18 07:15:29 oscar kernel: [kswapd+256/264] kswapd+0x100/0x108
Dec 18 07:15:29 oscar kernel: [kswapd+0/264] kswapd+0x0/0x108
Dec 18 07:15:29 oscar kernel: [autoremove_wake_function+0/56] autoremove_wake_function+0x0/0x38
Dec 18 07:15:29 oscar kernel: [autoremove_wake_function+0/56] autoremove_wake_function+0x0/0x38
Dec 18 07:15:29 oscar kernel: [kernel_thread_helper+5/12] kernel_thread_helper+0x5/0xc
Dec 18 07:15:29 oscar kernel:
Dec 18 07:15:29 oscar kernel: Code: 89 50 04 89 02 89 09 89 49 04 39 1b 75 e0 b8 00 e0 ff ff 21

followed by

Dec 18 07:15:29 oscar kernel: <6>note: kswapd0[7] exited with preempt_count 1
Dec 18 07:15:29 oscar kernel: Call Trace:
Dec 18 07:15:29 oscar kernel: [__might_sleep+82/88] __might_sleep+0x52/0x58
Dec 18 07:15:29 oscar kernel: [profile_exit_task+23/72] profile_exit_task+0x17/0x48
Dec 18 07:15:29 oscar kernel: [do_exit+149/964] do_exit+0x95/0x3c4
Dec 18 07:15:29 oscar kernel: [die+111/112] die+0x6f/0x70
Dec 18 07:15:29 oscar kernel: [do_page_fault+757/1076] do_page_fault+0x2f5/0x434
Dec 18 07:15:29 oscar kernel: [do_page_fault+0/1076] do_page_fault+0x0/0x434
Dec 18 07:15:29 oscar kernel: [x86_profile_hook+28/56] x86_profile_hook+0x1c/0x38
Dec 18 07:15:29 oscar kernel: [timer_interrupt+42/272] timer_interrupt+0x2a/0x110
Dec 18 07:15:29 oscar kernel: [free_hot_page+7/8] free_hot_page+0x7/0x8
Dec 18 07:15:29 oscar kernel: [__free_pages+49/64] __free_pages+0x31/0x40
Dec 18 07:15:29 oscar kernel: [free_pages+48/52] free_pages+0x30/0x34
Dec 18 07:15:29 oscar kernel: [slab_destroy+154/180] slab_destroy+0x9a/0xb4
Dec 18 07:15:29 oscar kernel: [cache_flusharray+161/292] cache_flusharray+0xa1/0x124
Dec 18 07:15:29 oscar kernel: [error_code+45/64] error_code+0x2d/0x40
Dec 18 07:15:29 oscar kernel: [remove_inode_buffers+67/116] remove_inode_buffers+0x43/0x74
Dec 18 07:15:29 oscar kernel: [prune_icache+191/396] prune_icache+0xbf/0x18c
Dec 18 07:15:29 oscar kernel: [shrink_icache_memory+23/32] shrink_icache_memory+0x17/0x20
Dec 18 07:15:29 oscar kernel: [shrink_slab+245/320] shrink_slab+0xf5/0x140
Dec 18 07:15:29 oscar kernel: [balance_pgdat+212/316] balance_pgdat+0xd4/0x13c
Dec 18 07:15:29 oscar kernel: [kswapd+256/264] kswapd+0x100/0x108
Dec 18 07:15:29 oscar kernel: [kswapd+0/264] kswapd+0x0/0x108
Dec 18 07:15:29 oscar kernel: [autoremove_wake_function+0/56] autoremove_wake_function+0x0/0x38
Dec 18 07:15:29 oscar kernel: [autoremove_wake_function+0/56] autoremove_wake_function+0x0/0x38
Dec 18 07:15:29 oscar kernel: [kernel_thread_helper+5/12] kernel_thread_helper+0x5/0xc
Dec 18 07:15:29 oscar kernel:

Ideas?

2002-12-18 16:29:24

by Andrew Morton

[permalink] [raw]
Subject: Re: 2.5.52-mm1

Ed Tomlinson wrote:
>
> Hi
>
> Got this oops this morning reading news:
>
> Dec 18 07:15:29 oscar kernel: printing eip:
> Dec 18 07:15:29 oscar kernel: c0140317
> Dec 18 07:15:29 oscar kernel: Oops: 0002
> Dec 18 07:15:29 oscar kernel: CPU: 0
> Dec 18 07:15:29 oscar kernel: EIP: 0060:[remove_inode_buffers+67/116] Not tainted
> Dec 18 07:15:29 oscar kernel: EFLAGS: 00010246
> Dec 18 07:15:29 oscar kernel: EIP is at remove_inode_buffers+0x43/0x74
> Dec 18 07:15:29 oscar kernel: eax: 0dc4c344 ebx: c3440dc4 ecx: c3440dc6 edx: 0000c344
> Dec 18 07:15:29 oscar kernel: esi: c3440cd4 edi: 00000001 ebp: dfdb9ebc esp: dfdb9e8c
> Dec 18 07:15:29 oscar kernel: ds: 0068 es: 0068 ss: 0068
> Dec 18 07:15:29 oscar kernel: Process kswapd0 (pid: 7, threadinfo=dfdb8000 task=dfdcb860)
> Dec 18 07:15:29 oscar kernel: Stack: c3440cd4 c3440cdc dfdb8000 c0152ff7 c3440cd4 00000080 00000923 d
> Dec 18 07:15:29 oscar kernel: 00000036 00000036 c3440b5c d76876dc 00000000 c01530db 00000080 c
> Dec 18 07:15:29 oscar kernel: 00000080 000001d0 00000221 c02a5374 fffffe27 0000000c 0d024a92 0

Wow, what a mess. Something has written this "c3440cd4" value
into the stack and most of the registers. Presumably it was
some interrupt. Don't know, sorry.