Stack trace of csum_partial_copy_generic

From: Nikolay Borisov
Date: Fri May 13 2016 - 07:07:55 EST


Hello Josh,

I'd like to ask you whether objtool is supposed to produce a
warning when arch/x86/lib/csum-copy_64.o (produced from
arch/x86/lib/csum-copy_64.S). Since I cannot see any specific
usage of rbp for defining a stackframe. I'm chasing against
poor performance of a network benchmark and this is what perf produces:

# Overhead Command Shared Object Symbol
# ........ ............... ..................... .............................................
#
37.30% iperf [kernel.kallsyms] [k] csum_partial_copy_generic
|
--- csum_partial_copy_generic
|
|--99.98%-- 0x7f809108b7cd
| |
| |--69.72%-- 0x20000
| |
| --30.28%-- 0x7f809108b7c2
| 0x20000
--0.02%-- [...]

So this is not very helpful in tracing where this is being
called from. Presumably somewhere from the networking layer. So
should objtool catch this or since csum_partial_copy_generic is a leaf
function reliable stack trace isn't needed? Furthermore this function
is called from C wrapper in csum-wrappers_64.c - shouldn't at least
they be present in the callstack?

This is on 4.6 master from linus and CONFIG_FRAME_POINTER being enabled.

Regards,
Nikolay