X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvppinfra%2Felog.h;h=3cd067ce7070ad88b8424b6c43e8b6c152bde821;hb=332bc084dd15a2c7b7b26bb00775c835c9630e8a;hp=05085b264df95e62c19e65c31eb2fa51bcd7e944;hpb=12c6fdc551d2a092dc530639365d9e4ad8493d97;p=vpp.git diff --git a/src/vppinfra/elog.h b/src/vppinfra/elog.h index 05085b264df..3cd067ce707 100644 --- a/src/vppinfra/elog.h +++ b/src/vppinfra/elog.h @@ -53,6 +53,7 @@ #include /* for ASSERT */ #include #include /* for clib_cpu_time_now */ +#include #include typedef struct @@ -155,6 +156,8 @@ typedef struct /** Events may refer to strings in string table. */ char *string_table; + uword *string_table_hash; + u8 *string_table_tmp; /** Vector of tracks. */ elog_track_t *tracks; @@ -313,7 +316,7 @@ elog_event_data_inline (elog_main_t * em, ASSERT (is_pow2 (vec_len (em->event_ring))); if (em->lock) - ei = clib_smp_atomic_add (&em->n_total_events, 1); + ei = clib_atomic_fetch_add (&em->n_total_events, 1); else ei = em->n_total_events++; @@ -515,7 +518,8 @@ void elog_merge (elog_main_t * dst, u8 * dst_tag, /* 2 arguments elog_main_t and elog_event_t to format event or track name. */ u8 *format_elog_event (u8 * s, va_list * va); -u8 *format_elog_track (u8 * s, va_list * va); +u8 *format_elog_track_name (u8 * s, va_list * va); +u8 *format_elog_track (u8 * s, va_list * args); void serialize_elog_main (serialize_main_t * m, va_list * va); void unserialize_elog_main (serialize_main_t * m, va_list * va); @@ -525,12 +529,12 @@ void elog_alloc (elog_main_t * em, u32 n_events); #ifdef CLIB_UNIX always_inline clib_error_t * -elog_write_file (elog_main_t * em, char *unix_file, int flush_ring) +elog_write_file (elog_main_t * em, char *clib_file, int flush_ring) { serialize_main_t m; clib_error_t *error; - error = serialize_open_unix_file (&m, unix_file); + error = serialize_open_clib_file (&m, clib_file); if (error) return error; error = serialize (&m, serialize_elog_main, em, flush_ring); @@ -540,12 +544,12 @@ elog_write_file (elog_main_t * em, char *unix_file, int flush_ring) } always_inline clib_error_t * -elog_read_file (elog_main_t * em, char *unix_file) +elog_read_file (elog_main_t * em, char *clib_file) { serialize_main_t m; clib_error_t *error; - error = unserialize_open_unix_file (&m, unix_file); + error = unserialize_open_clib_file (&m, clib_file); if (error) return error; error = unserialize (&m, unserialize_elog_main, em);