2003-02-17 23:53:22

by Martin J. Bligh

[permalink] [raw]
Subject: 2.5.61-mjb1 (scalability / NUMA patchset)

Yeah, yeah. I know Linus beat me to it ... I'm just "fashionably late".

--------------------------------

The patchset contains mainly scalability and NUMA stuff, and anything
else that stops things from irritating me. It's meant to be pretty stable,
not so much a testing ground for new stuff.

I'd be very interested in feedback from anyone willing to test on any
platform, however large or small.

http://www.aracnet.com/~fletch/linux/2.6.61/patch-2.5.61-mjb1.bz2

additional:

http://www.aracnet.com/~fletch/linux/2.5.59/pidmaps_nodepages

Since 2.5.59-mjb5 (~ = changed, + = added, - = dropped)

Notes: Just a merge from 59-mjb6 up with 2.5.61 really ... I'd like
kprobes and lkcd tested though, if someone can.

Merged with Linus:
- summit_smp John Stultz
- cyclone_fixes John Stultz
- enable_cyclone John Stultz
- lost_tick John Stultz
- frlock_xtime Stephen Hemminger et al.
- frlock-xtime-i386 Stephen Hemminger et al.
- frlock-xtime-ia64 Stephen Hemminger et al.
- frlock-xtime-other Stephen Hemminger et al.
- numaq_ioapicids William Lee Irwin
- oprofile_p4 John Levon
- starfire Ion Badulescu
- tcp_fix Alexey
- pgd_ctor William Lee Irwin
- pfn_to_nid William Lee Irwin
- oprofile_fixes John Levon
- alt_sysrq_t Russell King

New:
+ sighand_locking Linus / Martin J. Bligh
+ percpu_loadavg Martin J. Bligh
+ irq_affinity Martin J. Bligh
+ kirq_clustered_fix Dave Hansen / Martin J. Bligh

Pending:
fixes for kirq interrupt balancing patch
auto_disable_tsc (John Stultz)
scheduler callers profiling (Anton)
PPC64 NUMA patches (Anton)
Child runs first (akpm)
Kexec
e1000 fixes
Non-PAE aligned kernel splits (Dave Hansen)
Update the lost timer ticks code
Ingo scheduler updates

dcache_rcu Dipankar / Maneesh
Use RCU type locking for the dentry cache.

dcache_sunrpc Maneesh
Fix up NFS to work properly with dcache

early_printk Dave Hansen et al.
Allow printk before console_init

confighz Andrew Morton / Dave Hansen
Make HZ a config option of 100 Hz or 1000 Hz

config_page_offset Dave Hansen / Andrea
Make PAGE_OFFSET a config option

vmalloc_stats Dave Hansen
Expose useful vmalloc statistics

local_pgdat William Lee Irwin
Move the pgdat structure into the remapped space with lmem_map

numameminfo Martin Bligh / Keith Mannthey
Expose NUMA meminfo information under /proc/meminfo.numa

notsc Martin Bligh
Enable notsc option for NUMA-Q (new version for new config system)

mpc_apic_id Martin J. Bligh
Fix null ptr dereference (optimised away, but ...)

doaction Martin J. Bligh
Fix cruel torture of macros and small furry animals in io_apic.c

kgdb Andrew Morton / Various People
The older version of kgdb, synched with 2.5.54-mm1

noframeptr Martin Bligh
Disable -fomit_frame_pointer

ingosched Ingo Molnar
Modify NUMA scheduler to have independant tick basis.

schedstat Rick Lindsley
Provide stats about the scheduler under /proc/stat

sched_tunables Robert Love
Provide tunable parameters for the scheduler (+ NUMA scheduler)

discontig_x440 Pat Gaughen / IBM NUMA team
SLIT/SRAT parsing for x440 discontigmem

acpi_x440_hack Anonymous Coward
Stops x440 crashing, but owner is ashamed of it ;-)

numa_pci_fix Dave Hansen
Fix a potential error in the numa pci code from Stanford Checker

pfn_to_nid William Lee Irwin
Turn pfn_to_nid into a macro

kprobes Vamsi Krishna S
Add kernel probes hooks to the kernel

dmc_exit1 Dave McCracken
Speed up the exit path, pt 1.

