vlib: stop inlining vlib_add_trace(...) 67/27467/2
authorDave Barach <dave@barachs.net>
Mon, 8 Jun 2020 15:17:19 +0000 (11:17 -0400)
committerDamjan Marion <dmarion@me.com>
Mon, 8 Jun 2020 16:03:36 +0000 (16:03 +0000)
commit0a67b48f1d1065d250191657810bd5cd0b718c39
tree9eec6623974c246fa100c53eb997c9cec53d3895
parent6a3195f166fa09e2eb2af66394c12e6288fcd3c5
vlib: stop inlining vlib_add_trace(...)

Packet tracing performance doesn't justify inlining
vlib_add_trace(...) over 500 times.

It makes a 15% text-segment size difference in a representative use-case:

Inline:
$ size .../vnet_skx.dir/ipsec/ipsec_input.c.o
   text    data     bss     dec     hex filename
   6831      80       0    6911    1aff .../vnet_skx.dir/ipsec/ipsec_input.c.o

Not inline:
$ size .../vnet_skx.dir/ipsec/ipsec_input.c.o
   text    data     bss     dec     hex filename
   5776      80       0    5856    16e0 .../vnet_skx.dir/ipsec/ipsec_input.c.o

Retain the original code as vlib_add_trace_inline, instantiate once as
vlib_add_trace.

Type: refactor
Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: Iaf431dbf00c4aad03663d86f9dd1322e84d03962
src/vlib/trace.c
src/vlib/trace_funcs.h