I am using Vtune to analyze my program. And the Vtune reports that
Function Module CPU Time % of CPU Time(%)
---------------------------- ----------------- --------- ----------------
func@0x23dc0 libmlx5-rdmav2.so 1779.256s 50.4%
__memmove_avx_unaligned_erms libc.so.6 798.907s 22.6%
pollOnce io500 300.626s 8.5%
RpcClient::do_get io500 284.459s 8.1%
ibv_poll_cq io500 179.388s 5.1%
I hope to know what's inside the func@0x23dc0 libmlx5-rdmav2.so
.
What should I do?
CodePudding user response:
One way to get the symbols would be to compile your own version of the libibverbs
library and its provider drivers. The source code for the upstream version is available at https://github.com/linux-rdma/rdma-core.
In addition, some Linux distributions (e.g., Ubuntu, RedHat) hold repositories for debugging symbols of their libraries.
Finally, note that in many polling applications, a profiler might not tell you what you want to know, as they constantly call polling functions, whether or not they produce output.