From 0a67b48f1d1065d250191657810bd5cd0b718c39 Mon Sep 17 00:00:00 2001 From: Dave Barach Date: Mon, 8 Jun 2020 11:17:19 -0400 Subject: 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 Change-Id: Iaf431dbf00c4aad03663d86f9dd1322e84d03962 --- src/vlib/trace.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/vlib/trace.c') diff --git a/src/vlib/trace.c b/src/vlib/trace.c index 7ee1b63f07e..f47c1b8c91d 100644 --- a/src/vlib/trace.c +++ b/src/vlib/trace.c @@ -572,6 +572,15 @@ vnet_is_packet_traced (vlib_buffer_t * b, u32 classify_table_index, int func) return 1; } +void * +vlib_add_trace (vlib_main_t * vm, + vlib_node_runtime_t * r, vlib_buffer_t * b, u32 n_data_bytes) +{ + return vlib_add_trace_inline (vm, r, b, n_data_bytes); +} + + + /* * fd.io coding-style-patch-verification: ON * -- cgit 1.2.3-korg