powerpc/perf: Move perf core & PMU code into a subdirectory
authorMichael Ellerman <michael@ellerman.id.au>
Mon, 20 Feb 2012 17:02:09 +0000 (17:02 +0000)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Wed, 22 Feb 2012 23:50:04 +0000 (10:50 +1100)
The perf code has grown a lot since it started, and is big enough to
warrant its own subdirectory. For reference it's ~60% bigger than the
oprofile code. It declutters the kernel directory, makes it simpler to
grep for "just perf stuff", and allows us to shorten some filenames.

While we're at it, make it more obvious that we have two implementations
of the core perf logic. One for (roughly) Book3S CPUs, which was the
original implementation, and the other for Freescale embedded CPUs.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
14 files changed:
arch/powerpc/Makefile
arch/powerpc/kernel/Makefile
arch/powerpc/perf/Makefile [new file with mode: 0644]
arch/powerpc/perf/callchain.c [moved from arch/powerpc/kernel/perf_callchain.c with 99% similarity]
arch/powerpc/perf/core-book3s.c [moved from arch/powerpc/kernel/perf_event.c with 100% similarity]
arch/powerpc/perf/core-fsl-emb.c [moved from arch/powerpc/kernel/perf_event_fsl_emb.c with 100% similarity]
arch/powerpc/perf/e500-pmu.c [moved from arch/powerpc/kernel/e500-pmu.c with 100% similarity]
arch/powerpc/perf/mpc7450-pmu.c [moved from arch/powerpc/kernel/mpc7450-pmu.c with 100% similarity]
arch/powerpc/perf/power4-pmu.c [moved from arch/powerpc/kernel/power4-pmu.c with 100% similarity]
arch/powerpc/perf/power5+-pmu.c [moved from arch/powerpc/kernel/power5+-pmu.c with 100% similarity]
arch/powerpc/perf/power5-pmu.c [moved from arch/powerpc/kernel/power5-pmu.c with 100% similarity]
arch/powerpc/perf/power6-pmu.c [moved from arch/powerpc/kernel/power6-pmu.c with 99% similarity]
arch/powerpc/perf/power7-pmu.c [moved from arch/powerpc/kernel/power7-pmu.c with 100% similarity]
arch/powerpc/perf/ppc970-pmu.c [moved from arch/powerpc/kernel/ppc970-pmu.c with 99% similarity]

index b8b105c..6524c6e 100644 (file)
@@ -157,6 +157,7 @@ core-y                              += arch/powerpc/kernel/ \
                                   arch/powerpc/net/
 core-$(CONFIG_XMON)            += arch/powerpc/xmon/
 core-$(CONFIG_KVM)             += arch/powerpc/kvm/
+core-$(CONFIG_PERF_EVENTS)     += arch/powerpc/perf/
 
 drivers-$(CONFIG_OPROFILE)     += arch/powerpc/oprofile/
 
index 391bf7e..f5808a3 100644 (file)
@@ -114,15 +114,6 @@ obj-$(CONFIG_PPC_IO_WORKAROUNDS)   += io-workarounds.o
 obj-$(CONFIG_DYNAMIC_FTRACE)   += ftrace.o
 obj-$(CONFIG_FUNCTION_GRAPH_TRACER)    += ftrace.o
 obj-$(CONFIG_FTRACE_SYSCALLS)  += ftrace.o
-obj-$(CONFIG_PERF_EVENTS)      += perf_callchain.o
-
-obj-$(CONFIG_PPC_PERF_CTRS)    += perf_event.o
-obj64-$(CONFIG_PPC_PERF_CTRS)  += power4-pmu.o ppc970-pmu.o power5-pmu.o \
-                                  power5+-pmu.o power6-pmu.o power7-pmu.o
-obj32-$(CONFIG_PPC_PERF_CTRS)  += mpc7450-pmu.o
-
-obj-$(CONFIG_FSL_EMB_PERF_EVENT) += perf_event_fsl_emb.o
-obj-$(CONFIG_FSL_EMB_PERF_EVENT_E500) += e500-pmu.o
 
 obj-$(CONFIG_8XX_MINIMAL_FPEMU) += softemu8xx.o
 
diff --git a/arch/powerpc/perf/Makefile b/arch/powerpc/perf/Makefile
new file mode 100644 (file)
index 0000000..af3fac2
--- /dev/null
@@ -0,0 +1,14 @@
+subdir-ccflags-$(CONFIG_PPC_WERROR) := -Werror
+
+obj-$(CONFIG_PERF_EVENTS)      += callchain.o
+
+obj-$(CONFIG_PPC_PERF_CTRS)    += core-book3s.o
+obj64-$(CONFIG_PPC_PERF_CTRS)  += power4-pmu.o ppc970-pmu.o power5-pmu.o \
+                                  power5+-pmu.o power6-pmu.o power7-pmu.o
+obj32-$(CONFIG_PPC_PERF_CTRS)  += mpc7450-pmu.o
+
+obj-$(CONFIG_FSL_EMB_PERF_EVENT) += core-fsl-emb.o
+obj-$(CONFIG_FSL_EMB_PERF_EVENT_E500) += e500-pmu.o
+
+obj-$(CONFIG_PPC64)            += $(obj64-y)
+obj-$(CONFIG_PPC32)            += $(obj32-y)
similarity index 99%
rename from arch/powerpc/kernel/perf_callchain.c
rename to arch/powerpc/perf/callchain.c
index 564c1d8..e8a18d1 100644 (file)
@@ -20,7 +20,7 @@
 #include <asm/ucontext.h>
 #include <asm/vdso.h>
 #ifdef CONFIG_PPC64
-#include "ppc32.h"
+#include "../kernel/ppc32.h"
 #endif
 
 
similarity index 99%
rename from arch/powerpc/kernel/power6-pmu.c
rename to arch/powerpc/perf/power6-pmu.c
index 0bbc901..31128e0 100644 (file)
@@ -131,7 +131,7 @@ static u32 marked_bus_events[16] = {
        0x00000022,     /* BFP set 2: byte 0 bits 1, 5 */
        0, 0
 };
-       
+
 /*
  * Returns 1 if event counts things relating to marked instructions
  * and thus needs the MMCRA_SAMPLE_ENABLE bit set, or 0 if not.
similarity index 99%
rename from arch/powerpc/kernel/ppc970-pmu.c
rename to arch/powerpc/perf/ppc970-pmu.c
index 8c21902..111eb25 100644 (file)
@@ -252,7 +252,7 @@ static int p970_get_alternatives(u64 event, unsigned int flags, u64 alt[])
                alt[1] = event ^ 0x1000;
                return 2;
        }
-               
+
        return 1;
 }