kernel_optimize_test/arch/powerpc/platforms/cell
Mathieu Desnoyers fb40bd78b0 Linux Kernel Markers: support multiple probes
RCU style multiple probes support for the Linux Kernel Markers.  Common case
(one probe) is still fast and does not require dynamic allocation or a
supplementary pointer dereference on the fast path.

- Move preempt disable from the marker site to the callback.

Since we now have an internal callback, move the preempt disable/enable to the
callback instead of the marker site.

Since the callback change is done asynchronously (passing from a handler that
supports arguments to a handler that does not setup the arguments is no
arguments are passed), we can safely update it even if it is outside the
preempt disable section.

- Move probe arm to probe connection. Now, a connected probe is automatically
  armed.

Remove MARK_MAX_FORMAT_LEN, unused.

This patch modifies the Linux Kernel Markers API : it removes the probe
"arm/disarm" and changes the probe function prototype : it now expects a
va_list * instead of a "...".

If we want to have more than one probe connected to a marker at a given
time (LTTng, or blktrace, ssytemtap) then we need this patch. Without it,
connecting a second probe handler to a marker will fail.

It allow us, for instance, to do interesting combinations :

Do standard tracing with LTTng and, eventually, to compute statistics
with SystemTAP, or to have a special trigger on an event that would call
a systemtap script which would stop flight recorder tracing.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
Cc: Christoph Hellwig <hch@infradead.org>
Cc: Mike Mason <mmlnx@us.ibm.com>
Cc: Dipankar Sarma <dipankar@in.ibm.com>
Cc: David Smith <dsmith@redhat.com>
Cc: "Paul E. McKenney" <paulmck@us.ibm.com>
Cc: "Frank Ch. Eigler" <fche@redhat.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-02-13 16:21:20 -08:00
..
spufs Linux Kernel Markers: support multiple probes 2008-02-13 16:21:20 -08:00
axon_msi.c [POWERPC] Avoid possible extra of_node_put in axon_msi.c 2008-02-06 16:30:00 +11:00
cbe_cpufreq_pervasive.c [POWERPC] cell: Move cbe_regs.h to include/asm-powerpc/cell-regs.h 2007-10-09 21:01:56 +10:00
cbe_cpufreq_pmi.c [POWERPC] cell: Convert #include of asm/of_{platform, device}.h into linux/of_{platform, device}.h. 2007-12-19 01:00:02 +01:00
cbe_cpufreq.c [POWERPC] cell: Convert #include of asm/of_{platform, device}.h into linux/of_{platform, device}.h. 2007-12-19 01:00:02 +01:00
cbe_cpufreq.h [CELL] cbe_cpufreq: reorganize code 2007-07-20 21:41:38 +02:00
cbe_regs.c [POWERPC] cell/cbe_regs.c: Add missing of_node_put 2007-12-20 17:13:51 +11:00
cbe_thermal.c [POWERPC] cell: Move cbe_regs.h to include/asm-powerpc/cell-regs.h 2007-10-09 21:01:56 +10:00
interrupt.c [POWERPC] Fix CONFIG_SMP=n build break 2007-11-08 14:15:30 +11:00
interrupt.h [POWERPC] cell: Add routines for managing PMU interrupts 2006-12-04 20:40:12 +11:00
io-workarounds.c [POWERPC] cell: Use machine_*_initcall() hooks in platform code 2008-01-17 14:57:15 +11:00
iommu.c [POWERPC] Make cell IOMMU fixed mapping printk more useful 2008-02-08 19:52:40 +11:00
Kconfig [POWERPC] spufs: Add marker-based tracing facility 2008-02-06 16:26:59 +11:00
Makefile Merge branch 'linux-2.6' 2008-01-24 10:07:21 +11:00
pervasive.c [POWERPC] cell: Move cbe_regs.h to include/asm-powerpc/cell-regs.h 2007-10-09 21:01:56 +10:00
pervasive.h [POWERPC] cell: add RAS support 2006-06-21 15:01:29 +10:00
pmu.c [POWERPC] cell: Use machine_*_initcall() hooks in platform code 2008-01-17 14:57:15 +11:00
ras.c [POWERPC] cell: Move cbe_regs.h to include/asm-powerpc/cell-regs.h 2007-10-09 21:01:56 +10:00
ras.h [POWERPC] cell: add RAS support 2006-06-21 15:01:29 +10:00
setup.c [POWERPC] Search for and publish cell OF platform devices earlier 2008-02-06 16:29:59 +11:00
smp.c [POWERPC] Cleanup SMT thread handling 2007-12-03 13:56:25 +11:00
spider-pic.c [POWERPC] Provide a default irq_host match, which matches on an exact of_node 2007-09-14 01:33:20 +10:00
spu_base.c Merge branch 'linux-2.6' 2008-01-31 11:25:51 +11:00
spu_callbacks.c [POWERPC] cell: Remove DEBUG for SPU callbacks 2007-09-19 15:12:17 +10:00
spu_fault.c [POWERPC] spufs: move fault, lscsa_alloc and switch code to spufs module 2007-12-21 19:46:19 +11:00
spu_manage.c [POWERPC] cell: wrap master run control bit 2007-12-21 19:45:05 +11:00
spu_notify.c [POWERPC] Oprofile: Remove dependency on spufs module 2007-12-28 15:07:52 +11:00
spu_priv1_mmio.c [POWERPC] Celleb: consolidate spu management ops 2007-02-07 14:03:21 +11:00
spu_priv1_mmio.h [POWERPC] cell: abstract spu management routines 2006-12-04 20:40:39 +11:00
spu_syscalls.c [POWERPC] Oprofile: Remove dependency on spufs module 2007-12-28 15:07:52 +11:00