All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] x86: make save_stack_address() !CONFIG_FRAME_POINTER friendly
@ 2010-06-03 19:32 Oleg Nesterov
  2010-06-03 19:52 ` Frederic Weisbecker
                   ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: Oleg Nesterov @ 2010-06-03 19:32 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Arjan van de Ven, Frederic Weisbecker, Ingo Molnar,
	Roland McGrath, Vegard Nossum, linux-kernel

If CONFIG_FRAME_POINTER=n, print_context_stack() shouldn't neglect the
non-reliable addresses on stack, this is all we have if dump_trace(bp)
is called with the wrong or zero bp.

For example, /proc/pid/stack doesn't work if CONFIG_FRAME_POINTER=n.

This patch obviously has no effect if CONFIG_FRAME_POINTER=y, otherwise
it reverts 1650743c "x86: don't save unreliable stack trace entries".

Also, remove the unnecessary type-cast.

Signed-off-by: Oleg Nesterov <oleg@redhat.com>
---

 arch/x86/kernel/stacktrace.c |    6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

--- 34-rc1/arch/x86/kernel/stacktrace.c~SAVE_STACK_WO_FP	2010-06-03 18:43:27.000000000 +0200
+++ 34-rc1/arch/x86/kernel/stacktrace.c	2010-06-03 21:29:52.000000000 +0200
@@ -26,8 +26,10 @@ static int save_stack_stack(void *data, 
 static void save_stack_address(void *data, unsigned long addr, int reliable)
 {
 	struct stack_trace *trace = data;
+#ifdef CONFIG_FRAME_POINTER
 	if (!reliable)
 		return;
+#endif
 	if (trace->skip > 0) {
 		trace->skip--;
 		return;
@@ -39,9 +41,11 @@ static void save_stack_address(void *dat
 static void
 save_stack_address_nosched(void *data, unsigned long addr, int reliable)
 {
-	struct stack_trace *trace = (struct stack_trace *)data;
+	struct stack_trace *trace = data;
+#ifdef CONFIG_FRAME_POINTER
 	if (!reliable)
 		return;
+#endif
 	if (in_sched_functions(addr))
 		return;
 	if (trace->skip > 0) {


^ permalink raw reply	[flat|nested] 9+ messages in thread
* [GIT PULL] perf updates
@ 2010-06-08 20:13 Frederic Weisbecker
  2010-06-08 20:13 ` [PATCH 1/2] x86: Make save_stack_address() !CONFIG_FRAME_POINTER friendly Frederic Weisbecker
  0 siblings, 1 reply; 9+ messages in thread
From: Frederic Weisbecker @ 2010-06-08 20:13 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: LKML, Frederic Weisbecker, Steven Rostedt, Peter Zijlstra,
	Paul Mackerras, Arnaldo Carvalho de Melo

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 2558 bytes --]

Ingo,

Please pull the perf/core branch that can be found at:

git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing.git
	perf/core

I'm only posting Oleg's patches as only those are new in my queues.

Thanks,
	Frederic
---

Frederic Weisbecker (2):
      x86: Unify dumpstack.h and stacktrace.h
      perf: Drop the skip argument from perf_arch_fetch_regs_caller

Oleg Nesterov (2):
      x86: Make save_stack_address() !CONFIG_FRAME_POINTER friendly
      x86: Unify save_stack_address() and save_stack_address_nosched()

Américo Wang (1):
      tracing: Remove boot tracer

Li Zefan (1):
      tracing: Remove kmemtrace ftrace plugin


 Documentation/ABI/testing/debugfs-kmemtrace |   71 ----
 Documentation/trace/kmemtrace.txt           |  126 -------
 MAINTAINERS                                 |    7 -
 arch/powerpc/include/asm/perf_event.h       |   12 +
 arch/powerpc/kernel/misc.S                  |   26 --
 arch/sparc/include/asm/perf_event.h         |    8 +
 arch/sparc/kernel/helpers.S                 |    6 +-
 arch/x86/include/asm/perf_event.h           |   13 +
 arch/x86/include/asm/stacktrace.h           |   49 +++
 arch/x86/kernel/cpu/perf_event.c            |   18 -
 arch/x86/kernel/dumpstack.c                 |    1 -
 arch/x86/kernel/dumpstack.h                 |   56 ---
 arch/x86/kernel/dumpstack_32.c              |    2 -
 arch/x86/kernel/dumpstack_64.c              |    1 -
 arch/x86/kernel/stacktrace.c                |   31 +-
 include/linux/kmemtrace.h                   |   25 --
 include/linux/perf_event.h                  |   32 +--
 include/linux/slab_def.h                    |    3 +-
 include/linux/slub_def.h                    |    3 +-
 include/trace/boot.h                        |   60 ---
 include/trace/ftrace.h                      |    2 +-
 init/main.c                                 |   29 +-
 kernel/perf_event.c                         |    5 -
 kernel/trace/Kconfig                        |   37 --
 kernel/trace/Makefile                       |    2 -
 kernel/trace/kmemtrace.c                    |  529 ---------------------------
 kernel/trace/trace.c                        |    3 -
 kernel/trace/trace.h                        |   20 -
 kernel/trace/trace_boot.c                   |  185 ----------
 kernel/trace/trace_entries.h                |   62 ----
 kernel/trace/trace_event_perf.c             |    2 -
 mm/slab.c                                   |    1 -
 mm/slub.c                                   |    1 -
 33 files changed, 123 insertions(+), 1305 deletions(-)

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2010-06-09 18:18 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-06-03 19:32 [PATCH 1/2] x86: make save_stack_address() !CONFIG_FRAME_POINTER friendly Oleg Nesterov
2010-06-03 19:52 ` Frederic Weisbecker
2010-06-03 19:53 ` Arjan van de Ven
2010-06-03 20:06   ` Frederic Weisbecker
2010-06-03 20:31     ` Oleg Nesterov
2010-06-03 20:50       ` Frederic Weisbecker
2010-06-03 20:59         ` Oleg Nesterov
2010-06-09 18:17 ` [tip:perf/core] x86: Make " tip-bot for Oleg Nesterov
  -- strict thread matches above, loose matches on Subject: below --
2010-06-08 20:13 [GIT PULL] perf updates Frederic Weisbecker
2010-06-08 20:13 ` [PATCH 1/2] x86: Make save_stack_address() !CONFIG_FRAME_POINTER friendly Frederic Weisbecker

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.