From 6bd6c80f27c708f72aef1d850e48deaef832477e Mon Sep 17 00:00:00 2001 From: Damjan Marion Date: Thu, 2 Nov 2023 18:40:32 +0000 Subject: [PATCH] dev: strip debig log function name prefix during compilation Type: improvement Change-Id: I9b9bb37a0895366b412f042b0e2da5bbdd477325 Signed-off-by: Damjan Marion --- src/plugins/dev_iavf/format.c | 21 --------------------- src/plugins/dev_iavf/iavf.h | 6 +++--- src/vnet/dev/dev.h | 1 + src/vnet/dev/format.c | 6 +----- src/vnet/dev/log.h | 5 ++--- src/vppinfra/string.h | 7 +++++++ 6 files changed, 14 insertions(+), 32 deletions(-) diff --git a/src/plugins/dev_iavf/format.c b/src/plugins/dev_iavf/format.c index bc84cc3ab2f..9a3dde47ee9 100644 --- a/src/plugins/dev_iavf/format.c +++ b/src/plugins/dev_iavf/format.c @@ -110,24 +110,3 @@ format_iavf_port_status (u8 *s, va_list *args) s = format (s, "disabled"); return s; } - -u8 * -format_iavf_log (u8 *s, va_list *args) -{ - vnet_dev_t *dev = va_arg (*args, vnet_dev_t *); - char *func = va_arg (*args, char *); - - if (dev) - s = format (s, "%U", format_vnet_dev_addr, dev); - if (dev && func) - vec_add1 (s, ' '); - if (func) - { - if (strncmp (func, "iavf_", 5) == 0) - func += 5; - s = format (s, "%s", func); - } - vec_add1 (s, ':'); - vec_add1 (s, ' '); - return s; -} diff --git a/src/plugins/dev_iavf/iavf.h b/src/plugins/dev_iavf/iavf.h index 7576fa9e048..958a8dcf808 100644 --- a/src/plugins/dev_iavf/iavf.h +++ b/src/plugins/dev_iavf/iavf.h @@ -105,7 +105,6 @@ format_function_t format_virtchnl_status; format_function_t format_iavf_vf_cap_flags; format_function_t format_iavf_rx_trace; format_function_t format_iavf_port_status; -format_function_t format_iavf_log; /* port.c */ vnet_dev_rv_t iavf_port_init (vlib_main_t *, vnet_dev_port_t *); @@ -157,8 +156,9 @@ iavf_reg_flush (iavf_device_t *ad) } #define log_debug(dev, f, ...) \ - vlib_log (VLIB_LOG_LEVEL_DEBUG, iavf_log.class, "%U" f, format_iavf_log, \ - (dev), __func__, ##__VA_ARGS__) + vlib_log (VLIB_LOG_LEVEL_DEBUG, iavf_log.class, "%U" f, \ + format_vnet_dev_log, (dev), \ + clib_string_skip_prefix (__func__, "iavf_"), ##__VA_ARGS__) #define log_info(dev, f, ...) \ vlib_log (VLIB_LOG_LEVEL_INFO, iavf_log.class, "%U: " f, \ format_vnet_dev_addr, (dev), ##__VA_ARGS__) diff --git a/src/vnet/dev/dev.h b/src/vnet/dev/dev.h index 5c80b98f580..9b54e737307 100644 --- a/src/vnet/dev/dev.h +++ b/src/vnet/dev/dev.h @@ -613,6 +613,7 @@ format_function_t format_vnet_dev_rx_queue_info; format_function_t format_vnet_dev_tx_queue_info; format_function_t format_vnet_dev_flags; format_function_t format_vnet_dev_port_flags; +format_function_t format_vnet_dev_log; unformat_function_t unformat_vnet_dev_flags; unformat_function_t unformat_vnet_dev_port_flags; diff --git a/src/vnet/dev/format.c b/src/vnet/dev/format.c index 4e1ece66d31..b8b7dbdcb10 100644 --- a/src/vnet/dev/format.c +++ b/src/vnet/dev/format.c @@ -394,11 +394,7 @@ format_vnet_dev_log (u8 *s, va_list *args) if (dev && func) vec_add1 (s, ' '); if (func) - { - if (strncmp (func, "vnet_dev_", 9) == 0) - func += 9; - s = format (s, "%s", func); - } + s = format (s, "%s", func); vec_add1 (s, ':'); vec_add1 (s, ' '); return s; diff --git a/src/vnet/dev/log.h b/src/vnet/dev/log.h index 432e7b88a21..5ca7b6620e9 100644 --- a/src/vnet/dev/log.h +++ b/src/vnet/dev/log.h @@ -5,11 +5,10 @@ #ifndef _VNET_DEV_LOG_H_ #define _VNET_DEV_LOG_H_ -format_function_t format_vnet_dev_log; - #define log_debug(dev, f, ...) \ vlib_log (VLIB_LOG_LEVEL_DEBUG, dev_log.class, "%U" f, format_vnet_dev_log, \ - dev, __func__, ##__VA_ARGS__) + dev, clib_string_skip_prefix (__func__, "vnet_dev_"), \ + ##__VA_ARGS__) #define log_notice(dev, f, ...) \ vlib_log (VLIB_LOG_LEVEL_NOTICE, dev_log.class, "%U" f, \ format_vnet_dev_log, dev, 0, ##__VA_ARGS__) diff --git a/src/vppinfra/string.h b/src/vppinfra/string.h index 38d3baba9da..b1ef0e4809b 100644 --- a/src/vppinfra/string.h +++ b/src/vppinfra/string.h @@ -1161,6 +1161,13 @@ strstr_s_inline (char *s1, rsize_t s1max, const char *s2, rsize_t s2max, return EOK; } +static_always_inline const char * +clib_string_skip_prefix (const char *s, const char *prefix) +{ + uword len = __builtin_strlen (prefix); + return s + (__builtin_strncmp (s, prefix, len) ? 0 : len); +} + #endif /* included_clib_string_h */ /* -- 2.16.6