Re: [Cbe-oss-dev] [PATCH] Updated: Reworked Cell OProfile: SPU mutex lock fix

Jochen Roth
2008-05-07T16:55:13Z

Carl,

I applied your patch on Jeremy's latest kernel.org spufs tree.

> +void oprofile_add_value(unsigned long value, int cpu) {
> + struct oprofile_cpu_buffer * cpu_buf = &cpu_buffer[cpu];

Shouldn't it be
struct oprofile_cpu_buffer *cpu_buf = &per_cpu(cpu_buffer, cpu);

At least my compiler complained about that.

I booted a kernel with your patches applied and the system locked up
anyway:

Unable to handle kernel paging request for data at address
0xd0000000004fe9a8
Faulting instruction address: 0xd000000000330ad8
cpu 0x0: Vector: 300 (Data Access) at [c00000003c337680]
pc: d000000000330ad8: .alloc_cpu_buffers+0x7c/0x12c [oprofile]
lr: d000000000330abc: .alloc_cpu_buffers+0x60/0x12c [oprofile]
sp: c00000003c337900
msr: 9000000000009032
dar: d0000000004fe9a8
dsisr: 42000000
current = 0xc00000003e128600
paca = 0xc0000000005b3480
pid = 2356, comm = oprofiled
enter ? for help
[c00000003c3379a0] d0000000003302ac .oprofile_setup+0x2c/0x134 [oprofile]
[c00000003c337a30] d00000000033176c .event_buffer_open+0x7c/0xc8 [oprofile]
[c00000003c337ac0] c0000000000d6ca8 .__dentry_open+0x190/0x308
[c00000003c337b70] c0000000000e7a5c .do_filp_open+0x3c4/0x8e8
[c00000003c337d00] c0000000000d6a1c .do_sys_open+0x80/0x14c
[c00000003c337db0] c0000000001192f4 .compat_sys_open+0x24/0x38
[c00000003c337e30] c0000000000076b4 syscall_exit+0x0/0x40
--- Exception: c01 (System Call) at 000000000ff006f8
SP (ffc6f6a0) is in userspace