dmc_exit2 Dave McCracken
Speed up the exit path, pt 1.

shpte Dave McCracken
Shared pagetables (as a config option)

thread_info_cleanup (4K stacks pt 1) Dave Hansen / Ben LaHaise
Prep work to reduce kernel stacks to 4K

interrupt_stacks (4K stacks pt 2) Dave Hansen / Ben LaHaise
Create a per-cpu interrupt stack.

stack_usage_check (4K stacks pt 3) Dave Hansen / Ben LaHaise
Check for kernel stack overflows.

4k_stack (4K stacks pt 4) Dave Hansen
Config option to reduce kernel stacks to 4K

fix_kgdb Dave Hansen
Fix interaction between kgdb and 4K stacks

stacks_from_slab William Lee Irwin
Take kernel stacks from the slab cache, not page allocation.

thread_under_page William Lee Irwin
Fix THREAD_SIZE < PAGE_SIZE case

lkcd LKCD team
Linux kernel crash dump support

sighand_locking Linus / Martin J. Bligh
Fix locking for task->sighand

percpu_loadavg Martin J. Bligh
Provide per-cpu loadaverages, and real load averages

irq_affinity Martin J. Bligh
Workaround for irq_affinity on clustered apic mode systems (eg x440)

kirq_clustered_fix Dave Hansen / Martin J. Bligh
Fix kirq for clustered apic systems (eg x440)

-mjb Martin J. Bligh
Add a tag to the makefile


2003-02-18 15:40:56

by Martin J. Bligh

[permalink] [raw]
Subject: 2.5.62-mjb1 (scalability / NUMA patchset)

The patchset contains mainly scalability and NUMA stuff, and anything
else that stops things from irritating me. It's meant to be pretty stable,
not so much a testing ground for new stuff.

I'd be very interested in feedback from anyone willing to test on any
platform, however large or small.

http://www.aracnet.com/~fletch/linux/2.6.62/patch-2.5.62-mjb1.bz2

additional:

http://www.aracnet.com/~fletch/linux/2.5.59/pidmaps_nodepages

Since 2.5.61-mjb1 (~ = changed, + = added, - = dropped)

Notes: just a merge with 62

Merged with Linus:
- dcache_rcu Dipankar / Maneesh
- dcache_sunrpc Maneesh
- sighand_locking Linus / Martin J. Bligh

New:

Pending:
fixes for kirq interrupt balancing patch
auto_disable_tsc (John Stultz)
scheduler callers profiling (Anton)
PPC64 NUMA patches (Anton)
Child runs first (akpm)
Kexec
e1000 fixes
Non-PAE aligned kernel splits (Dave Hansen)
Update the lost timer ticks code
Ingo scheduler updates

Present in this patch:

early_printk Dave Hansen et al.
Allow printk before console_init

confighz Andrew Morton / Dave Hansen
Make HZ a config option of 100 Hz or 1000 Hz

config_page_offset Dave Hansen / Andrea
Make PAGE_OFFSET a config option

vmalloc_stats Dave Hansen
Expose useful vmalloc statistics

local_pgdat William Lee Irwin
Move the pgdat structure into the remapped space with lmem_map

numameminfo Martin Bligh / Keith Mannthey
Expose NUMA meminfo information under /proc/meminfo.numa

notsc Martin Bligh
Enable notsc option for NUMA-Q (new version for new config system)

mpc_apic_id Martin J. Bligh
Fix null ptr dereference (optimised away, but ...)

doaction Martin J. Bligh
Fix cruel torture of macros and small furry animals in io_apic.c

kgdb Andrew Morton / Various People
The older version of kgdb, synched with 2.5.54-mm1

noframeptr Martin Bligh
Disable -fomit_frame_pointer

ingosched Ingo Molnar
Modify NUMA scheduler to have independant tick basis.

schedstat Rick Lindsley
Provide stats about the scheduler under /proc/stat

sched_tunables Robert Love
Provide tunable parameters for the scheduler (+ NUMA scheduler)

discontig_x440 Pat Gaughen / IBM NUMA team
SLIT/SRAT parsing for x440 discontigmem

