2002-10-21 08:12:38

by Andrew Morton

[permalink] [raw]
Subject: 2.5.44-mm2


url: http://www.zip.com.au/~akpm/linux/patches/2.5/2.5.44/2.5.44-mm2/

. Some more work on the per-cpu memory arenas

. Added a bunch of fixes to various things courtesy of davem

. Merged up a later version of the EA+ACL code

. Lots of little fixes everywhere.

. Fixed a shared pagetable SMP deadlock


Since 2.5.44-mm1:


+scsi-reboot-fix.patch

Make /sbin/reboot work

+misc.patch

Comment fix

-per-cpu-01-core.patch

Moved to the end of the per-cpu series, so the kernel continues to
work OK at each step.

+cpuup-notifiers.patch

Enhanced CPU hotplug notificationa, broken out of per-cpu-01-core.patch

+per-cpu-01-core.patch

Enables the per-cpu allocation (rather than just allocating a single
NR_CPUS blob)

+export-per-cpu-symbol.patch

EXPORT_PER_CPU_SYMBOL[_GPL]

+task-unmapped-base-fix.patch

Fix compilation of remap_file_pages() for sparc64 and others.

-page_reserved-accounting.patch
-use-page_reserved_accounting.patch

Dropped (loadshedding)

-net-loopback.patch

Re-enable TSO or testing.

-spin-lock-check.patch

More loadshedding

+hugetlb-page-count.patch

Little hugetlb bugfix

-hugetlbfs-update.patch

Folded into hugetlbfs.patch

-htlb-shm-update.patch

Folded into hugetlb-shm.patch

-xattr-01-metablock-cache.patch
-xattr-02-ext3.patch
-xattr-03-ext2.patch
-fix-xattr.patch
-posix-acl-01-core.patch
-posix-acl-02-umask.patch
-posix-acl-03-user-api.patch
-posix-acl-04-ext3.patch
-acl-ext3-fix-tree.patch
-acl-ext3-inode.patch
-posix-acl-05-ext2.patch
-mm1-incr1.patch
-mm1-incr2.patch
-acl-xattr-on.patch
-ext23-mount-options.patch

Out

+pipe-speedup.patch

Use prepare_to_wait/finish_wait for pipe wakeups.

+ext23-acl-xattr-01.patch
+ext23-acl-xattr-02.patch
+ext23-acl-xattr-03.patch
+ext23-acl-xattr-04.patch
+ext23-acl-xattr-05.patch
+ext23-acl-xattr-06.patch
+ext23-acl-xattr-07.patch
+ext23-acl-xattr-08.patch
+ext23-acl-xattr-09.patch
+ext23-acl-xattr-10.patch
+ext23-acl-xattr-11.patch
+ext2-mount-fix.patch
+acl-xattr-on.patch

In



All patches:

ide-warnings.patch
Fix some IDE compile warnings

dmi-warning.patch
fix a compile warning in dmi_scan.c

scsi-reboot-fix.patch

kgdb.patch

misc.patch
misc fixes

ramfs-aops.patch
Move ramfs address_space ops into libfs

ramfs-prepare-write-speedup.patch
correctness fixes in libfs address_space ops

pipe-fix.patch
use correct wakeups in fs/pipe.c

dio-submit-fix.patch
rework direct-io for bio_add_page

file_ra_state_init.patch
Add a function to initialise file readahead state

less-unlikelies.patch
reduced buslocked traffic in the page allocator

running-iowait.patch
expose nr_running and nr_iowait task counts in /proc

intel-user-copy-taka.patch
Faster copy_*_user for Intel ia32 CPUs

uaccess-uninline.patch

ingo-oom-kill.patch
oom-killer changes for threaded apps

unbloat-pid.patch
Reduce RAM use in kernel/pid.c

per-cpu-ratelimits.patch

for-each-cpu.patch
for_each_possible_cpu and for_each_online_cpu macros

per-cpu-warning.patch
Fix per-cpu compile warnings on UP

cpuup-notifiers.patch
extended cpu hotplug notifiers

per-cpu-02-rcu.patch
cpu_possible rcu per_cpu data

per-cpu-03-timer.patch
cpu_possible timer percpu data

per-cpu-04-tasklet.patch
cpu_possible tasklet percpu data

per-cpu-05-bh.patch
cpu_possible bh_accounting

per-cpu-01-core.patch
only allocate per-cpu memory for present CPUs

export-per-cpu-symbol.patch
create EXPORT_PER_CPU_SYMBOL

per-cpu-page_state.patch

add_timer_on.patch
add_timer_on(): function to start a timer on a particular CPU

slab-split-01-rename.patch
slab cleanup: rename static functions

slab-split-02-SMP.patch
slab: enable the cpu arrays on uniprocessor

slab-split-03-tail.patch
slab: reduced internal fragmentation

slab-split-04-drain.patch
slab: take the spinlock in the drain function.

slab-split-05-name.patch
slab: remove spaces from /proc identifiers

