intel / QAT_Engine

Intel QuickAssist Technology( QAT) OpenSSL Engine (an OpenSSL Plug-In Engine) which provides cryptographic acceleration for both hardware and optimized software using Intel QuickAssist Technology enabled Intel platforms. https://developer.intel.com/quickassist
BSD 3-Clause "New" or "Revised" License
410 stars 128 forks source link

question about polling in Provider #290

Open vitalyk-radware opened 11 months ago

vitalyk-radware commented 11 months ago

when we have Engine, we can do poll this way: ENGINE_ctrl_cmd(e, "POLL", 0, &poll_status, NULL, 0))

But how to do poll with Provider? thank you!

Yogaraj-Alamenda commented 11 months ago

@vitalyk-radware OpenSSL doesn't support this engine ctrl messages for provider which means external polling cannot be used in provider which leaves us to use internal polling within QAT provider. The feature request to OpenSSL is raised in this ticket https://github.com/openssl/openssl/issues/17182

vitalyk-radware commented 11 months ago

Thank you very much! Can you please advise where I can learn about internal polling? (apparently our application used external polling and I need to see what to modify)

Yogaraj-Alamenda commented 11 months ago

@vitalyk-radware We don't have good documentation about internal polling, so here is high level information about internal polling.

In the internal Polling mode, QAT Engine creates an additional thread which runs from the qat_timer_poll_func() for polling the driver instances in case of QAT_HW and in case of QAT_SW submits the multibuffer batch requests(upto 8) to QAT_SW libraries for processing. This is timer based polling with default interval of 1ms.

Haproxy and OpenSSL Speed test application uses internal polling mode only.

qat_timer_poll_func() for qat_hw. https://github.com/intel/QAT_Engine/blob/26b4d6c34f32ac3bd21ebb78afc4c7428a70b1f8/qat_hw_polling.c#L134

zhuguang11111 commented 4 months ago

Hello team, do we have any update about this?