diff options
author | Florin Coras <fcoras@cisco.com> | 2022-03-21 10:38:01 -0700 |
---|---|---|
committer | Florin Coras <fcoras@cisco.com> | 2022-03-21 12:53:15 -0700 |
commit | e09bd48e354d8701091437cafda6b29163ed2d58 (patch) | |
tree | aa4aa9bb79b36c11dc70ae3fa3bd8092ad417b7b /src/vnet/session/session.h | |
parent | 38659d8f2c588500f4e844195e0c59ab1cf6107f (diff) |
session: linked list of events to be handled by main
Minimize amount of rpcs from first worker to main
Type: improvement
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I3794ff028a17d18b7bff69ede2b62e1e2d45ae77
Diffstat (limited to 'src/vnet/session/session.h')
-rw-r--r-- | src/vnet/session/session.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/vnet/session/session.h b/src/vnet/session/session.h index 0ea621aa385..71f6d35d43b 100644 --- a/src/vnet/session/session.h +++ b/src/vnet/session/session.h @@ -155,6 +155,9 @@ typedef struct session_worker_ /** Main thread loops in poll mode without a connect */ u32 no_connect_loops; + /** List head for first worker evts pending handling on main */ + clib_llist_index_t evts_pending_main; + #if SESSION_DEBUG /** last event poll time by thread */ clib_time_type_t last_event_poll; @@ -786,6 +789,7 @@ void session_wrk_enable_adaptive_mode (session_worker_t *wrk); fifo_segment_t *session_main_get_wrk_mqs_segment (void); void session_node_enable_disable (u8 is_en); clib_error_t *vnet_session_enable_disable (vlib_main_t * vm, u8 is_en); +void session_wrk_handle_evts_main_rpc (); session_t *session_alloc_for_connection (transport_connection_t * tc); session_t *session_alloc_for_half_open (transport_connection_t *tc); |