acpi_x440_hack Anonymous Coward
Stops x440 crashing, but owner is ashamed of it ;-)

numa_pci_fix Dave Hansen
Fix a potential error in the numa pci code from Stanford Checker

pfn_to_nid William Lee Irwin
Turn pfn_to_nid into a macro

kprobes Vamsi Krishna S
Add kernel probes hooks to the kernel

dmc_exit1 Dave McCracken
Speed up the exit path, pt 1.

dmc_exit2 Dave McCracken
Speed up the exit path, pt 1.

shpte Dave McCracken
Shared pagetables (as a config option)

thread_info_cleanup (4K stacks pt 1) Dave Hansen / Ben LaHaise
Prep work to reduce kernel stacks to 4K

interrupt_stacks (4K stacks pt 2) Dave Hansen / Ben LaHaise
Create a per-cpu interrupt stack.

stack_usage_check (4K stacks pt 3) Dave Hansen / Ben LaHaise
Check for kernel stack overflows.

4k_stack (4K stacks pt 4) Dave Hansen
Config option to reduce kernel stacks to 4K

fix_kgdb Dave Hansen
Fix interaction between kgdb and 4K stacks

stacks_from_slab William Lee Irwin
Take kernel stacks from the slab cache, not page allocation.

thread_under_page William Lee Irwin
Fix THREAD_SIZE < PAGE_SIZE case

lkcd LKCD team
Linux kernel crash dump support

percpu_loadavg Martin J. Bligh
Provide per-cpu loadaverages, and real load averages

irq_affinity Martin J. Bligh
Workaround for irq_affinity on clustered apic mode systems (eg x440)

kirq_clustered_fix Dave Hansen / Martin J. Bligh
Fix kirq for clustered apic systems (eg x440)

-mjb Martin J. Bligh
Add a tag to the makefile

2003-02-20 03:41:24

by Martin J. Bligh

[permalink] [raw]
Subject: 2.5.61-mjb2 (scalability / NUMA patchset)

The patchset contains mainly scalability and NUMA stuff, and anything
else that stops things from irritating me. It's meant to be pretty stable,
not so much a testing ground for new stuff.

I'd be very interested in feedback from anyone willing to test on any
platform, however large or small.

ftp://ftp.kernel.org/pub/linux/kernel/people/mbligh/2.5.62/patch-2.5.62-mjb2.bz2

additional:

http://www.aracnet.com/~fletch/linux/2.5.59/pidmaps_nodepages

Since 2.5.62-mjb1 (~ = changed, + = added, - = dropped)

Notes: This contains the new partially object based rmap code, that we're
very excited about ... peformance results to follow. It's still very early
days for this - *please* beat it up as much as possible, and see if you
can make it fall over. Seems pretty stable to me - kudos to Dave.

New:

+ partial_objrmap Dave McCracken
+ pci_to_cpumask Matt Dobson

Pending:

fixes for kirq interrupt balancing patch
auto_disable_tsc (John Stultz)
scheduler callers profiling (Anton)
PPC64 NUMA patches (Anton)
Child runs first (akpm)
Kexec
e1000 fixes
Non-PAE aligned kernel splits (Dave Hansen)
Update the lost timer ticks code
Ingo scheduler updates

Present in this patch:

early_printk Dave Hansen et al.
Allow printk before console_init

confighz Andrew Morton / Dave Hansen
Make HZ a config option of 100 Hz or 1000 Hz

config_page_offset Dave Hansen / Andrea
Make PAGE_OFFSET a config option

vmalloc_stats Dave Hansen
Expose useful vmalloc statistics

local_pgdat William Lee Irwin
Move the pgdat structure into the remapped space with lmem_map

numameminfo Martin Bligh / Keith Mannthey
Expose NUMA meminfo information under /proc/meminfo.numa

notsc Martin Bligh
Enable notsc option for NUMA-Q (new version for new config system)

mpc_apic_id Martin J. Bligh
Fix null ptr dereference (optimised away, but ...)

doaction Martin J. Bligh
Fix cruel torture of macros and small furry animals in io_apic.c

kgdb Andrew Morton / Various People
The older version of kgdb, synched with 2.5.54-mm1

noframeptr Martin Bligh
Disable -fomit_frame_pointer

