powerpc/cell/oprofile: fix mutex locking for spu-oprofile

Robert Richter robert.richter at amd.com
Wed Aug 20 22:39:45 EST 2008

On 11.08.08 09:25:07, Arnd Bergmann wrote:
> From: Carl Love <cel at us.ibm.com>
> The issue is the SPU code is not holding the kernel mutex lock while
> adding samples to the kernel buffer.
> This patch creates per SPU buffers to hold the data.  Data
> is added to the buffers from in interrupt context.  The data
> is periodically pushed to the kernel buffer via a new Oprofile
> function oprofile_put_buff(). The oprofile_put_buff() function
> is called via a work queue enabling the funtion to acquire the
> mutex lock.
> The existing user controls for adjusting the per CPU buffer
> size is used to control the size of the per SPU buffers.
> Similarly, overflows of the SPU buffers are reported by
> incrementing the per CPU buffer stats.  This eliminates the
> need to have architecture specific controls for the per SPU
> buffers which is not acceptable to the OProfile user tool
> maintainer.
> The export of the oprofile add_event_entry() is removed as it
> is no longer needed given this patch.
> Note, this patch has not addressed the issue of indexing arrays
> by the spu number.  This still needs to be fixed as the spu
> numbering is not guarenteed to be 0 to max_num_spus-1.
> Signed-off-by: Carl Love <carll at us.ibm.com>
> Signed-off-by: Maynard Johnson <maynardj at us.ibm.com>
> Signed-off-by: Arnd Bergmann <arnd at arndb.de>

Acked-by: Robert Richter <robert.richter at amd.com>


Advanced Micro Devices, Inc.
Operating System Research Center
email: robert.richter at amd.com

More information about the Linuxppc-dev mailing list