From: Tejun Heo <tj@kernel.org>
To: linux-arch@vger.kernel.org, linux-kernel@vger.kernel.org,
akpm@linux-foundation.org, mingo@redhat.com, x86@kernel.org
Cc: rth@twiddle.net, linux@arm.linux.org.uk, msalter@redhat.com,
starvik@axis.com, dhowells@redhat.com, tony.luck@intel.com,
benh@kernel.crashing.org, takata@linux-m32r.org,
geert@linux-m68k.org, james.hogan@imgtec.com, monstr@monstr.eu,
ralf@linux-mips.org, jonas@southpole.se, rkuo@codeaurora.org,
schwidefsky@de.ibm.com, liqin.chen@sunplusct.com,
davem@davemloft.net, lethal@linux-sh.org, vgupta@synopsys.com,
chris@zankel.net, cmetcalf@tilera.com,
ysato@users.sourceforge.jp, gxt@mprc.pku.edu.cn,
jdike@addtoit.com, Tejun Heo <tj@kernel.org>
Subject: [PATCH 1/7] x86: don't show trace beyond show_stack(NULL, NULL)
Date: Wed, 3 Apr 2013 12:14:51 -0700 [thread overview]
Message-ID: <1365016497-32033-2-git-send-email-tj@kernel.org> (raw)
In-Reply-To: <1365016497-32033-1-git-send-email-tj@kernel.org>
show_stack(current or NULL, NULL) is used to print the backtrace of
the current task. As trace beyond the function itself isn't of much
interest to anyone, don't show it by determining sp and bp in
show_stack()'s frame and passing them to show_stack_log_lvl().
This brings show_stack(NULL, NULL)'s behavior in line with
dump_stack().
Signed-off-by: Tejun Heo <tj@kernel.org>
---
arch/x86/kernel/dumpstack.c | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)
diff --git a/arch/x86/kernel/dumpstack.c b/arch/x86/kernel/dumpstack.c
index c8797d5..dd1a7c3 100644
--- a/arch/x86/kernel/dumpstack.c
+++ b/arch/x86/kernel/dumpstack.c
@@ -176,7 +176,19 @@ void show_trace(struct task_struct *task, struct pt_regs *regs,
void show_stack(struct task_struct *task, unsigned long *sp)
{
- show_stack_log_lvl(task, NULL, sp, 0, "");
+ unsigned long bp = 0;
+ unsigned long stack;
+
+ /*
+ * Stack frames below this one aren't interesting. Don't show them
+ * if we're printing for %current.
+ */
+ if (!sp && (!task || task == current)) {
+ sp = &stack;
+ bp = stack_frame(current, NULL);
+ }
+
+ show_stack_log_lvl(task, NULL, sp, bp, "");
}
/*
--
1.8.1.4
next prev parent reply other threads:[~2013-04-03 19:15 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-03 19:14 [PATCHSET v2] arch: unify task dump debug info Tejun Heo
2013-04-03 19:14 ` Tejun Heo [this message]
2013-04-08 16:08 ` [PATCH 1/7] x86: don't show trace beyond show_stack(NULL, NULL) Ingo Molnar
2013-04-08 17:57 ` Tejun Heo
2013-04-10 10:35 ` Ingo Molnar
2013-04-10 18:54 ` Tejun Heo
2013-04-10 20:10 ` [PATCH UPDATED 1/7] x86: don't show trace into stacktrace machinery Tejun Heo
2013-04-10 20:22 ` Borislav Petkov
2013-04-10 21:09 ` Tejun Heo
2013-04-10 21:09 ` Tejun Heo
2013-04-10 21:18 ` [PATCH UPDATED v2 " Tejun Heo
2013-04-03 19:14 ` [PATCH 2/7] sparc32: make show_stack() acquire %fp if @_ksp is not specified Tejun Heo
2013-04-03 19:14 ` Tejun Heo
2013-04-03 19:14 ` [PATCH 3/7] dump_stack: consolidate dump_stack() implementations and unify their behaviors Tejun Heo
2013-04-03 19:14 ` Tejun Heo
2013-04-04 7:13 ` Martin Schwidefsky
2013-04-12 20:39 ` Chris Metcalf
2013-04-12 21:59 ` Tejun Heo
2013-04-03 19:14 ` [PATCH 4/7] dmi: morph dmi_dump_ids() into dmi_format_ids() which formats into a buffer Tejun Heo
2013-04-03 19:14 ` Tejun Heo
2013-04-03 19:14 ` [PATCH 5/7] dump_stack: implement arch-specific hardware description in task dumps Tejun Heo
2013-04-03 19:14 ` Tejun Heo
2013-04-03 19:14 ` [PATCH 6/7] dump_stack: unify debug information printed by show_regs() Tejun Heo
2013-04-03 19:14 ` Tejun Heo
2013-04-12 20:37 ` Chris Metcalf
2013-04-03 19:14 ` [PATCH 7/7] arc, print-fatal-signals: reduce duplicated information Tejun Heo
2013-04-03 19:14 ` Tejun Heo
2013-04-08 15:31 ` [PATCHSET v2] arch: unify task dump debug info Tejun Heo
2013-04-08 15:31 ` Tejun Heo
2013-04-11 18:47 ` Tejun Heo
2013-04-12 5:42 ` Ingo Molnar
2013-04-13 1:14 ` rkuo
2013-04-13 1:14 ` rkuo
2013-04-18 14:34 ` Russell King - ARM Linux
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=1365016497-32033-2-git-send-email-tj@kernel.org \
--to=tj@kernel.org \
--cc=akpm@linux-foundation.org \
--cc=benh@kernel.crashing.org \
--cc=chris@zankel.net \
--cc=cmetcalf@tilera.com \
--cc=davem@davemloft.net \
--cc=dhowells@redhat.com \
--cc=geert@linux-m68k.org \
--cc=gxt@mprc.pku.edu.cn \
--cc=james.hogan@imgtec.com \
--cc=jdike@addtoit.com \
--cc=jonas@southpole.se \
--cc=lethal@linux-sh.org \
--cc=linux-arch@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
--cc=liqin.chen@sunplusct.com \
--cc=mingo@redhat.com \
--cc=monstr@monstr.eu \
--cc=msalter@redhat.com \
--cc=ralf@linux-mips.org \
--cc=rkuo@codeaurora.org \
--cc=rth@twiddle.net \
--cc=schwidefsky@de.ibm.com \
--cc=starvik@axis.com \
--cc=takata@linux-m32r.org \
--cc=tony.luck@intel.com \
--cc=vgupta@synopsys.com \
--cc=x86@kernel.org \
--cc=ysato@users.sourceforge.jp \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).