----- Original Message ----- > On Wed, Jun 29, 2016 at 05:25:27PM -0400, Dave Anderson wrote: > > > > > > Hi Takahiro, > > > > Here is another thing that I would prefer not to change/omit. > > > > In the current code, the raw exception frame data is dumped as > > part of the "bt -[fF]" output, just prior to it being translated > > as an exception frame: > > > > crash> bt -F > > PID: 1223 TASK: ffff800020ef5780 CPU: 3 COMMAND: "sh" > > ... [ cut ] ... > > #5 [ffff800020b0bb70] do_mem_abort at ffff00000808128c > > ffff800020b0bb70: ffff800020b0bd40 el1_da+24 > > ffff800020b0bb80: cpu_cgrp_subsys+152 0000000000000063 > > ffff800020b0bb90: ffff800020b0bd40 sysrq_handle_crash+32 > > ffff800020b0bba0: 0000000000000002 textbuf.34610 > > ffff800020b0bbb0: ffff800020b0bbd0 kallsyms_token_index+43128 > > ffff800020b0bbc0: 000000000000000f 0000000100000000 > > ffff800020b0bbd0: ffff800020b0bc70 vprintk_default+56 > > ffff800020b0bbe0: cpu_cgrp_subsys+152 0000000000000063 > > ffff800020b0bbf0: sysrq_crash_op 0000000000000009 > > ffff800020b0bc00: 0000000000000000 0000000000000015 > > ffff800020b0bc10: 0000000000000120 0000000000000040 > > ffff800020b0bc20: 0000000000000001 0000000000000000 > > ffff800020b0bc30: log_wait+8 0000000000000000 > > ffff800020b0bc40: 0000000000000000 00000000000047d4 > > ffff800020b0bc50: ffff800022f337a4 0000000000000000 > > ffff800020b0bc60: 0000000000000106 0000000000000001 > > ffff800020b0bc70: 0000000000000002 0000000000000106 > > ffff800020b0bc80: log_buf_len cont > > ffff800020b0bc90: 0000ffff83cc28f0 text.34829+13 > > ffff800020b0bca0: sys_write 0000ffff83d266c0 > > ffff800020b0bcb0: 0000000000000006 cpu_cgrp_subsys+152 > > ffff800020b0bcc0: 0000000000000063 sysrq_crash_op > > ffff800020b0bcd0: 0000000000000009 0000000000000000 > > ffff800020b0bce0: 0000000000000015 0000000000000120 > > ffff800020b0bcf0: 0000000000000040 sys_call_table > > ffff800020b0bd00: ffff800020b08000 ffff800020b0bd40 > > ffff800020b0bd10: sysrq_handle_crash+12 ffff800020b0bd40 > > ffff800020b0bd20: sysrq_handle_crash+32 0000000060400149 > > ffff800020b0bd30: cpu_cgrp_subsys+152 [kmalloc-1024] > > #6 [ffff800020b0bd40] el1_da at ffff000008084568 > > PC: ffff000008457fc8 [sysrq_handle_crash+32] > > LR: ffff000008457fb4 [sysrq_handle_crash+12] > > SP: ffff800020b0bd40 PSTATE: 60400149 > > X29: ffff800020b0bd40 X28: ffff800020b08000 X27: ffff0000087e2000 > > X26: 0000000000000040 X25: 0000000000000120 X24: 0000000000000015 > > X23: 0000000000000000 X22: 0000000000000009 X21: ffff000008e071b0 > > X20: 0000000000000063 X19: ffff000008dda000 X18: 0000000000000006 > > X17: 0000ffff83d266c0 X16: ffff0000081c68b8 X15: ffff000008e6cc95 > > X14: 0000ffff83cc28f0 X13: ffff000008e6c758 X12: ffff000008dda7a0 > > X11: 0000000000000106 X10: 0000000000000002 X9: 0000000000000001 > > X8: 0000000000000106 X7: 0000000000000000 X6: ffff800022f337a4 > > X5: 00000000000047d4 X4: 0000000000000000 X3: 0000000000000000 > > X2: ffff000008dda7b8 X1: 0000000000000000 X0: 0000000000000001 > > ORIG_X0: ffff000008dda000 SYSCALLNO: ffff80002104d418 > > ... > > > > whereas with the v5 patchset, the exception frame only gets translated, > > but the actual raw memory never gets dumped: > > I surely remember that you said that would not be an issue > when I submitted older version, maybe v1 or v2. > > > > crash> bt -F > > PID: 1223 TASK: ffff800020ef5780 CPU: 3 COMMAND: "sh" > > ... [ cut ] ... > > #5 [ffff800020b0bb70] do_mem_abort at ffff000008081288 > > ffff800020b0bb70: ffff800020b0bd40 el1_da+24 > > ffff800020b0bb80: cpu_cgrp_subsys+152 0000000000000063 > > ffff800020b0bb90: ffff800020b0bd40 sysrq_handle_crash+32 > > ffff800020b0bba0: 0000000000000002 textbuf.34610 > > ffff800020b0bbb0: ffff800020b0bbd0 kallsyms_token_index+43128 > > ffff800020b0bbc0: 000000000000000f 0000000100000000 > > ffff800020b0bbd0: ffff800020b0bc70 vprintk_default+56 > > ffff800020b0bbe0: cpu_cgrp_subsys+152 0000000000000063 > > ffff800020b0bbf0: sysrq_crash_op 0000000000000009 > > ffff800020b0bc00: 0000000000000000 0000000000000015 > > ffff800020b0bc10: 0000000000000120 0000000000000040 > > #6 [ffff800020b0bc20] el1_da at ffff000008084564 > > Do you think that those symbolic display are still useful > though it is not quite easy to recognize which register has what value? > > Even more, <ffff800020b0bb80-ffff800020b0bc10> is *not* a stack for > do_mem_abort(). It is just wrong and will confuse people. > So this is another example of improvement on my patches. > > > --- <Exception in kernel> --- > > PC: ffff000008457fc8 [sysrq_handle_crash+32] > > LR: ffff000008457fb4 [sysrq_handle_crash+12] > > SP: ffff800020b0bd40 PSTATE: 60400149 > > X29: ffff800020b0bd40 X28: ffff800020b08000 X27: ffff0000087e2000 > > X26: 0000000000000040 X25: 0000000000000120 X24: 0000000000000015 > > X23: 0000000000000000 X22: 0000000000000009 X21: ffff000008e071b0 > > X20: 0000000000000063 X19: ffff000008dda000 X18: 0000000000000006 > > X17: 0000ffff83d266c0 X16: ffff0000081c68b8 X15: ffff000008e6cc95 > > X14: 0000ffff83cc28f0 X13: ffff000008e6c758 X12: ffff000008dda7a0 > > X11: 0000000000000106 X10: 0000000000000002 X9: 0000000000000001 > > X8: 0000000000000106 X7: 0000000000000000 X6: ffff800022f337a4 > > X5: 00000000000047d4 X4: 0000000000000000 X3: 0000000000000000 > > X2: ffff000008dda7b8 X1: 0000000000000000 X0: 0000000000000001 > > ... > > > > It's actually helpful being able to dump the exception frame data with > > "bt -F" to show symbolic references that are found within the exception > > frame itself. > > IMO I think that you'd better improve the output of > arm64_print_exception_frame() for bt -F. > And this is an totally independent issue from other parts of my patches. > > -Takahiro AKASHI > > > Dave > > > > -- > > Crash-utility mailing list > > Crash-utility@xxxxxxxxxx > > https://www.redhat.com/mailman/listinfo/crash-utility > > -- > Crash-utility mailing list > Crash-utility@xxxxxxxxxx > https://www.redhat.com/mailman/listinfo/crash-utility > -- Crash-utility mailing list Crash-utility@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/crash-utility