All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
To: Ingo Molnar <mingo@elte.hu>,
	akpm@linux-foundation.org,
	Frederic Weisbecker <fweisbec@gmail.com>,
	Steven Rostedt <rostedt@goodmis.org>,
	LKML <linux-kernel@vger.kernel.org>
Cc: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
Subject: [RFC patch 14/20] LTTng Kernel Trace Thread Flag s390
Date: Sun, 15 Mar 2009 16:01:58 -0400	[thread overview]
Message-ID: <20090315200506.913418618@polymtl.ca> (raw)
In-Reply-To: 20090315200144.017321577@polymtl.ca

[-- Attachment #1: lttng-kernel-trace-thread-flag-s390.patch --]
[-- Type: text/plain, Size: 4306 bytes --]

Add a thread flag to activate system-wide syscall tracing.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
---
 arch/s390/include/asm/thread_info.h |    2 ++
 arch/s390/kernel/entry.S            |   10 ++++++++--
 arch/s390/kernel/entry64.S          |   10 ++++++++--
 3 files changed, 18 insertions(+), 4 deletions(-)

Index: linux-2.6-lttng/arch/s390/include/asm/thread_info.h
===================================================================
--- linux-2.6-lttng.orig/arch/s390/include/asm/thread_info.h	2009-03-15 15:57:04.000000000 -0400
+++ linux-2.6-lttng/arch/s390/include/asm/thread_info.h	2009-03-15 15:57:17.000000000 -0400
@@ -90,6 +90,7 @@ static inline struct thread_info *curren
 #define TIF_SYSCALL_AUDIT	5	/* syscall auditing active */
 #define TIF_SINGLE_STEP		6	/* deliver sigtrap on return to user */
 #define TIF_MCCK_PENDING	7	/* machine check handling is pending */
+#define TIF_KERNEL_TRACE	8	/* kernel trace active */
 #define TIF_USEDFPU		16	/* FPU was used by this task this quantum (SMP) */
 #define TIF_POLLING_NRFLAG	17	/* true if poll_idle() is polling 
 					   TIF_NEED_RESCHED */
@@ -107,6 +108,7 @@ static inline struct thread_info *curren
 #define _TIF_SYSCALL_AUDIT	(1<<TIF_SYSCALL_AUDIT)
 #define _TIF_SINGLE_STEP	(1<<TIF_SINGLE_STEP)
 #define _TIF_MCCK_PENDING	(1<<TIF_MCCK_PENDING)
+#define _TIF_KERNEL_TRACE	(1<<TIF_KERNEL_TRACE)
 #define _TIF_USEDFPU		(1<<TIF_USEDFPU)
 #define _TIF_POLLING_NRFLAG	(1<<TIF_POLLING_NRFLAG)
 #define _TIF_31BIT		(1<<TIF_31BIT)
Index: linux-2.6-lttng/arch/s390/kernel/entry.S
===================================================================
--- linux-2.6-lttng.orig/arch/s390/kernel/entry.S	2009-03-15 15:51:10.000000000 -0400
+++ linux-2.6-lttng/arch/s390/kernel/entry.S	2009-03-15 15:57:17.000000000 -0400
@@ -265,7 +265,9 @@ sysc_do_restart:
 	sth	%r7,SP_SVCNR(%r15)
 	sll	%r7,2		  # svc number *4
 	l	%r8,BASED(.Lsysc_table)
-	tm	__TI_flags+3(%r9),(_TIF_SYSCALL_TRACE|_TIF_SYSCALL_AUDIT)
+	l	%r8,__TI_flags+3(%r9)
+	n	%r8,BASED(.Lc_tif_syscall_trace_or_audit_or_kernel_trace)
+	ltr	%r8,%r8
 	l	%r8,0(%r7,%r8)	  # get system call addr.
 	bnz	BASED(sysc_tracesys)
 	basr	%r14,%r8	  # call sys_xxxx
@@ -405,7 +407,9 @@ sysc_tracego:
 	basr	%r14,%r8		# call sys_xxx
 	st	%r2,SP_R2(%r15)		# store return value
 sysc_tracenogo:
-	tm	__TI_flags+3(%r9),(_TIF_SYSCALL_TRACE|_TIF_SYSCALL_AUDIT)
+	l	%r8,__TI_flags+3(%r9)
+	n	%r8,BASED(.Lc_tif_syscall_trace_or_audit_or_kernel_trace)
+	ltr	%r8,%r8
 	bz	BASED(sysc_return)
 	l	%r1,BASED(.Ltrace_exit)
 	la	%r2,SP_PTREGS(%r15)	# load pt_regs
@@ -1049,6 +1053,8 @@ cleanup_io_leave_insn:
 .L0x030:	.short	0x030
 .L0x038:	.short	0x038
 .Lc_1:		.long	1
+.Lc_tif_syscall_trace_or_audit_or_kernel_trace:
+		.long	_TIF_SYSCALL_TRACE|_TIF_SYSCALL_AUDIT|_TIF_KERNEL_TRACE
 
 /*
  * Symbol constants
Index: linux-2.6-lttng/arch/s390/kernel/entry64.S
===================================================================
--- linux-2.6-lttng.orig/arch/s390/kernel/entry64.S	2009-03-15 15:51:10.000000000 -0400
+++ linux-2.6-lttng/arch/s390/kernel/entry64.S	2009-03-15 15:57:17.000000000 -0400
@@ -260,7 +260,9 @@ sysc_do_restart:
 	larl	%r10,sys_call_table_emu  # use 31 bit emulation system calls
 sysc_noemu:
 #endif
-	tm	__TI_flags+7(%r9),(_TIF_SYSCALL_TRACE|_TIF_SYSCALL_AUDIT)
+	l	%r8,__TI_flags+7(%r9)
+	n	%r8,BASED(.Lc_tif_syscall_trace_or_audit_or_kernel_trace)
+	ltr	%r8,%r8
 	lgf	%r8,0(%r7,%r10) # load address of system call routine
 	jnz	sysc_tracesys
 	basr	%r14,%r8	# call sys_xxxx
@@ -391,7 +393,9 @@ sysc_tracego:
 	basr	%r14,%r8		# call sys_xxx
 	stg	%r2,SP_R2(%r15)		# store return value
 sysc_tracenogo:
-	tm	__TI_flags+7(%r9),(_TIF_SYSCALL_TRACE|_TIF_SYSCALL_AUDIT)
+	l	%r8,__TI_flags+7(%r9)
+	n	%r8,BASED(.Lc_tif_syscall_trace_or_audit_or_kernel_trace)
+	ltr	%r8,%r8
 	jz	sysc_return
 	la	%r2,SP_PTREGS(%r15)	# load pt_regs
 	larl	%r14,sysc_return	# return point is sysc_return
@@ -1033,6 +1037,8 @@ cleanup_io_leave_insn:
 		.align	4
 .Lconst:
 .Lnr_syscalls:	.long	NR_syscalls
+.Lc_tif_syscall_trace_or_audit_or_kernel_trace:
+		.long	_TIF_SYSCALL_TRACE|_TIF_SYSCALL_AUDIT|_TIF_KERNEL_TRACE
 .L0x0130:	.short	0x130
 .L0x0140:	.short	0x140
 .L0x0150:	.short	0x150

-- 
Mathieu Desnoyers
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F  BA06 3F25 A8FE 3BAE 9A68

  parent reply	other threads:[~2009-03-15 20:29 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-03-15 20:01 [RFC patch 00/20] LTTng Kernel Trace Thread Flag v2 Mathieu Desnoyers
2009-03-15 20:01 ` [RFC patch 01/20] LTTng Kernel Trace Thread Flag Alpha Mathieu Desnoyers
2009-03-15 20:01 ` [RFC patch 02/20] LTTng Kernel Trace Thread Flag ARM Mathieu Desnoyers
2009-03-15 20:01 ` [RFC patch 03/20] LTTng Kernel Trace Thread Flag AVR32 Mathieu Desnoyers
2009-03-15 20:01 ` [RFC patch 04/20] LTTng Kernel Trace Thread Flag Blackfin Mathieu Desnoyers
2009-03-15 20:01 ` [RFC patch 05/20] LTTng Kernel Trace Thread Flag Cris Mathieu Desnoyers
2009-03-15 20:01 ` [RFC patch 06/20] LTTng Kernel Trace Thread Flag Frv Mathieu Desnoyers
2009-03-15 20:01 ` [RFC patch 07/20] LTTng Kernel Trace Thread Flag H8300 Mathieu Desnoyers
2009-03-15 20:01 ` [RFC patch 08/20] LTTng Kernel Trace Thread Flag ia64 Mathieu Desnoyers
2009-03-15 20:01 ` [RFC patch 09/20] LTTng Kernel Trace Thread Flag m32r Mathieu Desnoyers
2009-03-15 20:01 ` [RFC patch 10/20] LTTng Kernel Trace Thread Flag m68k Mathieu Desnoyers
2009-03-15 20:01 ` [RFC patch 11/20] LTTng Kernel Trace Thread Flag MIPS Mathieu Desnoyers
2009-03-15 20:01 ` [RFC patch 12/20] LTTng Kernel Trace Thread Flag parisc Mathieu Desnoyers
2009-03-15 20:01 ` [RFC patch 13/20] LTTng Kernel Trace Thread Flag powerpc Mathieu Desnoyers
2009-03-15 20:01 ` Mathieu Desnoyers [this message]
2009-03-15 20:01 ` [RFC patch 15/20] LTTng Kernel Trace Thread Flag SH Mathieu Desnoyers
2009-03-15 20:02 ` [RFC patch 16/20] LTTng Kernel Trace Thread Flag sparc Mathieu Desnoyers
2009-03-15 20:02 ` [RFC patch 17/20] LTTng Kernel Trace Thread Flag UML Mathieu Desnoyers
2009-03-15 20:02 ` [RFC patch 18/20] LTTng Linux Kernel Trace Thread Flag x86 Mathieu Desnoyers
2009-03-15 20:02 ` [RFC patch 19/20] LTTng Kernel Trace Thread Flag xtensa Mathieu Desnoyers
2009-03-15 20:02 ` [RFC patch 20/20] LTTng Kernel Trace Thread Flag API Mathieu Desnoyers
  -- strict thread matches above, loose matches on Subject: below --
2009-05-09 16:22 [RFC patch 00/20] Kernel tracing thread flag Mathieu Desnoyers
2009-05-09 16:22 ` [RFC patch 14/20] LTTng Kernel Trace Thread Flag s390 Mathieu Desnoyers
2009-05-11  8:25   ` Heiko Carstens

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090315200506.913418618@polymtl.ca \
    --to=mathieu.desnoyers@polymtl.ca \
    --cc=akpm@linux-foundation.org \
    --cc=fweisbec@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=rostedt@goodmis.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.