linux/include
Carl Love a5598ca0d4 powerpc/oprofile: Fix mutex locking for cell spu-oprofile
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@us.ibm.com>
Signed-off-by: Maynard Johnson <maynardj@us.ibm.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Acked-by: Robert Richter <robert.richter@amd.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2008-10-21 15:17:48 +11:00
..
acpi ACPICA: Additional error checking for pathname utilities 2008-08-15 02:12:16 +02:00
asm-arm [ARM] 5191/1: ARM: remove CVS keywords 2008-08-16 20:01:18 +01:00
asm-cris Remove asm/a.out.h files for all architectures without a.out support. 2008-09-06 19:30:24 +01:00
asm-frv FRV: Provide ioremap_wc() for FRV 2008-08-20 13:19:52 -07:00
asm-generic Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2008-10-13 17:13:56 +01:00
asm-m32r Remove asm/a.out.h files for all architectures without a.out support. 2008-09-06 19:30:24 +01:00
asm-m68k m68k: remove the dead PCI code 2008-10-14 10:23:27 -07:00
asm-mn10300 MN10300: Supply ioremap_wc() for MN10300 2008-08-20 13:19:51 -07:00
asm-parisc Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2008-10-13 17:13:56 +01:00
asm-um net: Fix build with ARCH=um 2008-09-19 12:44:54 -07:00
asm-x86 Merge git://git.infradead.org/users/dwmw2/random-2.6 2008-10-13 09:59:14 -07:00
asm-xtensa Remove asm/a.out.h files for all architectures without a.out support. 2008-09-06 19:30:24 +01:00
crypto crypto: rng - RNG interface and implementation 2008-08-29 15:50:04 +10:00
drm
keys
linux powerpc/oprofile: Fix mutex locking for cell spu-oprofile 2008-10-21 15:17:48 +11:00
math-emu math-emu: Add support for reporting exact invalid exception 2008-09-16 10:01:37 -05:00
media V4L/DVB (9168): Add support for MSI TV@nywhere Plus remote 2008-10-13 09:57:34 -02:00
mtd
net Merge branch 'next' into for-linus 2008-10-13 09:35:14 +11:00
pcmcia pcmcia: ioctl-internal definitions 2008-08-31 16:00:42 +02:00
rdma
rxrpc
scsi Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2008-10-10 10:53:26 -07:00
sound Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6 2008-10-13 14:03:59 -07:00
video Merge branch 'pxa-all' into devel 2008-10-09 21:33:02 +01:00
xen xen: remove unused balloon.h 2008-10-03 10:04:10 +02:00
Kbuild