usertools: fix pmdinfo parsing
authorDavid Marchand <david.marchand@redhat.com>
Wed, 4 Nov 2020 15:57:21 +0000 (16:57 +0100)
committerDavid Marchand <david.marchand@redhat.com>
Thu, 12 Nov 2020 13:26:42 +0000 (14:26 +0100)
commit4760b32b646b0ceb9b18b62a726e53e56e7ded7a
tree2365715169d2e540736c45a680442a517a776773
parenta8adac0bc098dad9ca7f7977b6204b29669244e8
usertools: fix pmdinfo parsing

This script inspects an ELF file (binary or shared library) and its
linked dependencies by following DT_NEEDED tags.
So far a simple librte_pmd prefix was used as a filter to only parse
DPDK drivers dependencies.
While the reason is not clear from the commitlog of the patch that
introduced this filter, it was probably added for performance reasons,
since going through all dependencies can be quite long.
Testing with a DPDK built before the driver name changes:
- running the script takes ~0.3s with the filter,
- running the script takes ~9s without the filter,

Now that we changed the driver library names, it becomes more difficult
to identify only DPDK drivers, but we can just filter on the librte_
prefix to identify DPDK libraries: the script later checks for the
PMD_INFO_STRING string in .rodata and it is enough to differentiate the
DPDK drivers from the other DPDK libraries.

Running the script with this patch takes ~0.5s.

A debug message was logged for each inspected file, it gives no useful
information and is removed.

Fixes: a20b2c01a7a1 ("build: standardize component names and defines")

Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Robin Jarry <robin.jarry@6wind.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
usertools/dpdk-pmdinfo.py