Skip to contentSkip to conversation

perf augmented_syscalls: Drop 'write', 'poll' for testing without self pid filter

tip:perf/core tip-bot for Arnaldo Carvalho de Melo 1 participant 1 message Nov 22, 2018 perf events

lore
Share & tools
lore
#0 lore raw
Commit-ID:  77ecb64050ff580963cbb8b8f1b02db91dc9efaf
Gitweb:     https://git.kernel.org/tip/77ecb64050ff580963cbb8b8f1b02db91dc9efaf
Author:     Arnaldo Carvalho de Melo <[email protected]>
AuthorDate: Tue, 6 Nov 2018 16:01:26 -0300
Committer:  Arnaldo Carvalho de Melo <[email protected]>
CommitDate: Wed, 21 Nov 2018 12:00:31 -0300

perf augmented_syscalls: Drop 'write', 'poll' for testing without self pid filter

When testing system wide tracing without filtering the syscalls called by 'perf trace' itself we get into a feedback loop, drop for now those two syscalls, that are the ones that 'perf trace' does in its loop for writing the syscalls it intercepts, to help with testing till we get that filtering in place.

---
 tools/perf/examples/bpf/augmented_raw_syscalls.c | 4 ++++
 1 file changed, 4 insertions(+)
tools/perf/examples/bpf/augmented_raw_syscalls.c +4 -0
index ec109c12ff24..7d729319618c 100644
@@ -43,7 +43,9 @@ struct augmented_filename {
 	char		value[256];
 };
 
+#define SYS_WRITE 1
 #define SYS_OPEN 2
+#define SYS_POLL 7
 #define SYS_OPENAT 257
 
 SEC("raw_syscalls:sys_enter")
@@ -101,6 +103,8 @@ int sys_enter(struct syscall_enter_args *args)
 	 * 	 after the ctx memory access to prevent their down stream merging.
 	 */
 	switch (augmented_args.args.syscall_nr) {
+	case SYS_WRITE:
+	case SYS_POLL:	 return 0;
 	case SYS_OPEN:	 filename_arg = (const void *)args->args[0];
 			__asm__ __volatile__("": : :"memory");
 			 break;