reduce polling and resume overhead by checking if inflight request exists 63/14163/3
authorPing Yu <ping.yu@intel.com>
Mon, 13 Aug 2018 14:26:26 +0000 (10:26 -0400)
committerFlorin Coras <florin.coras@gmail.com>
Tue, 14 Aug 2018 16:49:49 +0000 (16:49 +0000)
Change-Id: I0777a00f0cc082bab3348be8ec0be39faa50ffed
Signed-off-by: Ping Yu <ping.yu@intel.com>
src/plugins/tlsopenssl/tls_async.c

index 3b469b9..110a631 100644 (file)
@@ -512,11 +512,14 @@ tls_async_process (vlib_main_t * vm, vlib_node_runtime_t * rt,
                   vlib_frame_t * f)
 {
   u8 thread_index;
+  openssl_async_t *om = &openssl_async_main;
 
   thread_index = vlib_get_thread_index ();
-  openssl_async_polling ();
-
-  tls_resume_from_crypto (thread_index);
+  if (pool_elts (om->evt_pool[thread_index]) > 0)
+    {
+      openssl_async_polling ();
+      tls_resume_from_crypto (thread_index);
+    }
 
   return 0;
 }