From e0982e56f0b644fbec429fa8639ddb1b3403bea8 Mon Sep 17 00:00:00 2001 From: Florin Coras Date: Fri, 25 Jan 2019 13:19:56 -0800 Subject: [PATCH] vcl: add api to expose worker message queues epfd This only works if vcl is configured to do eventd based message queue notifications, instead of condvars. For that, add "use-mq-eventfd" to vcl startup conf. Change-Id: Id0f0288a40ec7d3daef7370f8b88420425867ab6 Signed-off-by: Florin Coras --- src/vcl/vppcom.c | 9 +++++++++ src/vcl/vppcom.h | 8 ++++++++ 2 files changed, 17 insertions(+) diff --git a/src/vcl/vppcom.c b/src/vcl/vppcom.c index d9012cdaed6..317351d7612 100644 --- a/src/vcl/vppcom.c +++ b/src/vcl/vppcom.c @@ -3594,6 +3594,15 @@ vppcom_worker_index (void) return vcl_get_worker_index (); } +int +vppcom_worker_mqs_epfd (void) +{ + vcl_worker_t *wrk = vcl_worker_get_current (); + if (!vcm->cfg.use_mq_eventfd) + return -1; + return wrk->mqs_epfd; +} + /* * fd.io coding-style-patch-verification: ON * diff --git a/src/vcl/vppcom.h b/src/vcl/vppcom.h index 4db3d980099..053abc97781 100644 --- a/src/vcl/vppcom.h +++ b/src/vcl/vppcom.h @@ -308,6 +308,14 @@ extern int vppcom_worker_register (void); */ extern int vppcom_worker_index (void); +/** + * Returns the current worker's message queues epoll fd + * + * This only works if vcl is configured to do eventfd based message queue + * notifications. + */ +extern int vppcom_worker_mqs_epfd (void); + /* *INDENT-OFF* */ #ifdef __cplusplus } -- 2.16.6