Showing results for 
Search instead for 
Did you mean: 
Community Manager

Question about qat_engine_init

I have a question about developing Intel QAT Application.

Can you please help us on this issue?

I want to develop NGINX Application that accelerate SSL processing using QAT Engine and OpenSSL 1.1.0 pre5 by EVENT_DRIVEN.

It is listed in a document as follows:

* It must be sent if required after engine creation but before engine initialization. It should not be sent after engine initialization.

I think that "Engine initialization" is Engine_init.

Because qat_engine_init which is called by Engine_init finished all in the following logics, after I can not acquire FD using GET_POLLIG_FD.

/* Work around for fork case, finish engine in parent process */

if(initiator_pid == 0) {


qat_inited = 0;

keep_polling = 1;


In the qat_engine_init source comment, I think that this considers master/worker process like the nginx.

Because qat_engine_init is called from "CRYPTO_THREAD_run_once(&engine_lock_init, do_engine_lock_init);", it is called only once.

In other words it is never called in worker because it is initialized in master.

How should I initialize it?

0 Kudos
1 Reply

Hello intel524 ,

Thank you for contacting the Intel Embedded Community.

In order to help you, we suggest you review as a reference the information stated at the QAT_Engine/e_qat.c at master website.

By the way, you also can address this consultation as a reference to the OpenSSL community.

We hope that this information may help you.

Best Regards,

Carlos_A .