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

2008-05-10 Thread Christoph Hellwig
> > + /* Ignoring the return value from the unregister > > +* call. A failed return value simply says there > > +* was no registered event. Hence there will not > > +* be any calls to process a switch event that > > +* could cause a problem. > > +*/ > > + spu_switch_event_

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

2008-05-09 Thread Robert Richter
Please see my comments below. -Roberta On 30.04.08 13:35:12, Carl Love wrote: [...] > -int spu_sync_stop(void) > +void spu_sync_stop(void) > { > unsigned long flags = 0; > - int ret = spu_switch_event_unregister(&spu_active); > - if (ret) { > - printk(KERN_ERR "SPU_PR

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

2008-05-08 Thread Carl Love
On Thu, 2008-05-08 at 09:48 +0200, Jochen Roth wrote: > >> Unable to handle kernel paging request for data at address > >> 0xd04fe9a8 > >> Faulting instruction address: 0xd0330ad8 > >> cpu 0x0: Vector: 300 (Data Access) at [c0003c337680] > >> pc: d0330ad8: .alloc_

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

2008-05-08 Thread Jochen Roth
Carl Love wrote: > +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); No, I don't think so. Take a look at the other functions in driv

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

2008-05-07 Thread Carl Love
On Wed, 2008-05-07 at 18:54 +0200, Jochen Roth wrote: > 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 op

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

2008-05-07 Thread Jochen Roth
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 com

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

2008-04-30 Thread Carl Love
This is a reworked patch to fix the SPU data storage. Currently, the SPU escape sequences and program counter data is being added directly into the kernel buffer without holding the buffer_mutex lock. This patch changes how the data is stored. A new function, oprofile_add_value, is added into