From: Florin Coras Date: Mon, 28 Aug 2023 06:14:50 +0000 (-0700) Subject: vcl: set min threshold for tx ntf X-Git-Tag: v24.02-rc0~49 X-Git-Url: https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commitdiff_plain;h=da652cc46604f5c98736404a2342ac3a178240e7 vcl: set min threshold for tx ntf Make sure there's at least 3% space in the tx fifo before notifying vcl of a tx event. The threshold is somewhat arbibrary but for a 4M fifo, it now means that ~120kB of space should be available. Should help minimize the amount of tx notifications generated by session layer when apps are faster. Type: improvement Signed-off-by: Florin Coras Change-Id: I11dd0931dca8f989000a2481f1f495bd267589c4 --- diff --git a/src/vcl/vcl_private.h b/src/vcl/vcl_private.h index 8345e34e0c1..41a11b7123f 100644 --- a/src/vcl/vcl_private.h +++ b/src/vcl/vcl_private.h @@ -675,7 +675,11 @@ vcl_session_add_want_deq_ntf (vcl_session_t *s, svm_fifo_deq_ntf_t evt) { svm_fifo_t *txf = vcl_session_is_ct (s) ? s->ct_tx_fifo : s->tx_fifo; if (txf) - svm_fifo_add_want_deq_ntf (txf, evt); + { + svm_fifo_add_want_deq_ntf (txf, evt); + /* Request tx notification only if 3% of fifo is empty */ + svm_fifo_set_deq_thresh (txf, 0.03 * svm_fifo_size (txf)); + } } static inline void