Search code examples
linuxdebuggingintelintel-vtunerdma

How to get symbol info from libmlx5-rdmav2.so?


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?


Solution

  • 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.