PowerPC, P2020RDB, application debug when the application is in tight loop, Sysrq
saikrishna gajula
saysai.gajula at gmail.com
Wed Apr 17 15:04:10 EST 2013
HI All,
I am new to this group. I am working on Freescale P2020
platform running linux 2.6.21. I am looking for debug mechanism/utility,
when a multi threaded application running on linux , appears to be hung (
running in a tight loop,deadlock) while not able to access the board
through serial/SSH/Telnet.
I was looking at Magic sysrq option in linux to generate the stack,
register dump when the application is hung. I am able to dump the call
trace in normal working conditions. But i can't use echo t >
/proc/sysrq-trigger and debug when the application hung.
I am using below piece of code(drivers/serial/8250.c) on P2020RDB to debug
the application where in , in hung situation, when i press 'y' followed by
't' on serial console it should go to sysrq handler, and dump the call
trace, but it is not happening.(simply board hung)
{
if(sysrq_enable_flag)
handle_sysrq(ch, up->port.info->tty);
sysrq_enable_flag = 0;
if(ch == 'y')
sysrq_enable_flag = 1;
}
It would be helpful if you provide any hint on the issue, or any other way
to debug the application in hang situations.
Thanks,
Sai
On Tue, Apr 16, 2013 at 9:24 PM, Anshuman Khandual <
khandual at linux.vnet.ibm.com> wrote:
> Branch History Rolling Buffer (BHRB) is a new PMU feaure
> in IBM
> POWER8 processor which records the branch instructions inside the execution
> pipeline. This patchset enables the basic functionality of the feature
> through
> generic perf branch stack sampling framework.
>
> Sample output
> -------------
> $./perf record -b top
> $./perf report
>
> Overhead Command Source Shared Object Source
> Symbol Target Shared Object Target Symbol
> # ........ ....... ....................
> ...................................... ....................
> ...................................
> #
>
> 7.82% top libc-2.11.2.so [k] _IO_vfscanf
> libc-2.11.2.so [k] _IO_vfscanf
> 6.17% top libc-2.11.2.so [k] _IO_vfscanf
> [unknown] [k] 00000000
> 2.37% top [unknown] [k] 0xf7aafb30
> [unknown] [k] 00000000
> 1.80% top [unknown] [k] 0x0fe07978
> libc-2.11.2.so [k] _IO_vfscanf
> 1.60% top libc-2.11.2.so [k] _IO_vfscanf
> [kernel.kallsyms] [k] .do_task_stat
> 1.20% top [kernel.kallsyms] [k] .do_task_stat
> [kernel.kallsyms] [k] .do_task_stat
> 1.02% top libc-2.11.2.so [k] vfprintf
> libc-2.11.2.so [k] vfprintf
> 0.92% top top [k] _init
> [unknown] [k] 0x0fe037f4
>
> Changes in V2
> --------------
> - Added copyright messages to the newly created files
> - Modified couple of commit messages
>
> Anshuman Khandual (5):
> powerpc, perf: Add new BHRB related instructions on POWER8
> powerpc, perf: Add basic assembly code to read BHRB entries on POWER8
> powerpc, perf: Add new BHRB related generic functions, data and flags
> powerpc, perf: Define BHRB generic functions, data and flags for POWER8
> powerpc, perf: Enable branch stack sampling framework support with BHRB
>
> arch/powerpc/include/asm/perf_event_server.h | 6 ++
> arch/powerpc/include/asm/ppc-opcode.h | 7 ++
> arch/powerpc/perf/Makefile | 2 +-
> arch/powerpc/perf/bhrb.S | 44 +++++++++++++
> arch/powerpc/perf/core-book3s.c | 96
> +++++++++++++++++++++++++++-
> arch/powerpc/perf/perf_event_bhrb.c | 85 ++++++++++++++++++++++++
> arch/powerpc/perf/power8-pmu.c | 57 ++++++++++++++++-
> 7 files changed, 292 insertions(+), 5 deletions(-)
> create mode 100644 arch/powerpc/perf/bhrb.S
> create mode 100644 arch/powerpc/perf/perf_event_bhrb.c
>
> --
> 1.7.11.7
>
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev at lists.ozlabs.org
> https://lists.ozlabs.org/listinfo/linuxppc-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ozlabs.org/pipermail/linuxppc-dev/attachments/20130417/a0504b47/attachment.html>
More information about the Linuxppc-dev
mailing list