diff options
author | Florin Coras <fcoras@cisco.com> | 2020-11-02 19:00:10 -0800 |
---|---|---|
committer | Dave Barach <openvpp@barachs.net> | 2020-11-03 17:40:05 +0000 |
commit | 89235c7ac70dd02848de14c697c3b3bf3895d4b2 (patch) | |
tree | 27c9503ca7b3e4bf91f71a36976faf07eafd052b /src | |
parent | c358d78c4126c3bd660d16583842ac41afc77a3e (diff) |
session: reduce max session node frame size
Type: improvement
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I9e6b5e245533c9ea7bb8dc4f784a31fcb0da88bd
Diffstat (limited to 'src')
-rw-r--r-- | src/vnet/session/session_node.c | 8 | ||||
-rw-r--r-- | src/vnet/session/session_types.h | 1 |
2 files changed, 5 insertions, 4 deletions
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 \ |