From: Anton Vorontsov <avorontsov@ru.mvista.com>
To: Steven Rostedt <srostedt@redhat.com>, Ingo Molnar <mingo@elte.hu>
Cc: linux-rt-users@vger.kernel.org, Paul Mackerras <paulus@samba.org>,
linux-kernel@vger.kernel.org, linuxppc-dev@ozlabs.org
Subject: [PATCH -rt] powerpc/tracing: Add support for "PREEMPT_TRACE" tracer
Date: Sat, 31 Jan 2009 22:14:44 +0300 [thread overview]
Message-ID: <20090131191444.GA6896@oksana.dev.rtsoft.ru> (raw)
In-Reply-To: <1233338221.3833.65.camel@localhost.localdomain>
The support is pretty straightforward: issue print_preempt_trace()
just after the call trace.
Without CONFIG_PREEMPT_TRACE=y the print_preempt_trace() call turns
into no-op.
Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
---
On Fri, Jan 30, 2009 at 12:57:01PM -0500, Steven Rostedt wrote:
[...]
> > > Turn on CONFIG_PREEMPT_TRACE (not TRACER) and it should show the
> > > location that left preemption disabled.
> >
> > Thank you Steven, PREEMPT_TRACE is a great tool indeed (though on
> > PowerPC it doesn't work out of the box, but easily fixable).
>
> Cool, I'd be interested in those fixes.
Here it is. "ftrace: On PowerPC we don't need frame pointers for
CALLER_ADDRs" patch (http://lkml.org/lkml/2009/1/31/141) is also
needed for this to work.
Thanks,
arch/powerpc/kernel/process.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/arch/powerpc/kernel/process.c b/arch/powerpc/kernel/process.c
index 957bded..b8642bf 100644
--- a/arch/powerpc/kernel/process.c
+++ b/arch/powerpc/kernel/process.c
@@ -1020,7 +1020,7 @@ void show_stack(struct task_struct *tsk, unsigned long *stack)
printk("Call Trace:\n");
do {
if (!validate_sp(sp, tsk, STACK_FRAME_OVERHEAD))
- return;
+ goto out;
stack = (unsigned long *) sp;
newsp = stack[0];
@@ -1049,6 +1049,8 @@ void show_stack(struct task_struct *tsk, unsigned long *stack)
sp = newsp;
} while (count++ < kstack_depth_to_print);
+out:
+ print_preempt_trace(tsk);
}
void dump_stack(void)
--
1.5.6.5
WARNING: multiple messages have this Message-ID (diff)
From: Anton Vorontsov <avorontsov@ru.mvista.com>
To: Steven Rostedt <srostedt@redhat.com>, Ingo Molnar <mingo@elte.hu>
Cc: Paul Mackerras <paulus@samba.org>,
Benjamin Herrenschmidt <benh@kernel.crashing.org>,
linuxppc-dev@ozlabs.org, linux-kernel@vger.kernel.org,
linux-rt-users@vger.kernel.org
Subject: [PATCH -rt] powerpc/tracing: Add support for "PREEMPT_TRACE" tracer
Date: Sat, 31 Jan 2009 22:14:44 +0300 [thread overview]
Message-ID: <20090131191444.GA6896@oksana.dev.rtsoft.ru> (raw)
In-Reply-To: <1233338221.3833.65.camel@localhost.localdomain>
The support is pretty straightforward: issue print_preempt_trace()
just after the call trace.
Without CONFIG_PREEMPT_TRACE=y the print_preempt_trace() call turns
into no-op.
Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
---
On Fri, Jan 30, 2009 at 12:57:01PM -0500, Steven Rostedt wrote:
[...]
> > > Turn on CONFIG_PREEMPT_TRACE (not TRACER) and it should show the
> > > location that left preemption disabled.
> >
> > Thank you Steven, PREEMPT_TRACE is a great tool indeed (though on
> > PowerPC it doesn't work out of the box, but easily fixable).
>
> Cool, I'd be interested in those fixes.
Here it is. "ftrace: On PowerPC we don't need frame pointers for
CALLER_ADDRs" patch (http://lkml.org/lkml/2009/1/31/141) is also
needed for this to work.
Thanks,
arch/powerpc/kernel/process.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/arch/powerpc/kernel/process.c b/arch/powerpc/kernel/process.c
index 957bded..b8642bf 100644
--- a/arch/powerpc/kernel/process.c
+++ b/arch/powerpc/kernel/process.c
@@ -1020,7 +1020,7 @@ void show_stack(struct task_struct *tsk, unsigned long *stack)
printk("Call Trace:\n");
do {
if (!validate_sp(sp, tsk, STACK_FRAME_OVERHEAD))
- return;
+ goto out;
stack = (unsigned long *) sp;
newsp = stack[0];
@@ -1049,6 +1049,8 @@ void show_stack(struct task_struct *tsk, unsigned long *stack)
sp = newsp;
} while (count++ < kstack_depth_to_print);
+out:
+ print_preempt_trace(tsk);
}
void dump_stack(void)
--
1.5.6.5
next prev parent reply other threads:[~2009-01-31 19:14 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-01-29 21:34 2.6.28-rt on PowerPC Anton Vorontsov
2009-01-29 21:34 ` Anton Vorontsov
2009-01-29 23:00 ` Steven Rostedt
2009-01-29 23:00 ` Steven Rostedt
2009-01-29 23:00 ` Steven Rostedt
2009-01-29 23:21 ` Frank Rowand
2009-01-29 23:21 ` Frank Rowand
2009-01-30 1:51 ` Steven Rostedt
2009-01-30 1:51 ` Steven Rostedt
2009-01-30 23:06 ` Robert Schwebel
2009-01-30 23:06 ` Robert Schwebel
2009-01-30 23:06 ` Robert Schwebel
2009-01-30 23:06 ` Robert Schwebel
2009-01-30 23:06 ` Robert Schwebel
2009-01-31 20:23 ` 2.6.28-rt on ARM [Was: 2.6.28-rt on PowerPC] Uwe Kleine-König
2009-01-31 20:23 ` Uwe Kleine-König
2009-01-30 13:07 ` 2.6.28-rt on PowerPC Josh Boyer
2009-01-30 13:07 ` Josh Boyer
2009-01-30 17:45 ` Anton Vorontsov
2009-01-30 17:45 ` Anton Vorontsov
2009-01-30 17:57 ` Steven Rostedt
2009-01-30 17:57 ` Steven Rostedt
2009-01-31 19:14 ` Anton Vorontsov [this message]
2009-01-31 19:14 ` [PATCH -rt] powerpc/tracing: Add support for "PREEMPT_TRACE" tracer Anton Vorontsov
2009-01-30 17:57 ` 2.6.28-rt on PowerPC Steven Rostedt
2009-01-30 17:57 ` Steven Rostedt
2009-01-30 17:57 ` Steven Rostedt
2009-01-29 23:00 ` Steven Rostedt
2009-01-29 23:00 ` Steven Rostedt
2009-01-30 2:11 ` Benjamin Herrenschmidt
2009-01-30 2:11 ` Benjamin Herrenschmidt
2009-01-30 2:11 ` Benjamin Herrenschmidt
2009-01-30 2:11 ` Benjamin Herrenschmidt
2009-01-30 3:07 ` Anton Vorontsov
2009-01-30 3:07 ` Anton Vorontsov
2009-01-30 4:09 ` Benjamin Herrenschmidt
2009-01-30 4:09 ` Benjamin Herrenschmidt
2009-01-30 4:09 ` Benjamin Herrenschmidt
2009-01-30 4:09 ` Benjamin Herrenschmidt
2009-01-30 4:09 ` Benjamin Herrenschmidt
2009-01-30 2:11 ` Benjamin Herrenschmidt
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=20090131191444.GA6896@oksana.dev.rtsoft.ru \
--to=avorontsov@ru.mvista.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rt-users@vger.kernel.org \
--cc=linuxppc-dev@ozlabs.org \
--cc=mingo@elte.hu \
--cc=paulus@samba.org \
--cc=srostedt@redhat.com \
/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.