Re: [PATCH] [alpha] Add minimal support for software performance events.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 01/12/09 17:30, Matt Turner wrote:
Please take a look at the attached patch and let me know if it's what
you want pushed. I wasn't sure if the last hunk (the memory barriers)
needed to be included or had already been picked up.

All the tools/perf stuff, including the memory barriers, have been picked up by linux-tip. Updated patch with the arch/alpha bits only attached.

The patch should apply cleanly on top of the "alpha: Wire up missing/new syscalls" patch which I see you have already applied.

Cheers
Michael.
>From 2c22c2a528d5c89f52d77b0d7a49c12865f82ecc Mon Sep 17 00:00:00 2001
From: Michael Cree <mcree@xxxxxxxxxxxx>
Date: Tue, 1 Dec 2009 22:15:17 +1300
Subject: [PATCH] alpha:  Add minimal support for software performance events.

Enable configuration of the perf event option, add the perf_event_open
syscall, and include a minimal architecture specific asm/perf_event.h
header file.

Signed-off-by: Michael Cree <mcree@xxxxxxxxxxxx>
---
 arch/alpha/Kconfig                  |    1 +
 arch/alpha/include/asm/perf_event.h |    9 +++++++++
 arch/alpha/include/asm/unistd.h     |    3 ++-
 arch/alpha/kernel/systbls.S         |    1 +
 4 files changed, 13 insertions(+), 1 deletions(-)
 create mode 100644 arch/alpha/include/asm/perf_event.h

diff --git a/arch/alpha/Kconfig b/arch/alpha/Kconfig
index 4434481..bd7261e 100644
--- a/arch/alpha/Kconfig
+++ b/arch/alpha/Kconfig
@@ -9,6 +9,7 @@ config ALPHA
 	select HAVE_IDE
 	select HAVE_OPROFILE
 	select HAVE_SYSCALL_WRAPPERS
+	select HAVE_PERF_EVENTS
 	help
 	  The Alpha is a 64-bit general-purpose processor designed and
 	  marketed by the Digital Equipment Corporation of blessed memory,
diff --git a/arch/alpha/include/asm/perf_event.h b/arch/alpha/include/asm/perf_event.h
new file mode 100644
index 0000000..3bef852
--- /dev/null
+++ b/arch/alpha/include/asm/perf_event.h
@@ -0,0 +1,9 @@
+#ifndef __ASM_ALPHA_PERF_EVENT_H
+#define __ASM_ALPHA_PERF_EVENT_H
+
+/* Alpha only supports software events through this interface. */
+static inline void set_perf_event_pending(void) { }
+
+#define PERF_EVENT_INDEX_OFFSET 0
+
+#endif /* __ASM_ALPHA_PERF_EVENT_H */
diff --git a/arch/alpha/include/asm/unistd.h b/arch/alpha/include/asm/unistd.h
index 17f72b7..414de17 100644
--- a/arch/alpha/include/asm/unistd.h
+++ b/arch/alpha/include/asm/unistd.h
@@ -447,10 +447,11 @@
 #define __NR_preadv			489
 #define __NR_pwritev			490
 #define __NR_rt_tgsigqueueinfo		491
+#define __NR_perf_event_open		492
 
 #ifdef __KERNEL__
 
-#define NR_SYSCALLS			492
+#define NR_SYSCALLS			493
 
 #define __ARCH_WANT_IPC_PARSE_VERSION
 #define __ARCH_WANT_OLD_READDIR
diff --git a/arch/alpha/kernel/systbls.S b/arch/alpha/kernel/systbls.S
index 78199b9..63c78e4 100644
--- a/arch/alpha/kernel/systbls.S
+++ b/arch/alpha/kernel/systbls.S
@@ -510,6 +510,7 @@ sys_call_table:
 	.quad sys_preadv
 	.quad sys_pwritev			/* 490 */
 	.quad sys_rt_tgsigqueueinfo
+	.quad sys_perf_event_open
 
 	.size sys_call_table, . - sys_call_table
 	.type sys_call_table, @object
-- 
1.5.6.5


[Index of Archives]     [Netdev]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux