What is wrong with dtrace's stack()?
Ryan Stone
rysto32 at gmail.com
Wed Oct 24 15:48:54 UTC 2018
sosend_generic+0x112c is the return address, so it's one instruction
after the call instruction that called lock_delay. What's the line
number of sosend_generic+0x112b?
On Tue, Oct 23, 2018 at 5:34 PM Lev Serebryakov <lev at freebsd.org> wrote:
>
> Hello Ryan,
>
> Monday, October 22, 2018, 11:50:29 PM, you wrote:
>
> > Adding -fno-optimize-sibling-calls to the compiler flags will eliminate the TCO.
> Stacks are better but still strange. For example I have such stack (which I
> like better than previous):
>
> kernel`lock_delay+0x72
> kernel`sosend_generic+0x112c
> kernel`sosend+0x79
> kernel`soo_write+0x6b
> kernel`fo_write+0x4a
> kernel`dofilewrite+0xcd
> kernel`kern_writev+0x79
> kernel`sys_write+0x8f
> kernel`syscallenter+0x774
> kernel`amd64_syscall+0x1b
> kernel`0xffffffff80cebf6d
>
> According to addr2line `sosend_generic+0x112c' is
>
> https://svnweb.freebsd.org/base/head/sys/kern/uipc_socket.c?revision=339419&view=markup#l1579
>
> Which is call to protocol-specific send function. Where is this function
> (it should be tcp for sure)?!
>
> --
> Best regards,
> Lev mailto:lev at FreeBSD.org
>
More information about the freebsd-hackers
mailing list