ingosched Ingo Molnar
Modify NUMA scheduler to have independant tick basis.

schedstat Rick Lindsley
Provide stats about the scheduler under /proc/stat

sched_tunables Robert Love
Provide tunable parameters for the scheduler (+ NUMA scheduler)

discontig_x440 Pat Gaughen / IBM NUMA team
SLIT/SRAT parsing for x440 discontigmem

acpi_x440_hack Anonymous Coward
Stops x440 crashing, but owner is ashamed of it ;-)

numa_pci_fix Dave Hansen
Fix a potential error in the numa pci code from Stanford Checker

pfn_to_nid William Lee Irwin
Turn pfn_to_nid into a macro

kprobes Vamsi Krishna S
Add kernel probes hooks to the kernel

dmc_exit1 Dave McCracken
Speed up the exit path, pt 1.

dmc_exit2 Dave McCracken
Speed up the exit path, pt 1.

shpte Dave McCracken
Shared pagetables (as a config option)

thread_info_cleanup (4K stacks pt 1) Dave Hansen / Ben LaHaise
Prep work to reduce kernel stacks to 4K

interrupt_stacks (4K stacks pt 2) Dave Hansen / Ben LaHaise
Create a per-cpu interrupt stack.

stack_usage_check (4K stacks pt 3) Dave Hansen / Ben LaHaise
Check for kernel stack overflows.

4k_stack (4K stacks pt 4) Dave Hansen
Config option to reduce kernel stacks to 4K

fix_kgdb Dave Hansen
Fix interaction between kgdb and 4K stacks

stacks_from_slab William Lee Irwin
Take kernel stacks from the slab cache, not page allocation.

thread_under_page William Lee Irwin
Fix THREAD_SIZE < PAGE_SIZE case

lkcd LKCD team
Linux kernel crash dump support

percpu_loadavg Martin J. Bligh
Provide per-cpu loadaverages, and real load averages

irq_affinity Martin J. Bligh
Workaround for irq_affinity on clustered apic mode systems (eg x440)

kirq_clustered_fix Dave Hansen / Martin J. Bligh
Fix kirq for clustered apic systems (eg x440)

partial_objrmap Dave McCracken
Object based rmap for non-anonymous (file backed) pages.

pci_to_cpumask Matt Dobson
Provide a mapping from pci bus to node for NUMA-Q machines.

-mjb Martin J. Bligh
Add a tag to the makefile

2003-02-23 03:40:40

by Bill Huey

[permalink] [raw]
Subject: Re: kernel BUG at mm/memory.c:757! (2.5.62-mjb2)

On Sat, Feb 22, 2003 at 07:47:30PM -0800, Bill Huey wrote:
>
> I get a ton of these when I exit out of X:
>
> Feb 22 04:02:08 gnuppy kernel: ------------[ cut here ]------------
> Feb 22 04:02:08 gnuppy kernel: kernel BUG at mm/memory.c:757!
> Feb 22 04:02:08 gnuppy kernel: invalid operand: 0000
> Feb 22 04:02:08 gnuppy kernel: CPU: 0
> Feb 22 04:02:08 gnuppy kernel: EIP: 0060:[unmap_all_pages+757/832] Tainted: PF
> Feb 22 04:02:08 gnuppy kernel: EFLAGS: 00210202
> Feb 22 04:02:08 gnuppy kernel: EIP is at unmap_all_pages+0x2f5/0x340
> Feb 22 04:02:08 gnuppy kernel: eax: 00000001 ebx: 0f7a8067 ecx: d612c360 edx: c039f4a0
> Feb 22 04:02:08 gnuppy kernel: esi: c0000000 edi: d1152ffc ebp: d122ff58 esp: d122fed8
> Feb 22 04:02:08 gnuppy kernel: ds: 007b es: 007b ss: 0068
> Feb 22 04:02:08 gnuppy kernel: Process xchat (pid: 743, threadinfo=d122e000 task=d12512a0)
> Feb 22 04:02:08 gnuppy kernel: Stack: d122ff0c 00000000 00000010 d12512a0 c126b240 c0000000 c0000000 c0000000
> Feb 22 04:02:08 gnuppy kernel: 0000000c c12ab4d0 d1971c00 d1971c00 00000000 c1289920 c1274318 c12765a0
> Feb 22 04:02:08 gnuppy kernel: c12b7190 c1267de8 c1269cb0 c126b9e8 c126a098 c128a320 c126acf0 c126af98
> Feb 22 04:02:08 gnuppy kernel: Call Trace:
> Feb 22 04:02:08 gnuppy kernel: [exit_mmap+24/224] exit_mmap+0x18/0xe0
> Feb 22 04:02:08 gnuppy kernel: [mmput+85/176] mmput+0x55/0xb0
> Feb 22 04:02:08 gnuppy kernel: [do_exit+273/768] do_exit+0x111/0x300
> Feb 22 04:02:08 gnuppy kernel: [do_group_exit+123/192] do_group_exit+0x7b/0xc0
> Feb 22 04:02:08 gnuppy kernel: [syscall_call+7/11] syscall_call+0x7/0xb
> Feb 22 04:02:08 gnuppy kernel:
> Feb 22 04:02:08 gnuppy kernel: Code: 0f 0b f5 02 9f ab 34 c0 b8 00 e0 ff ff 8b 55 08 21 e0 8b 00
> Feb 22 04:02:11 gnuppy kernel: ------------[ cut here ]------------

