From 89235c7ac70dd02848de14c697c3b3bf3895d4b2 Mon Sep 17 00:00:00 2001 From: Florin Coras Date: Mon, 2 Nov 2020 19:00:10 -0800 Subject: session: reduce max session node frame size Type: improvement Signed-off-by: Florin Coras Change-Id: I9e6b5e245533c9ea7bb8dc4f784a31fcb0da88bd --- src/vnet/session/session_node.c | 8 ++++---- src/vnet/session/session_types.h | 1 + 2 files changed, 5 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/vnet/session/session_node.c b/src/vnet/session/session_node.c index 482f8b019ff..ec2f936ba60 100644 --- a/src/vnet/session/session_node.c +++ b/src/vnet/session/session_node.c @@ -946,7 +946,7 @@ session_tx_fifo_read_and_snd_i (session_worker_t * wrk, } next_index = smm->session_type_to_next[ctx->s->session_type]; - max_burst = VLIB_FRAME_SIZE - *n_tx_packets; + max_burst = SESSION_NODE_FRAME_SIZE - *n_tx_packets; tp = session_get_transport_proto (ctx->s); ctx->transport_vft = transport_protocol_get_vft (tp); @@ -1160,7 +1160,7 @@ session_tx_fifo_dequeue_internal (session_worker_t * wrk, /* Clear custom-tx flag used to request reschedule for tx */ s->flags &= ~SESSION_F_CUSTOM_TX; - sp->max_burst_size = clib_min (VLIB_FRAME_SIZE - *n_tx_packets, + sp->max_burst_size = clib_min (SESSION_NODE_FRAME_SIZE - *n_tx_packets, TRANSPORT_PACER_MAX_BURST_PKTS); n_packets = transport_custom_tx (session_get_transport_proto (s), s, sp); @@ -1455,7 +1455,7 @@ session_queue_node_fn (vlib_main_t * vm, vlib_node_runtime_t * node, old_ti = clib_llist_prev_index (old_he, evt_list); ei = clib_llist_next_index (new_he, evt_list); - while (ei != wrk->new_head && n_tx_packets < VLIB_FRAME_SIZE) + while (ei != wrk->new_head && n_tx_packets < SESSION_NODE_FRAME_SIZE) { elt = pool_elt_at_index (wrk->event_elts, ei); ei = clib_llist_next_index (elt, evt_list); @@ -1474,7 +1474,7 @@ session_queue_node_fn (vlib_main_t * vm, vlib_node_runtime_t * node, old_he = pool_elt_at_index (wrk->event_elts, wrk->old_head); ei = clib_llist_next_index (old_he, evt_list); - while (n_tx_packets < VLIB_FRAME_SIZE) + while (n_tx_packets < SESSION_NODE_FRAME_SIZE) { elt = pool_elt_at_index (wrk->event_elts, ei); next_ei = clib_llist_next_index (elt, evt_list); diff --git a/src/vnet/session/session_types.h b/src/vnet/session/session_types.h index 950066a958d..7a9f687e4ab 100644 --- a/src/vnet/session/session_types.h +++ b/src/vnet/session/session_types.h @@ -22,6 +22,7 @@ #define SESSION_INVALID_INDEX ((u32)~0) #define SESSION_INVALID_HANDLE ((u64)~0) #define SESSION_CTRL_MSG_MAX_SIZE 86 +#define SESSION_NODE_FRAME_SIZE 128 #define foreach_session_endpoint_fields \ foreach_transport_endpoint_cfg_fields \ -- cgit 1.2.3-korg