From 9a9604b09f15691d7c4ddf29afd99a31e7e31eed Mon Sep 17 00:00:00 2001 From: Xiaoming Jiang Date: Thu, 9 Mar 2023 02:03:50 +0000 Subject: crypto: make crypto-dispatch node working in adaptive mode This patch can make crypto dispatch node adaptively switching between pooling and interrupt mode, and improve vpp overall performance. Type: improvement Signed-off-by: Xiaoming Jiang Change-Id: I845ed1d29ba9f3c507ea95a337f6dca7f8d6e24e --- src/plugins/crypto_sw_scheduler/main.c | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) (limited to 'src/plugins/crypto_sw_scheduler') diff --git a/src/plugins/crypto_sw_scheduler/main.c b/src/plugins/crypto_sw_scheduler/main.c index abdffab2b9c..1cc7a08ca11 100644 --- a/src/plugins/crypto_sw_scheduler/main.c +++ b/src/plugins/crypto_sw_scheduler/main.c @@ -25,14 +25,14 @@ crypto_sw_scheduler_set_worker_crypto (u32 worker_idx, u8 enabled) crypto_sw_scheduler_main_t *cm = &crypto_sw_scheduler_main; vlib_thread_main_t *tm = vlib_get_thread_main (); crypto_sw_scheduler_per_thread_data_t *ptd = 0; - u32 count = 0, i = vlib_num_workers () > 0; + u32 count = 0, i; if (worker_idx >= vlib_num_workers ()) { return VNET_API_ERROR_INVALID_VALUE; } - for (; i < tm->n_vlib_mains; i++) + for (i = 0; i < tm->n_vlib_mains; i++) { ptd = cm->per_thread_data + i; count += ptd->self_crypto_enabled; @@ -458,11 +458,6 @@ crypto_sw_scheduler_process_aead (vlib_main_t *vm, u32 tail, head; u8 found = 0; - u8 recheck_queues = - crypto_main.dispatch_mode == VNET_CRYPTO_ASYNC_DISPATCH_INTERRUPT; - - run_half_queues: - /* get a pending frame to process */ if (ptd->self_crypto_enabled) { @@ -573,11 +568,6 @@ crypto_sw_scheduler_process_aead (vlib_main_t *vm, return f; } - if (!found && recheck_queues) - { - recheck_queues = 0; - goto run_half_queues; - } return 0; } -- cgit 1.2.3-korg