I just found out that it could likely be related to the NVidia driver module
from Rik van Riel. Ooops.

bill

2003-02-23 03:37:25

by Bill Huey

[permalink] [raw]
Subject: kernel BUG at mm/memory.c:757! (2.5.62-mjb2)


I get a ton of these when I exit out of X:

Feb 22 04:02:08 gnuppy kernel: ------------[ cut here ]------------
Feb 22 04:02:08 gnuppy kernel: kernel BUG at mm/memory.c:757!
Feb 22 04:02:08 gnuppy kernel: invalid operand: 0000
Feb 22 04:02:08 gnuppy kernel: CPU: 0
Feb 22 04:02:08 gnuppy kernel: EIP: 0060:[unmap_all_pages+757/832] Tainted: PF
Feb 22 04:02:08 gnuppy kernel: EFLAGS: 00210202
Feb 22 04:02:08 gnuppy kernel: EIP is at unmap_all_pages+0x2f5/0x340
Feb 22 04:02:08 gnuppy kernel: eax: 00000001 ebx: 0f7a8067 ecx: d612c360 edx: c039f4a0
Feb 22 04:02:08 gnuppy kernel: esi: c0000000 edi: d1152ffc ebp: d122ff58 esp: d122fed8
Feb 22 04:02:08 gnuppy kernel: ds: 007b es: 007b ss: 0068
Feb 22 04:02:08 gnuppy kernel: Process xchat (pid: 743, threadinfo=d122e000 task=d12512a0)
Feb 22 04:02:08 gnuppy kernel: Stack: d122ff0c 00000000 00000010 d12512a0 c126b240 c0000000 c0000000 c0000000
Feb 22 04:02:08 gnuppy kernel: 0000000c c12ab4d0 d1971c00 d1971c00 00000000 c1289920 c1274318 c12765a0
Feb 22 04:02:08 gnuppy kernel: c12b7190 c1267de8 c1269cb0 c126b9e8 c126a098 c128a320 c126acf0 c126af98
Feb 22 04:02:08 gnuppy kernel: Call Trace:
Feb 22 04:02:08 gnuppy kernel: [exit_mmap+24/224] exit_mmap+0x18/0xe0
Feb 22 04:02:08 gnuppy kernel: [mmput+85/176] mmput+0x55/0xb0
Feb 22 04:02:08 gnuppy kernel: [do_exit+273/768] do_exit+0x111/0x300
Feb 22 04:02:08 gnuppy kernel: [do_group_exit+123/192] do_group_exit+0x7b/0xc0
Feb 22 04:02:08 gnuppy kernel: [syscall_call+7/11] syscall_call+0x7/0xb
Feb 22 04:02:08 gnuppy kernel:
Feb 22 04:02:08 gnuppy kernel: Code: 0f 0b f5 02 9f ab 34 c0 b8 00 e0 ff ff 8b 55 08 21 e0 8b 00
Feb 22 04:02:11 gnuppy kernel: ------------[ cut here ]------------

