Hi Alexey,

On Thu, May 1, 2025 at 7:32 PM Alexey Makhalov
<alexey.makha...@broadcom.com> wrote:
>
> Hi Tao, thanks for the update.
>
> Do you guys discuss it through some channels other than Crash-utility
> mailing list?

Yes, through an internal slack channel, because I and Lianbo are in
the same company...

>
> I tested your patches v2 on top of crash-9.0. It is directly applicable
> and no issues or concerns at runtime. And silent bt seems working. LGTM.

Wow, that's good news, thanks a lot for your testing! Anyway, I need
to run it against a bunch of regression tests, which is the one I run
every time before the new version of crash release. In addition, I'm
currently working on some other tasks, I will back and handle this
patchset in a short while. Sorry again for the delay of the patchset.

Thanks,
Tao Liu

>
> Regards,
> --Alexey
>
> On 4/30/25 9:22 PM, Tao Liu wrote:
> > Hi Alexey,
> >
> > The patchset needs to be rebased after upgrading the gdb into version
> > v16.2. If we put the "multi-stack unwinding" together with gdb
> > upgrading, there will be too much modification for one release. So we
> > decided to defer the "multi-stack unwinding" after gdb upgrading. I
> > think I will rebase and re-post the "multi-stack" patches later.
> >
> > Thanks,
> > Tao Liu
> >
> > On Thu, May 1, 2025 at 9:25 AM Alexey Makhalov
> > <alexey.makha...@broadcom.com> wrote:
> >>
> >> Hello Tao and folks!
> >>
> >> What is the status of this patchset? I expected to see it in 9.0.
> >>
> >> Thanks,
> >> --Alexey
> >>
> >>
> >> On 2/20/25 1:44 PM, Tao Liu wrote:
> >>> This patchset is based on Alexy's work [1], and is the follow-up of the
> >>> previous "gdb stack unwinding support for crash utility" patchset.
> >>>
> >>> Currently gdb target analyzes only one task at a time and it backtraces
> >>> only straight stack until end of the stack. If stacks were concatenated
> >>> during exceptions or interrupts, gdb bt will show only the topmost one.
> >>>
> >>> This patchset will introduce multiple stacks support for gdb stack 
> >>> unwinding,
> >>> which can be observed as a different threads from gdb perspective. A
> >>> short usage is as follows:
> >>>
> >>>       'set <PID>'        - to switch to a specific task
> >>>       'gdb info threads' - to see list of in-kernel stacks of this task.
> >>>       'gdb thread <ID>'  - to switch to the stack.
> >>>       'gdb bt'           - to unwind it.
> >>>
> >>> E.g, with the patchset:
> >>>
> >>> crash> bt
> >>> PID: 17636    TASK: ffff88032e0742c0  CPU: 11   COMMAND: "kworker/11:4"
> >>>    #0 [ffff88037fca6b58] machine_kexec at ffffffff8103cef2
> >>>    #1 [ffff88037fca6ba8] crash_kexec at ffffffff810c9aa3
> >>>    #2 [ffff88037fca6c70] panic at ffffffff815f0444
> >>>    ...
> >>>    #9 [ffff88037fca6ec8] do_nmi at ffffffff815fd980
> >>> #10 [ffff88037fca6ef0] end_repeat_nmi at ffffffff815fcec1
> >>>       [exception RIP: memcpy+13]
> >>>       RIP: ffffffff812f5b1d  RSP: ffff88034f2a9728  RFLAGS: 00010046
> >>>       RAX: ffffc900139fe000  RBX: ffff880374b7a1b0  RCX: 0000000000000030
> >>>       RBP: ffff88034f2a9778   R8: 000000007fffffff   R9: 00000000ffffffff
> >>>       ...
> >>>       ORIG_RAX: ffffffffffffffff  CS: 0010  SS: 0018
> >>> --- <NMI exception stack> ---
> >>> #11 [ffff88034f2a9728] memcpy at ffffffff812f5b1d
> >>> #12 [ffff88034f2a9728] mga_dirty_update at ffffffffa024ad2b [mgag200]
> >>> #13 [ffff88034f2a9780] mga_imageblit at ffffffffa024ae3f [mgag200]
> >>> #14 [ffff88034f2a97a0] bit_putcs at ffffffff813424ef
> >>> ...
> >>>
> >>> crash> info threads
> >>>     Id   Target Id                    Frame
> >>> * 1    17636 kworker/11:4 (stack 0) crash_setup_regs (oldregs=0x0, 
> >>> newregs=0xffff88037fca6bb0)
> >>>     2    17636 kworker/11:4 (stack 1) 0xffffffff812f5b1d in memcpy ()
> >>>
> >>> crash> thread 2
> >>> crash> gdb bt
> >>> #0  0xffffffff812f5b1d in memcpy () at arch/x86/lib/memcpy_64.S:69
> >>> ...
> >>>
> >>> There are 2 stacks of the current task, and we can list/switch-to/unwind
> >>> each stack.
> >>>
> >>> [1]: 
> >>> https://www.mail-archive.com/devel@lists.crash-utility.osci.io/msg01204.html
> >>>
> >>> v2 -> v1: 1) Rebase this patchset onto gdb-16.2 [2].
> >>>          2) Improved the silent_call_bt() to catch the error FATAL.
> >>>
> >>> [2]: 
> >>> https://www.mail-archive.com/devel@lists.crash-utility.osci.io/msg01354.html
> >>>
> >>> Tao Liu (5):
> >>>     Add multi-threads support in crash target
> >>>     Call cmd_bt silently after "set pid"
> >>>     x86_64: Add gdb multi-stack unwind support
> >>>     arm64: Add gdb multi-stack unwind support
> >>>     ppc64: Add gdb multi-stack unwind support
> >>>
> >>>    arm64.c         |  85 +++++++++++++++++++++++++++++++--
> >>>    crash_target.c  |  49 +++++++++++++++++--
> >>>    defs.h          |   3 +-
> >>>    gdb_interface.c |   6 +--
> >>>    kernel.c        |  43 +++++++++++++++++
> >>>    ppc64.c         |  70 +++++++++++++++++++++++----
> >>>    task.c          |   4 +-
> >>>    x86_64.c        | 123 +++++++++++++++++++++++++++++++++++++++++++++---
> >>>    8 files changed, 354 insertions(+), 29 deletions(-)
> >>>
> >> --
> >> Crash-utility mailing list -- devel@lists.crash-utility.osci.io
> >> To unsubscribe send an email to devel-le...@lists.crash-utility.osci.io
> >> https://${domain_name}/admin/lists/devel.lists.crash-utility.osci.io/
> >> Contribution Guidelines: https://github.com/crash-utility/crash/wiki
> >
>
--
Crash-utility mailing list -- devel@lists.crash-utility.osci.io
To unsubscribe send an email to devel-le...@lists.crash-utility.osci.io
https://${domain_name}/admin/lists/devel.lists.crash-utility.osci.io/
Contribution Guidelines: https://github.com/crash-utility/crash/wiki

Reply via email to