diff options
author | Colin Tregenza Dancer <ctd@metaswitch.com> | 2017-09-06 20:23:24 +0100 |
---|---|---|
committer | Dave Barach <openvpp@barachs.net> | 2017-09-11 11:44:44 +0000 |
commit | eb1ac1732f15f9a99edbeffeb94c525b9ff25c1d (patch) | |
tree | 3753d83d94c05904e3fcb64370e75661d0afa0bb /src/vlibapi | |
parent | a19e1054b58024891691eaebeb13700cdce57fea (diff) |
Recombine diags and minimum barrier open time changes (VPP-968)
Support logging to both syslog and elog
Also include DaveB is_mp_safe fix, which had been lost
Change-Id: If82f7969e2f43c63c3fed5b1a0c7434c90c1f380
Signed-off-by: Colin Tregenza Dancer <ctd@metaswitch.com>
Diffstat (limited to 'src/vlibapi')
-rw-r--r-- | src/vlibapi/api_common.h | 6 | ||||
-rw-r--r-- | src/vlibapi/api_shared.c | 10 |
2 files changed, 14 insertions, 2 deletions
diff --git a/src/vlibapi/api_common.h b/src/vlibapi/api_common.h index 651566aea29..bbeccfc2540 100644 --- a/src/vlibapi/api_common.h +++ b/src/vlibapi/api_common.h @@ -144,6 +144,12 @@ void vl_msg_api_queue_handler (unix_shared_memory_queue_t * q); void vl_msg_api_barrier_sync (void) __attribute__ ((weak)); void vl_msg_api_barrier_release (void) __attribute__ ((weak)); +#ifdef BARRIER_TRACING +void vl_msg_api_barrier_trace_context (const char *context) + __attribute__ ((weak)); +#else +#define vl_msg_api_barrier_trace_context(X) +#endif void vl_msg_api_free (void *); void vl_noop_handler (void *mp); void vl_msg_api_increment_missing_client_counter (void); diff --git a/src/vlibapi/api_shared.c b/src/vlibapi/api_shared.c index 5c1a9940dc7..59dc2375cf6 100644 --- a/src/vlibapi/api_shared.c +++ b/src/vlibapi/api_shared.c @@ -418,7 +418,10 @@ msg_handler_internal (api_main_t * am, if (do_it) { if (!am->is_mp_safe[id]) - vl_msg_api_barrier_sync (); + { + vl_msg_api_barrier_trace_context (am->msg_names[id]); + vl_msg_api_barrier_sync (); + } (*am->msg_handlers[id]) (the_msg); if (!am->is_mp_safe[id]) vl_msg_api_barrier_release (); @@ -498,7 +501,10 @@ vl_msg_api_handler_with_vm_node (api_main_t * am, vl_msg_api_trace (am, am->rx_trace, the_msg); if (!am->is_mp_safe[id]) - vl_msg_api_barrier_sync (); + { + vl_msg_api_barrier_trace_context (am->msg_names[id]); + vl_msg_api_barrier_sync (); + } (*handler) (the_msg, vm, node); if (!am->is_mp_safe[id]) vl_msg_api_barrier_release (); |