Linus,
Please pull the ftrace git tree from:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip.git tracing/for-linus
[ NOTE: please pull this only after the x86/for-linus and
sched/for-linus pulls, as it's a manual merge ontop of those branches. ]
This tree adds the ftrace framework and a couple of tracing plugins:
ftrace, latency tracer, x86/mmiotrace, irqs-off tracer, sysprof,
scheduler tracer.
Thanks,
Ingo
------------------>
Abhishek Sagar (15):
ftrace: safe traversal of ftrace_hash hlist
ftrace: fix updating of ftrace_update_cnt
ftrace: core support for ARM
ftrace: distinguish kretprobe'd functions in trace logs
ftrace: export kretprobe_trampoline for function tracer
ftrace: prevent freeing of all failed updates
ftrace: remove ftrace_ip_converted()
ftrace: add debugfs entry 'failures'
ftrace: prevent freeing of all failed updates
ftrace: fix "notrace" filtering priority
ftrace: store mcount address in rec->ip
kprobes: enable clean usage of get_kprobe
ftrace: freeze kprobe'd records
ftrace: avoid modifying kprobe'd records
ftrace: prevent ftrace modifications while being kprobe'd, v2
Ankita Garg (2):
ftrace: fix conversion of task state to char in latency tracer
ftrace: disable tracing when current_tracer is set to "none"
Arnaldo Carvalho de Melo (2):
ftrace: annotate core code that should not be traced
ftrace: add basic support for gcc profiler instrumentation
David Miller (2):
ftrace: remove packed attribute on ftrace_page.
sparc64: add ftrace support.
Ingo Molnar (70):
sched: add latency tracer callbacks to the scheduler
tracing: add notrace to linkage.h
ftrace: fix kexec
ftrace: cleanups
ftrace: add README
ftrace: fix time offset
ftrace: fix locking
ftrace: cleanups
ftrace: timestamp syncing, prepare
ftrace: fast, scalable, synchronized timestamps
ftrace: remove-idx-sync
ftrace: clean-up-pipe-iteration
ftrace: add raw output
ftrace: bin-output
ftrace: add trace_special()
ftrace, locking fix
ftrace: use cpu clock again
ftrace: build fix
ftrace: introduce the "hex" output method
ftrace: build fix
ftrace: build fix
ftrace: cleanups
ftrace: disable -pg for the tracer itself
ftrace: remove notrace
ftrace: add wakeup events to sched tracer
ftrace: add stack tracing
ftrace: sched tracer fix
ftrace: make nostacktrace the default
ftrace: sched tracer, trace full rbtree
ftrace: trace curr/next tasks
ftrace: fix wakeups
ftrace: fix __trace_special()
ftrace: trace scheduler rbtree
ftrace: add tracing_cpumask
ftrace: make use of tracing_cpumask
ftrace: fix cmdline tracing
ftrace: iter ctrl fix
ftrace: include cpu in stacktrace
ftrace: sched tree fix
ftrace: sched special
ftrace: make it more available in the Kconfig
ftrace: remove add-hoc code
ftrace: restrict tracing to HAVE_FTRACE architectures
ftrace: cleanups
ftrace: trace faster
ftrace: special stacktrace
ftrace: stacktrace fix
ftrace: fix mcount export bug
ftrace: cleanups
ftrace: fix include file dependency
ftrace: fix build bug
ftrace: add sysprof plugin
ftrace: extend sysprof plugin
ftrace: extend sysprof plugin some more
ftrace: sysprof-plugin, add self-tests
ftrace: sysprof plugin improvement
ftrace: make sysprof dependent on x86 for now
ftrace: sysprof fix
ftrace: sysprof updates
sysprof: update copyrights
mmiotrace: ftrace fix
mmiotrace: cleanup
- fix mmioftrace + rcu merge interaction
sched: do not trace sched_clock
ftrace: fix merge
sched: sched_clock() lockdep fix
namespacecheck: fixes
ftrace: build fix with gcc 4.3
fix "ftrace: store mcount address in rec->ip"
ftrace: build fix for ftraced_suspend
Jiri Slaby (1):
ftrace: fix printout
Mathieu Desnoyers (3):
Markers - remove extra format argument
Markers - define non optimized marker
Port ftrace to markers
Pekka Paalanen (30):
x86: add a list for custom page fault handlers.
x86_64: fix kernel rodata NX setting
x86: fix SMP alternatives: use mutex instead of spinlock, text_poke is sleepable
ftrace: add readpos to struct trace_seq; add trace_seq_to_user()
x86: mmiotrace - trace memory mapped IO
x86 mmiotrace: use lookup_address()
x86 mmiotrace: fix relay-buffer-full flag for SMP
x86 mmiotrace: comment about user space ABI
x86: explicit call to mmiotrace in do_page_fault()
x86 mmiotrace: Use percpu instead of arrays.
x86: mmiotrace full patch, preview 1
x86: mmiotrace, preview 2
ftrace: add mmiotrace plugin
ftrace: mmiotrace, updates
ftrace: mmiotrace update, #2
x86 mmiotrace: move files into arch/x86/mm/.
x86 mmiotrace: remove ISA_trace parameter.
x86 mmiotrace: Do not print bogus pid
mmiotrace: add user documentation
x86 mmiotrace: dynamically disable non-boot CPUs
mmiotrace: print header using the read hook.
mmiotrace: print overrun counts
mmiotrace: do not print bogus pid for maps either
doc: update mmiotrace doc to current status
mmiotrace: code style cleanups
x86 mmiotrace: fix page-unaligned ioremaps
x86 mmiotrace: use resource_size_t for phys addresses
mmiotrace: rename kmmio_probe::user_data to :private.
x86 mmiotrace: page level is unsigned
mmiotrace broken in linux-next (8-bit writes only)
Peter Zijlstra (2):
ftrace: trace next state
ftrace: fix wakeup callback
Randy Dunlap (2):
mmiotrace: fix printk format
x86/mmiotrace: uses/depends on PCI
Soeren Sandmann (1):
ftrace/sysprof: don't trace the user stack if we are a kernel thread.
Soeren Sandmann Pedersen (2):
ftrace: allow the event pipe to be polled
sysprof: kernel trace
Steven Rostedt (90):
ftrace: make the task state char-string visible to all
ftrace: add preempt_enable/disable notrace macros
x86: add notrace annotations to vsyscall.
ftrace: latency tracer infrastructure
ftrace: function tracer
ftrace: add tracing of context switches
ftrace: tracer for scheduler wakeup latency
ftrace: trace irq disabled critical timings
ftrace: trace preempt off critical timings
ftrace: dynamic enabling/disabling of function calls
ftrace: add ftrace_enabled sysctl to disable mcount function
ftrace: use nops instead of jmp
ftrace: move memory management out of arch code
ftrace: use dynamic patching for updating mcount calls
ftrace: add filter select functions to trace
ftrace: convert single large buffer into single pages.
ftrace: debug smp_processor_id, use notrace preempt disable
ftrace: irqs off smp_processor_id() fix
ftrace: lockdep notrace annotations
ftrace: don't use raw_local_irq_save/restore
ftrace: fix updates to max trace
ftrace: fix max latency
ftrace: force recording
ftrace: add self-tests
ftrace: startup tester on dynamic tracing.
ftrace: disable all tracers on corrupted buffer
ftrace: reset selftests
ftrace: change buffers to producer consumer
ftrace: add a buffer for output
ftrace: user run time file reading
ftrace: pipe fixes
ftrace - fix dynamic ftrace memory leak
ftrace: disable tracing on failure
ftrace: enabled tracing by default
ftrace: add trace_function api for other tracers to use
ftrace: remove address of function names
ftrace: do not profile lib/string.o
ftrace: remove wakeup from function trace
ftrace: printk and trace irqsoff and wakeups
ftrace: add TRACE_STACK and TRACE_SPECIAL to selftest validation
ftrace: fix dynamic ftrace selftest
ftrace: irqsoff use raw_smp_processor_id
ftrace: user raw_spin_lock in tracing
ftrace: remove function tracing from spinlock debug
ftrace: use Makefile to remove tracing from lockdep
ftrace: add UNINTERRUPTIBLE state for kftraced on disable
ftrace: fix mutex unlock in trace output
ftrace: selftest protect againt max flip
ftrace: fix the fault label in updating code
ftrace: dont write protect kernel text
ftrace: allow trace_pipe to block on all reads
ftrace: restore iterator trace in pipe read
ftrace: return EOF in trace_pipe on change of tracer
ftrace: trace_pipe implement NONBLOCK
ftrace: user proper API for setting RT prios in selftest
ftrace: trace_entries to dynamically change trace buffer size
lockdep: update lockdep_recursion on graph_lock
ftrace: simple clean ups
ftrace: replace simple_strtoul with strict_strtoul
ftrace: modulize the number of CPU buffers
ftrace: comment code
ftrace: fix comm on function trace output
ftrace: add logic to record overruns
ftrace: add trace pipe header pluggin
ftrace: fix setting of pos in read_pipe
ftrace: use raw_smp_processor_id for mcount functions
ftrace: limit trace entries
ftrace, POWERPC: add irqs_disabled_flags to ppc
ftrace: support for PowerPC
kbuild: create new CFLAGS_REMOVE_(basename).o option
ftrace: use the new kbuild CFLAGS_REMOVE for kernel directory
ftrace: use the new kbuild CFLAGS_REMOVE for lib directory
ftrace: use the new kbuild CFLAGS_REMOVE for x86/kernel directory
ftrace: add have dynamic ftrace config for archs
ftrace: limit use of check pages
ftrace: move ftrace_special to trace.c
ftrace: add function tracing to wake up tracing
ftrace: remove printks from irqsoff trace
ftrace: set_ftrace_notrace feature
ftrace: fix up cmdline recording
ftrace: powerpc clean ups
ftrace: user update and disable dynamic ftrace daemon
ftrace: move sched_switch enable after markers
ftrace: define function trace nop
ftrace: trace schedule
ftrace: check proper config for preempt type
ftrace: start wakeup tracing after setting function tracer
ftrace: use current CPU for function startup
ftrace: add ftrace_kill_atomic
ftrace: separate out the function enabled variable
Thomas Gleixner (6):
ftrace: move enums to ftrace.h and make helper function global
ftrace: simplify hexprint
ftrace: remove notrace
ftrace: fix __trace_special()
ftrace: make it more available in the Kconfig
sysprof: make it depend on X86
Documentation/tracers/mmiotrace.txt | 164 ++
Makefile | 4 +
arch/arm/Kconfig | 2 +
arch/arm/boot/compressed/Makefile | 6 +
arch/arm/kernel/Makefile | 5 +
arch/arm/kernel/armksyms.c | 5 +
arch/arm/kernel/entry-common.S | 51 +
arch/arm/kernel/ftrace.c | 116 ++
arch/arm/kernel/kprobes.c | 2 +-
arch/powerpc/Kconfig | 4 +-
arch/powerpc/kernel/Makefile | 14 +
arch/powerpc/kernel/entry_32.S | 127 ++
arch/powerpc/kernel/entry_64.S | 65 +
arch/powerpc/kernel/ftrace.c | 154 ++
arch/powerpc/kernel/io.c | 3 +-
arch/powerpc/kernel/irq.c | 6 +-
arch/powerpc/kernel/ppc_ksyms.c | 5 +
arch/powerpc/kernel/setup_32.c | 6 +-
arch/powerpc/platforms/powermac/Makefile | 5 +
arch/sparc64/Kconfig | 2 +
arch/sparc64/Kconfig.debug | 2 +-
arch/sparc64/kernel/Makefile | 1 +
arch/sparc64/kernel/ftrace.c | 94 +
arch/sparc64/kernel/sparc64_ksyms.c | 4 +-
arch/sparc64/lib/mcount.S | 58 +-
arch/x86/Kconfig | 2 +
arch/x86/Kconfig.debug | 28 +
arch/x86/kernel/Makefile | 8 +
arch/x86/kernel/alternative.c | 22 +-
arch/x86/kernel/entry_32.S | 72 +
arch/x86/kernel/entry_64.S | 106 +
arch/x86/kernel/ftrace.c | 141 ++
arch/x86/kernel/i386_ksyms_32.c | 9 +-
arch/x86/kernel/machine_kexec_32.c | 4 +
arch/x86/kernel/machine_kexec_64.c | 4 +
arch/x86/kernel/process_32.c | 3 +
arch/x86/kernel/process_64.c | 3 +
arch/x86/kernel/vsyscall_64.c | 3 +-
arch/x86/kernel/x8664_ksyms_64.c | 11 +-
arch/x86/lib/Makefile | 1 +
arch/x86/lib/thunk_32.S | 47 +
arch/x86/lib/thunk_64.S | 19 +-
arch/x86/mm/Makefile | 5 +
arch/x86/mm/fault.c | 13 +
arch/x86/mm/init_32.c | 4 +
arch/x86/mm/init_64.c | 10 +-
arch/x86/mm/ioremap.c | 11 +-
arch/x86/mm/kmmio.c | 510 +++++
arch/x86/mm/mmio-mod.c | 515 +++++
arch/x86/mm/pageattr.c | 1 +
arch/x86/mm/pf_in.c | 489 +++++
arch/x86/mm/pf_in.h | 39 +
arch/x86/mm/testmmiotrace.c | 71 +
arch/x86/vdso/vclock_gettime.c | 15 +-
arch/x86/vdso/vgetcpu.c | 3 +-
include/asm-arm/ftrace.h | 14 +
include/asm-arm/kprobes.h | 1 +
include/asm-powerpc/ftrace.h | 14 +
include/asm-powerpc/hw_irq.h | 10 +
include/asm-sparc64/ftrace.h | 14 +
include/asm-x86/alternative.h | 2 +
include/asm-x86/ftrace.h | 14 +
include/asm-x86/irqflags.h | 24 +-
include/asm-x86/vsyscall.h | 3 +-
include/linux/ftrace.h | 144 ++
include/linux/irqflags.h | 13 +-
include/linux/kprobes.h | 4 +
include/linux/linkage.h | 2 +
include/linux/marker.h | 40 +-
include/linux/mmiotrace.h | 85 +
include/linux/preempt.h | 34 +-
include/linux/sched.h | 16 +
include/linux/writeback.h | 2 +
kernel/Makefile | 14 +
kernel/fork.c | 2 +-
kernel/lockdep.c | 33 +-
kernel/marker.c | 30 +-
kernel/printk.c | 2 +
kernel/sched.c | 55 +-
kernel/semaphore.c | 1 +
kernel/spinlock.c | 2 +-
kernel/sysctl.c | 11 +
kernel/trace/Kconfig | 135 ++
kernel/trace/Makefile | 24 +
kernel/trace/ftrace.c | 1727 ++++++++++++++++
kernel/trace/trace.c | 3161 ++++++++++++++++++++++++++++++
kernel/trace/trace.h | 339 ++++
kernel/trace/trace_functions.c | 81 +
kernel/trace/trace_irqsoff.c | 486 +++++
kernel/trace/trace_mmiotrace.c | 295 +++
kernel/trace/trace_sched_switch.c | 286 +++
kernel/trace/trace_sched_wakeup.c | 448 +++++
kernel/trace/trace_selftest.c | 563 ++++++
kernel/trace/trace_selftest_dynamic.c | 7 +
kernel/trace/trace_sysprof.c | 363 ++++
lib/Kconfig.debug | 2 +
lib/Makefile | 9 +
lib/smp_processor_id.c | 6 +-
mm/page-writeback.c | 10 +-
scripts/Makefile.lib | 3 +-
100 files changed, 11490 insertions(+), 115 deletions(-)
create mode 100644 Documentation/tracers/mmiotrace.txt
create mode 100644 arch/arm/kernel/ftrace.c
create mode 100644 arch/powerpc/kernel/ftrace.c
create mode 100644 arch/sparc64/kernel/ftrace.c
create mode 100644 arch/x86/kernel/ftrace.c
create mode 100644 arch/x86/lib/thunk_32.S
create mode 100644 arch/x86/mm/kmmio.c
create mode 100644 arch/x86/mm/mmio-mod.c
create mode 100644 arch/x86/mm/pf_in.c
create mode 100644 arch/x86/mm/pf_in.h
create mode 100644 arch/x86/mm/testmmiotrace.c
create mode 100644 include/asm-arm/ftrace.h
create mode 100644 include/asm-powerpc/ftrace.h
create mode 100644 include/asm-sparc64/ftrace.h
create mode 100644 include/asm-x86/ftrace.h
create mode 100644 include/linux/ftrace.h
create mode 100644 include/linux/mmiotrace.h
create mode 100644 kernel/trace/Kconfig
create mode 100644 kernel/trace/Makefile
create mode 100644 kernel/trace/ftrace.c
create mode 100644 kernel/trace/trace.c
create mode 100644 kernel/trace/trace.h
create mode 100644 kernel/trace/trace_functions.c
create mode 100644 kernel/trace/trace_irqsoff.c
create mode 100644 kernel/trace/trace_mmiotrace.c
create mode 100644 kernel/trace/trace_sched_switch.c
create mode 100644 kernel/trace/trace_sched_wakeup.c
create mode 100644 kernel/trace/trace_selftest.c
create mode 100644 kernel/trace/trace_selftest_dynamic.c
create mode 100644 kernel/trace/trace_sysprof.c
Hi Ingo, Steven, everyone,
[ Please CC me in replies ]
I have just tracked down a regression in 2.6.27-rc2 wrt 2.6.26. Commit
77a2b37d227483fe52aead242652aee406c25bf0 (ftrace: startup tester on dynamic
tracing.) causes my laptop to fail to resume from S3 (it simply reboots about
a second after the resume starts and the display never shows anything).
The patch doesn't revert with patch -R (I don't know if there's a cleverer way
to ask git to revert it), but the problem goes away if I turn off
CONFIG_DYNAMIC_FTRACE.
The commit and bisect log are attached. Please can you help me to debug this?
Cheers,
Bruce
* Bruce Duncan <[email protected]> wrote:
> Hi Ingo, Steven, everyone,
>
> [ Please CC me in replies ]
>
> I have just tracked down a regression in 2.6.27-rc2 wrt 2.6.26. Commit
> 77a2b37d227483fe52aead242652aee406c25bf0 (ftrace: startup tester on
> dynamic tracing.) causes my laptop to fail to resume from S3 (it
> simply reboots about a second after the resume starts and the display
> never shows anything).
>
> The patch doesn't revert with patch -R (I don't know if there's a
> cleverer way to ask git to revert it), but the problem goes away if I
> turn off CONFIG_DYNAMIC_FTRACE.
>
> The commit and bisect log are attached. Please can you help me to
> debug this?
could you please send your .config file as well?
Suspend+resume bugs are notoriously hard to debug (there's no console
output in most cases), so i guess the best way to debug this is for
Steve or me to try to reproduce it. Could you send the output of this
script:
http://people.redhat.com/mingo/cfs-scheduler/tools/cfs-debug-info.sh
that will tell us what kind of hw you have.
and could you perhaps try the patch below? The patch disables on the fly
dynamic code patching - which is the primary suspect here. If it makes a
difference on your box then a theory would be that ftraced runs too soon
after suspend+resume.
Ingo
----------------------->
Subject: ftrace: debug
From: Ingo Molnar <[email protected]>
Date: Wed Aug 13 09:17:12 CEST 2008
Signed-off-by: Ingo Molnar <[email protected]>
---
kernel/trace/ftrace.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: linux/kernel/trace/ftrace.c
===================================================================
--- linux.orig/kernel/trace/ftrace.c
+++ linux/kernel/trace/ftrace.c
@@ -811,7 +811,7 @@ static int ftraced(void *ignore)
/* check once a second */
schedule_timeout(HZ);
- if (unlikely(ftrace_disabled))
+ if (1)
continue;
mutex_lock(&ftrace_sysctl_lock);
Bruce Duncan wrote:
> Hi Ingo, Steven, everyone,
>
> [ Please CC me in replies ]
>
> I have just tracked down a regression in 2.6.27-rc2 wrt 2.6.26. Commit
> 77a2b37d227483fe52aead242652aee406c25bf0 (ftrace: startup tester on dynamic
> tracing.) causes my laptop to fail to resume from S3 (it simply reboots about
> a second after the resume starts and the display never shows anything).
>
> The patch doesn't revert with patch -R (I don't know if there's a cleverer way
> to ask git to revert it), but the problem goes away if I turn off
> CONFIG_DYNAMIC_FTRACE.
>
> The commit and bisect log are attached. Please can you help me to debug this?
>
>
>
I found that I have a box that displays this bug. Without FTRACE it
suspends and resumes fine. With FTRACE enabled, it does not.
I'll be actively debugging it now. (unfortunately, as with all new
laptops, I don't have a serial for it).
-- Steve
* Steven Rostedt <[email protected]> wrote:
> Bruce Duncan wrote:
>> Hi Ingo, Steven, everyone,
>>
>> [ Please CC me in replies ]
>>
>> I have just tracked down a regression in 2.6.27-rc2 wrt 2.6.26. Commit
>> 77a2b37d227483fe52aead242652aee406c25bf0 (ftrace: startup tester on
>> dynamic tracing.) causes my laptop to fail to resume from S3 (it simply
>> reboots about a second after the resume starts and the display never
>> shows anything).
>>
>> The patch doesn't revert with patch -R (I don't know if there's a
>> cleverer way to ask git to revert it), but the problem goes away if I
>> turn off CONFIG_DYNAMIC_FTRACE.
>>
>> The commit and bisect log are attached. Please can you help me to debug this?
>>
>>
>>
>
> I found that I have a box that displays this bug. Without FTRACE it
> suspends and resumes fine. With FTRACE enabled, it does not.
>
> I'll be actively debugging it now. (unfortunately, as with all new
> laptops, I don't have a serial for it).
try latest tip/master plus an USB debug key, then enable
CONFIG_EARLY_PRINTK_DBGP=y in your .config on the host, add the
earlyprintk=dbgp,keep boot parameter and reboot [and disable USB for
good measure]. On the other host you connect to via an USB cable, enable
USB_SERIAL_DEBUG=y and use /dev/ttyUSB0 with the serial terminal app of
your choice.
that, as long as the USB ports are operational, gives a working serial
console on just about any laptop.
Ingo
Bruce Duncan wrote:
> Hi Ingo, Steven, everyone,
>
> [ Please CC me in replies ]
>
> I have just tracked down a regression in 2.6.27-rc2 wrt 2.6.26. Commit
> 77a2b37d227483fe52aead242652aee406c25bf0 (ftrace: startup tester on dynamic
> tracing.) causes my laptop to fail to resume from S3 (it simply reboots about
> a second after the resume starts and the display never shows anything).
>
> The patch doesn't revert with patch -R (I don't know if there's a cleverer way
> to ask git to revert it), but the problem goes away if I turn off
> CONFIG_DYNAMIC_FTRACE.
>
> The commit and bisect log are attached. Please can you help me to debug this?
>
Hi Bruce,
Seems that the issue is with the "ftraced" daemon. The patch you
reverted was just a fix in the ftrace startup test. If something fails
in the start up test, that something is disabled. There was a bug in
the start up test that caused the dynamic ftrace to fail, and thus
disabling dynamic ftrace. The patch you reverted, was the fix to that
bug, so you indirectly disabled dynamic ftrace with that revert.
I've been developing a way to get rid of the "ftraced" daemon. Here's a
big patch to do so against latest git (as of today). Can you go back to
the original git, apply this patch and see if you can resume again.
After applying this patch you need to do a "chmod +x
scripts/recordmcount.pl" before compiling.
Thanks,
-- Steve
Note: my goodmis.org account is currently offline :-( so I'm sending
this from my redhat account, where I use TB. I have yet to figure out
how to send a patch inline correctly with TB, so I'm attaching it.
On Wednesday 13 August 2008 18:15:14 Steven Rostedt wrote:
> Seems that the issue is with the "ftraced" daemon. The patch you
> reverted was just a fix in the ftrace startup test. If something fails
> in the start up test, that something is disabled. There was a bug in
> the start up test that caused the dynamic ftrace to fail, and thus
> disabling dynamic ftrace. The patch you reverted, was the fix to that
> bug, so you indirectly disabled dynamic ftrace with that revert.
>
> I've been developing a way to get rid of the "ftraced" daemon. Here's a
> big patch to do so against latest git (as of today). Can you go back to
> the original git, apply this patch and see if you can resume again.
I've been following that thread with great interest! Glad to see it's taking
shape.
The patch works beautifully. Thanks very much!
Bruce
> After applying this patch you need to do a "chmod +x
> scripts/recordmcount.pl" before compiling.
>
> Thanks,
>
> -- Steve
>
>
> Note: my goodmis.org account is currently offline :-( so I'm sending
> this from my redhat account, where I use TB. I have yet to figure out
> how to send a patch inline correctly with TB, so I'm attaching it.
Ingo Molnar <[email protected]> writes:
>
> try latest tip/master plus an USB debug key, then enable
> CONFIG_EARLY_PRINTK_DBGP=y in your .config on the host, add the
> earlyprintk=dbgp,keep boot parameter and reboot [and disable USB for
> good measure]. On the other host you connect to via an USB cable, enable
> USB_SERIAL_DEBUG=y and use /dev/ttyUSB0 with the serial terminal app of
> your choice.
>
> that, as long as the USB ports are operational, gives a working serial
> console on just about any laptop.
Unfortunately the usb debug dongle cables are hard to get and
expensive. A more available alternative would be to use firescope if
your laptop has firewire, because firewire cables are widely
available. The kernel supports early firewire since some time too, so
it can be even used for early debugging. Another advantage is that
firescope can even get data from a dead kernel as long as the firewire
hardware is not disabled.
For details see Documentation/debugging-via-ohci1394.txt
-Andi
* Bruce Duncan <[email protected]> wrote:
> On Wednesday 13 August 2008 18:15:14 Steven Rostedt wrote:
> > Seems that the issue is with the "ftraced" daemon. The patch you
> > reverted was just a fix in the ftrace startup test. If something fails
> > in the start up test, that something is disabled. There was a bug in
> > the start up test that caused the dynamic ftrace to fail, and thus
> > disabling dynamic ftrace. The patch you reverted, was the fix to that
> > bug, so you indirectly disabled dynamic ftrace with that revert.
> >
> > I've been developing a way to get rid of the "ftraced" daemon. Here's a
> > big patch to do so against latest git (as of today). Can you go back to
> > the original git, apply this patch and see if you can resume again.
>
> I've been following that thread with great interest! Glad to see it's
> taking shape.
>
> The patch works beautifully. Thanks very much!
it's now integrated into tip/master (with a few other ftrace goodies),
if you want to test the end result check out tip/master via:
http://people.redhat.com/mingo/tip.git/README
Ingo