diff options
author | Florin Coras <fcoras@cisco.com> | 2023-03-10 10:22:21 -0800 |
---|---|---|
committer | Dave Barach <vpp@barachs.net> | 2023-03-14 17:02:15 +0000 |
commit | aeb7c1cb6e11dde259d954f7fabb95073a3b4c54 (patch) | |
tree | b57271893e5550a96b267ab288e5589968677590 /src/vnet/session/session_debug.h | |
parent | 48d2e15e3d5afa34ab75112a949dacc2759d472c (diff) |
session vcl: refactor builtin tx event for main tx
Rename unused SESSION_IO_EVT_BUILTIN_TX to SESSION_IO_EVT_TX_MAIN and
leverage it for non-connected udp tx.
Non-connected udp sessions are listeners and are therefore allocated on
main thread. Consequently, whenever session queue node is not polling
main, tx events generated by external applications might be missed or
processed with some delay. To solve this, request that apps use
SESSION_IO_EVT_TX_MAIN tx events as opposed to SESSION_IO_EVT_TX and
send that to first worker as opposed to main.
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I5df5ac3dc80c0f192b2eefb1d465e9deefe8786b
Diffstat (limited to 'src/vnet/session/session_debug.h')
-rw-r--r-- | src/vnet/session/session_debug.h | 44 |
1 files changed, 22 insertions, 22 deletions
diff --git a/src/vnet/session/session_debug.h b/src/vnet/session/session_debug.h index 614ffc95a7b..45dd77c7e45 100644 --- a/src/vnet/session/session_debug.h +++ b/src/vnet/session/session_debug.h @@ -70,28 +70,28 @@ typedef enum session_evt_to_grp_ #undef _ } session_evt_to_grp_e; -#define foreach_session_events \ -_(CLK_UPDATE_TIME, 1, 1, "Time Update Time") \ -_(CLK_MQ_DEQ, 1, 1, "Time MQ Dequeue") \ -_(CLK_CTRL_EVTS, 1, 1, "Time Ctrl Events") \ -_(CLK_NEW_IO_EVTS, 1, 1, "Time New IO Events") \ -_(CLK_OLD_IO_EVTS, 1, 1, "Time Old IO Events") \ -_(CLK_TOTAL, 1, 1, "Time Total in Node") \ -_(CLK_START, 1, 1, "Time Since Last Reset") \ - \ -_(CNT_MQ_EVTS, 1, 0, "# of MQ Events Processed" ) \ -_(CNT_CTRL_EVTS, 1, 0, "# of Ctrl Events Processed" ) \ -_(CNT_NEW_EVTS, 1, 0, "# of New Events Processed" ) \ -_(CNT_OLD_EVTS, 1, 0, "# of Old Events Processed" ) \ -_(CNT_IO_EVTS, 1, 0, "# of Events Processed" ) \ -_(CNT_NODE_CALL, 1, 0, "# of Node Calls") \ - \ -_(BASE_OFFSET_IO_EVTS, 0, 0, "NULL") \ -_(SESSION_IO_EVT_RX, 1, 0, "# of IO Event RX") \ -_(SESSION_IO_EVT_TX, 1, 0, "# of IO Event TX") \ -_(SESSION_IO_EVT_TX_FLUSH, 1, 0, "# of IO Event TX Flush") \ -_(SESSION_IO_EVT_BUILTIN_RX, 1, 0, "# of IO Event BuiltIn RX") \ -_(SESSION_IO_EVT_BUILTIN_TX, 1, 0, "# of IO Event BuiltIn TX") \ +#define foreach_session_events \ + _ (CLK_UPDATE_TIME, 1, 1, "Time Update Time") \ + _ (CLK_MQ_DEQ, 1, 1, "Time MQ Dequeue") \ + _ (CLK_CTRL_EVTS, 1, 1, "Time Ctrl Events") \ + _ (CLK_NEW_IO_EVTS, 1, 1, "Time New IO Events") \ + _ (CLK_OLD_IO_EVTS, 1, 1, "Time Old IO Events") \ + _ (CLK_TOTAL, 1, 1, "Time Total in Node") \ + _ (CLK_START, 1, 1, "Time Since Last Reset") \ + \ + _ (CNT_MQ_EVTS, 1, 0, "# of MQ Events Processed") \ + _ (CNT_CTRL_EVTS, 1, 0, "# of Ctrl Events Processed") \ + _ (CNT_NEW_EVTS, 1, 0, "# of New Events Processed") \ + _ (CNT_OLD_EVTS, 1, 0, "# of Old Events Processed") \ + _ (CNT_IO_EVTS, 1, 0, "# of Events Processed") \ + _ (CNT_NODE_CALL, 1, 0, "# of Node Calls") \ + \ + _ (BASE_OFFSET_IO_EVTS, 0, 0, "NULL") \ + _ (SESSION_IO_EVT_RX, 1, 0, "# of IO Event RX") \ + _ (SESSION_IO_EVT_TX, 1, 0, "# of IO Event TX") \ + _ (SESSION_IO_EVT_TX_FLUSH, 1, 0, "# of IO Event TX Flush") \ + _ (SESSION_IO_EVT_BUILTIN_RX, 1, 0, "# of IO Event BuiltIn RX") \ + _ (SESSION_IO_EVT_TX_MAIN, 1, 0, "# of IO Event TX Main") typedef enum { |