slab-split-06-mand-cpuarray.patch
slab: cleanups and speedups

slab-split-07-inline.patch
slab: uninline poisoning checks

slab-split-08-reap.patch
slab: reap timers

slab-timer.patch

slab-use-sem.patch

slab-cleanup.patch
Slab cleanup

slab-per-cpu.patch
Use CPU notifiers in slab

ingo-mmap-speedup.patch
Ingo's mmap speedup

task-unmapped-base-fix.patch
Don't take TASK_UNMAPPED_BAE at compile time

mm-inlines.patch
remove some inlines from mm/*

o_streaming.patch
O_STREAMING support

shmem_getpage-unlock_page.patch
tmpfs 1/9 shmem_getpage unlock_page

shmem_getpage-beyond-eof.patch
tmpfs 2/9 shmem_getpage beyond eof

shmem_getpage-reading-holes.patch
tmpfs 3/9 shmem_getpage reading holes

shmem-fs-cleanup.patch
tmpfs 4/9 shmem fs cleanup

shmem_file_sendfile.patch
tmpfs 5/9 shmem_file_sendfile

shmem_file_write-update.patch
tmpfs 6/9 shmem_file_write update

shmem_getpage-flush_dcache.patch
tmpfs 7/9 shmem_getpage flush_dcache

loopable-tmpfs.patch
tmpfs 8/9 loopable tmpfs

event-II.patch
f_version/i_version cleanups

event-ext2.patch
f_version/i_version cleanups: ext2

mod_timer-race.patch

blkdev-o_direct-short-read.patch
Fix O_DIRECT blockdev reads at end-of-device

orlov-allocator.patch

blk-queue-bounce.patch
inline blk_queue_bounce

lseek-ext2_readdir.patch
remove lock_kernel() from ext2_readdir()

write-deadlock.patch
Fix the generic_file_write-from-same-mmapped-page deadlock

rd-cleanup.patch
Cleanup and fix the ramdisk driver (doesn't work right yet)

hugetlb-prefault.patch
hugetlbpages: factor out some code for hugetlbfs

hugetlb-header-split.patch
Move hugetlb declarations into their own header

htlb-update.patch
hugetlb fixes and cleanups

hugetlb-page-count.patch
fix hugetlb thinko

hugetlbfs.patch
hugetlbfs file system

hugetlb-shm.patch
hugetlbfs backing for SYSV shared memory

truncate-bkl.patch
don't take the BKL in inode_setattr

akpm-deadline.patch
deadline scheduler tweaks

pipe-speedup.patch
user faster wakeups in the pipe code

dcache_rcu.patch
Use RCU for dcache

mpopulate.patch
remap_file_pages

shmem_populate.patch
tmpfs 9/9 Ingo's shmem_populate

ext23-acl-xattr-01.patch

ext23-acl-xattr-02.patch

ext23-acl-xattr-03.patch

ext23-acl-xattr-04.patch

ext23-acl-xattr-05.patch

ext23-acl-xattr-06.patch

ext23-acl-xattr-07.patch

ext23-acl-xattr-08.patch

ext23-acl-xattr-09.patch

ext23-acl-xattr-10.patch

ext23-acl-xattr-11.patch

ext2-mount-fix.patch

acl-xattr-on.patch
turn on posix acls and extended attributes

rmqueue_bulk.patch
bulk page allocator

free_pages_bulk.patch
Bulk page freeing function

hot_cold_pages.patch
Hot/Cold pages and zone->lock amortisation

readahead-cold-pages.patch
Use cache-cold pages for pagecache reads.

pagevec-hot-cold-hint.patch
hot/cold hints for truncate and page reclaim

page-reservation.patch
Page reservation API

wli-show_free_areas.patch
show_free_areas extensions

shpte-ng.patch


2002-10-21 12:44:53

by Ed Tomlinson

[permalink] [raw]
Subject: Re: 2.5.44-mm2

Hi,

> shpte-ng.patch

I thought maybe the pipe fix might help. No joy. Still cannot start kde3
with shared page tables enabled...

Ed

2002-10-21 13:08:56

by Helge Hafting

[permalink] [raw]
Subject: Re: 2.5.44-mm2

Ed Tomlinson wrote:
>
> Hi,
>
> > shpte-ng.patch
>
> I thought maybe the pipe fix might help. No joy. Still cannot start kde3
> with shared page tables enabled...
>
What part of kde?
kmail and kwords runs fine with 2.5.44-mm2 and shared page tables.
I don't run a kde window manager though.

Helge Hafting

2002-10-21 14:50:41

by Ed Tomlinson

[permalink] [raw]
Subject: Re: 2.5.44-mm2


>> I thought maybe the pipe fix might help. No joy. Still cannot start kde3
>> with shared page tables enabled...
>>
>What part of kde?
>kmail and kwords runs fine with 2.5.44-mm2 and shared page tables.
>I don't run a kde window manager though.

its when it starts ksmserver - the kde3 window manager...

Ed



2002-10-21 21:36:04

by Paul Larson

[permalink] [raw]
Subject: Re: 2.5.44-mm2

This test was on a 8-way PIII-700, 16 GB ram.

# echo 768 > /proc/sys/vm/nr_hugepages
# echo 1610612736 > /proc/sys/kernel/shmmax

# ./shmt01
./shmt01: IPC Shared Memory TestSuite program

Get shared memory segment (67108864 bytes)

Attach shared memory segment to process

Index through shared memory segment ...

Release shared memory

successful!
Segmentation fault

...and on the console:
mm/memory.c:1041: bad pmd f633f100(000000000c4000e7).
mm</4m>emmmo/rmye.moc:ry1.0c4:1:10 b41ad: pbmadd pfm63d3
ff160338(f100100(000000000000080000000ae070).0e
). 7
mm/memory.c:1041: bad pmd f633f118(0000000000c000e7).
mm/memory.c:1041: bad pmd f633f120(0000000000e000e7).
mm/memory.c:1041: bad pmd f633f128(00000000006000e7).
mm/memory.c:1041: bad pmd f633f130(000000000c6000e7).
mm/memory.c:1041: bad pmd f633f138(000000000c8000e7).
mm/memory.c:1041: bad pmd f633f140(000000000ca000e7).
mm/memory.c:1041: bad pmd f633f148(000000000cc000e7).
mm/memory.c:1041: bad pmd f633f150(000000000ce000e7).
mm/memory.c:1041: bad pmd f633f158(000000000d0000e7).
mm/memory.c:1041: bad pmd f633f160(000000000d2000e7).
mm/memory.c:1041: bad pmd f633f168(000000000d4000e7).
mm/memory.c:1041: bad pmd f633f170(000000000d6000e7).
mm/memory.c:1041: bad pmd f633f178(000000000d8000e7).
mm/memory.c:1041: bad pmd f633f180(000000000da000e7).
mm/memory.c:1041: bad pmd f633f188(000000000dc000e7).
mm/memory.c:1041: bad pmd f633f190(000000000de000e7).
mm/memory.c:1041: bad pmd f633f198(000000000e0000e7).
mm/memory.c:1041: bad pmd f633f1a0(000000000e2000e7).
mm/memory.c:1041: bad pmd f633f1a8(000000000e4000e7).
mm/memory.c:1041: bad pmd f633f1b0(000000000e6000e7).
mm/memory.c:1041: bad pmd f633f1b8(000000000e8000e7).
mm/memory.c:1041: bad pmd f633f1c0(000000000ea000e7).
mm/memory.c:1041: bad pmd f633f1c8(000000000ec000e7).
mm/memory.c:1041: bad pmd f633f1d0(000000000ee000e7).
mm/memory.c:1041: bad pmd f633f1d8(000000000f0000e7).
mm/memory.c:1041: bad pmd f633f1e0(000000000f2000e7).
mm/memory.c:1041: bad pmd f633f1e8(000000000f4000e7).
mm/memory.c:1041: bad pmd f633f1f0(000000000f6000e7).
mm/memory.c:1041: bad pmd f633f1f8(000000000f8000e7).
------------[ cut here ]------------
kernel BUG at arch/i386/mm/hugetlbpage.c:232!
invalid operand: 0000

CPU: 0
EIP: 0060:[<c01148ab>] Not tainted
EFLAGS: 00010246
EIP is at huge_page_release+0xb/0x30
eax: 00000000 ebx: f633f100 ecx: f7cab4a0 edx: c1000000
esi: 04000000 edi: 0c000000 ebp: f7cc9a24 esp: f64e1f08
ds: 0068 es: 0068 ss: 0068
Process shmt01 (pid: 1888, threadinfo=f64e0000 task=f6da2660)
Stack: c011493b c1000000 f7cc9a24 04000000 c012bf1e c047f094 00000000
c047f080
f7cc9a24 f6aab130 f6da2660 00000000 c01149a4 f6f6fbb4 04000000
0c000000
f6f6fbb4 c01149c2 f6f6fbb4 04000000 08000000 c012efd3 f6f6fbb4
f7cc9a24
Call Trace:
[<c011493b>] unmap_hugepage_range+0x6b/0xb0
[<c012bf1e>] unmap_all_pages+0x31e/0x330
[<c01149a4>] zap_hugepage_range+0x24/0x30
[<c01149c2>] zap_hugetlb_resources+0x12/0x20
[<c012efd3>] exit_mmap+0x93/0xc0
[<c0118027>] mmput+0x37/0x60
[<c011d588>] do_exit+0xd8/0x2e0
[<c012ecaa>] do_munmap+0xea/0x100
[<c012ed04>] sys_munmap+0x44/0x70
[<c01071f3>] syscall_call+0x7/0xb

Code: 0f 0b e8 00 28 08 30 c0 f0 ff 4a 04 0f 94 c0 84 c0 74 09 89

The shmt01 is a modified LTP shm test and has been posted a few times
before. If anyone wants to see it again let me know and I'll repost.