gpt4 book ai didi

linux - 内核调用跟踪中的两个地址

转载 作者:太空宇宙 更新时间:2023-11-04 10:51:17 26 4
gpt4 key购买 nike

在下面的调用跟踪中,我看到调用跟踪中每个函数名前有两个地址。发现第二个地址是调用函数返回后继续执行的下一条指令地址。第一个地址是什么?

还有关于如何调试这个“原子调度”问题的提示吗?

May  7 16:40:33.955415 err TCU-0 kernel: BUG: scheduling while atomic: logf/153/0x00000103
May 7 16:40:33.955415 warn TCU-0 kernel: Modules linked in: 8021q JbondDriver(P) linux_kernel_bde(P) linux_user_bde(P) ipmi_watchdog netconsole bdspboard dspcontrol bdsprio rdbus rddrv_p2020 rdsw tsi577_enea rddev_66xx riodev linx linx_eth_cm dmxmsg_core dmxmsg_po(P) dmxmsg_devif [last unloaded: tsi577]
May 7 16:40:33.955415 warn TCU-0 kernel: NIP: c040d510 LR: c00469ac CTR: c004686c
May 7 16:40:33.955415 warn TCU-0 kernel: REGS: cf83dd10 TRAP: 0501 Tainted: P (2.6.34.15-WR4.3.fp_ppc_adsp2_standard-00145-g4700c91)
May 7 16:40:33.955415 warn TCU-0 kernel: MSR: 00029000 <EE,ME,CE> CR: 24000a88 XER: 00000000
May 7 16:40:33.955415 warn TCU-0 kernel: TASK = ce630000[153] 'logf' THREAD: cf83c000 CPU: 0
May 7 16:40:33.955415 warn TCU-0 kernel: GPR00: 00000000 cf83ddc0 ce630000 c05964d8 00000001 0000fa00 00000001 c013f438
May 7 16:40:33.955415 warn TCU-0 kernel: GPR08: 00000000 00039672 affe58a7 c05968e8 0000fa00
May 7 16:40:33.955415 warn TCU-0 kernel: NIP [c040d510] _raw_spin_unlock_irq+0x1c/0x4c
May 7 16:40:33.955415 warn TCU-0 kernel: LR [c00469ac] do_syslog+0x198/0x424
May 7 16:40:33.955415 warn TCU-0 kernel: Call Trace:
May 7 16:40:33.955415 warn TCU-0 kernel: [cf83ddc0] [0000c739] 0xc739 (unreliable)
May 7 16:40:33.955415 warn TCU-0 kernel: [cf83ddd0] [c00469ac] do_syslog+0x198/0x424
May 7 16:40:33.955415 warn TCU-0 kernel: [cf83de30] [c0149574] kmsg_read+0x58/0x68
May 7 16:40:33.955415 warn TCU-0 kernel: [cf83de40] [c013f4c8] proc_reg_read+0x90/0xa8
May 7 16:40:33.955415 warn TCU-0 kernel: [cf83de70] [c00f4cb0] do_loop_readv_writev+0x48/0x84
May 7 16:40:33.955415 warn TCU-0 kernel: [cf83dea0] [c00f5870] do_readv_writev+0xcc/0x19c
May 7 16:40:33.955415 warn TCU-0 kernel: [cf83df10] [c00f5c54] sys_readv+0x50/0xfc
May 7 16:40:33.955415 warn TCU-0 kernel: [cf83df40] [c00100d8] ret_from_syscall+0x0/0x4
May 7 16:40:33.955415 warn TCU-0 kernel: --- Exception: c01 at 0xfcad5a8

最佳答案

首地址是栈帧地址。您会注意到第一个条目与我认为是保存的堆栈指针寄存器(以 GPR00 开头的行中的第二个条目)相匹配。堆栈跟踪由跟踪堆栈帧链的代码创建,备份调用堆栈。

“原子调度”是指试图从不适当的上下文中调用内核中的阻塞函数。例如,在中断处理程序中等待某些资源时尝试休眠。

关于linux - 内核调用跟踪中的两个地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30914957/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com