bill

2003-03-01 06:11:43

by Bill Huey

[permalink] [raw]
Subject: Re: kernel BUG at mm/memory.c:757! (2.5.62-mjb2)

On Sat, Feb 22, 2003 at 07:50:48PM -0800, Bill Huey wrote:
> > Feb 22 04:02:08 gnuppy kernel: ------------[ cut here ]------------
> > Feb 22 04:02:08 gnuppy kernel: kernel BUG at mm/memory.c:757!
> > Feb 22 04:02:08 gnuppy kernel: invalid operand: 0000
> > Feb 22 04:02:08 gnuppy kernel: CPU: 0
> > Feb 22 04:02:08 gnuppy kernel: EIP: 0060:[unmap_all_pages+757/832] Tainted: PF
> > Feb 22 04:02:08 gnuppy kernel: EFLAGS: 00210202
> > Feb 22 04:02:08 gnuppy kernel: EIP is at unmap_all_pages+0x2f5/0x340
> > Feb 22 04:02:08 gnuppy kernel: eax: 00000001 ebx: 0f7a8067 ecx: d612c360 edx: c039f4a0
> > Feb 22 04:02:08 gnuppy kernel: esi: c0000000 edi: d1152ffc ebp: d122ff58 esp: d122fed8
> > Feb 22 04:02:08 gnuppy kernel: ds: 007b es: 007b ss: 0068
> > Feb 22 04:02:08 gnuppy kernel: Process xchat (pid: 743, threadinfo=d122e000 task=d12512a0)
> > Feb 22 04:02:08 gnuppy kernel: Stack: d122ff0c 00000000 00000010 d12512a0 c126b240 c0000000 c0000000 c0000000
> > Feb 22 04:02:08 gnuppy kernel: 0000000c c12ab4d0 d1971c00 d1971c00 00000000 c1289920 c1274318 c12765a0
> > Feb 22 04:02:08 gnuppy kernel: c12b7190 c1267de8 c1269cb0 c126b9e8 c126a098 c128a320 c126acf0 c126af98
> > Feb 22 04:02:08 gnuppy kernel: Call Trace:
> > Feb 22 04:02:08 gnuppy kernel: [exit_mmap+24/224] exit_mmap+0x18/0xe0
> > Feb 22 04:02:08 gnuppy kernel: [mmput+85/176] mmput+0x55/0xb0
> > Feb 22 04:02:08 gnuppy kernel: [do_exit+273/768] do_exit+0x111/0x300
> > Feb 22 04:02:08 gnuppy kernel: [do_group_exit+123/192] do_group_exit+0x7b/0xc0
> > Feb 22 04:02:08 gnuppy kernel: [syscall_call+7/11] syscall_call+0x7/0xb
> > Feb 22 04:02:08 gnuppy kernel:
> > Feb 22 04:02:08 gnuppy kernel: Code: 0f 0b f5 02 9f ab 34 c0 b8 00 e0 ff ff 8b 55 08 21 e0 8b 00
> > Feb 22 04:02:11 gnuppy kernel: ------------[ cut here ]------------
>
> I just found out that it could likely be related to the NVidia driver module
> from Rik van Riel. Ooops.

Again, correction, I get a tons of these even without the NVidia driver
module, so that's not the problem.

This problem is still pretty live unfortunately. Fixed in the new patchset ?

The problem doesn't seems fatal and the machine doesn't crash hard, but it's
still a bug.

Thanks

bill

2003-03-01 14:40:39

by Martin J. Bligh

[permalink] [raw]
Subject: Re: kernel BUG at mm/memory.c:757! (2.5.62-mjb2)

>> I just found out that it could likely be related to the NVidia driver module
>> from Rik van Riel. Ooops.
>
> Again, correction, I get a tons of these even without the NVidia driver
> module, so that's not the problem.
>
> This problem is still pretty live unfortunately. Fixed in the new patchset ?
>
> The problem doesn't seems fatal and the machine doesn't crash hard, but it's
> still a bug.

OK, this looks like the exit speedup stuff, which is removed in 63-mjb2,
could you retry with that?

Thanks,

M.