[meta-intel] [PATCH v3 0/4 dizzy] meta-crystalforest: Initial Intel QAT-core Implementation

Saul Wold sgw at linux.intel.com
Wed Jul 1 09:29:00 PDT 2015


On 07/01/2015 03:47 AM, venkatasubramanian pattu wrote:
> Intel's QuickAssist Technology is designed to optimize the use and deployment of
> algorithm accelerators in networking and security applications.
> As the complexity of networking and security applications continues to grow,
> systems need more and more computational resources for workloads,
> including cryptography, data compression, and pattern matching.
> Intel QuickAssist Technology is designed to optimize the use and
> deployment of algorithm accelerators in these kinds of applications.
>
> Intel QuickAssist Technology employs a hardware-assisted security engine for
> implementing major security functions in both wired and wireless applications.
> This hardware-assisted security engine works to reserve processor cycles
> for application processing, and that in turn not only relieves CPU burden
> but also improves overall system performance.
>
> Intel QuickAssist Technology, made integral to the Intel architecture,
> aims to address the demand for hardware appliances with built-in
> security processing and to obviate the need for 3rd party co-processors.
>
> The Intel QuickAssist Technology software consists of an QAT API
> that is implemented by a driver which in turn drives the
> Intel QuickAssist Accelerator hardware.
> The acceleration driver can run in either kernel space or in user space.
> When running in user space, the acceleration driver accesses the
> hardware directly from user space.
> This Patch enables the QAT core for both Cave Creek and Coleto Creek Platforms.
>
> QAT package is released from 01.org.
> https://01.org/packet-processing/intel%C2%AE-quickassist-technology-drivers-and-patches
>
> "QAT1.5" for use with Intel Communications Chipset 8900 to 8920(DH89xxCC)Series.
> "QAT1.6" for use with Intel Communications Chipset 8925 to 8955(DH895xcc)Series.
>
> Changes in v3:
> * Removed PR from qat.inc.
> * Kernel version is pulled from the function "get_kernelversion()" in qat.inc.
> * Added missing build-dependencies to solve build failure in qat.inc.
> * The package version of QAT1.5 is 1.7.0-30. Therefore, recipe name is renamed from
> qat_1.5.bb into qat15_1.7.0-30.bb.
> * The patch (meta-crystalforest: Alternate cleanfile for QAT v1.6 source repository)
> has cleaned file dc_session.h, which is the replacement for the stained file
> in QAT v1.6 source repository.
> * The package version of QAT1.6 is 2.2.0-30. Therefore, recipe name is renamed from
> qat_1.6.bb into qat16_2.2.0-30.bb.
>
> venkatasubramanian pattu (4):
>    meta-crystalforest: Add include file for QAT
>    meta-crystalforest: Intel QAT v1.5 recipe under recipes-extended
>    meta-crystalforest: Alternate cleanfile for QAT v1.6 source repository
>    meta-crystalforest: Intel QAT v1.6 recipe under recipes-extended
>
>   .../recipes-extended/qat/files/00-qat_qa.rules     |   3 +
>   .../recipes-extended/qat/files/dc_session.h        | 277 +++++++++++++++++++++
>   .../qat/files/qat-1.5-enable-dynamic.patch         |  35 +++
>   .../qat/files/qat-1.6-app-dynamiccompression.patch |  35 +++
>   .../qat/files/qat-1.6-app-fix-QA-issue.patch       |  33 +++

I would request that we move 1.5 patches and 1.6 patches in to 
individual directories specific to the recipes, so the qat-1.5 would go 
into qat15 directory and the qat-1.6 along with the dc_session.h go into 
qat16.  since 00-qat_qa.rules is shared I kept it in files.

I fixed this.

I am still seeing the crypto failure with qat15
> | gcc -Wall -O1 -I/srv/hdd/releases/dizzy/build/tmp/work/crystalforest-poky-linux/qat15/2.2.0-30-r0/QAT1.5/quickassist/include/ -I/srv/hdd/releases/dizzy/build/tmp/work/crystalforest-poky-linux/qat15/2.2.0-30-r0/QAT1.5/quickassist/include/lac -I/srv/hdd/releases/dizzy/build/tmp/work/crystalforest-poky-linux/qat15/2.2.0-30-r0/QAT1.5/quickassist/include/dc -I/srv/hdd/releases/dizzy/build/tmp/work/crystalforest-poky-linux/qat15/2.2.0-30-r0/QAT1.5/quickassist/lookaside/access_layer/include -I/srv/hdd/releases/dizzy/build/tmp/work/crystalforest-poky-linux/qat15/2.2.0-30-r0/QAT1.5/quickassist/lookaside/access_layer/src/sample_code/functional/include -I../../../performance/qae/  -DUSER_SPACE \
> | ../../common/cpa_sample_utils.c cpa_dc_stateless_multi_op_checksum_sample.c ../../../performance/qae/linux/user_space/qae_mem_utils.c ../stateless_sample/cpa_dc_sample_user.c /srv/hdd/releases/dizzy/build/tmp/work/crystalforest-poky-linux/qat15/2.2.0-30-r0/QAT1.5/build/libicp_qa_al_s.so -L/usr/Lib -lpthread -lcrypto -o dc_stateless_multi_op_sample
> | /usr/bin/ld: cannot find -lcrypto
> | collect2: error: ld returned 1 exit status
> | Makefile:111: recipe for target 'default' failed
> | make[2]: *** [default] Error 1
> | make[2]: Leaving directory '/srv/hdd/releases/dizzy/build/tmp/work/crystalforest-poky-linux/qat15/2.2.0-30-r0/QAT1.5/quickassist/lookaside/access_layer/src/sample_code/functional/dc/stateless_multi_op_checksum_sample'
> | Makefile:122: recipe for target 'stateless_multi_op_checksum_sample' failed
> | make[1]: *** [stateless_multi_op_checksum_sample] Error 2

And for qat16 same failure:
> | gcc -Wall -O1 -I/srv/hdd/releases/dizzy/build/tmp/work/crystalforest-poky-linux/qat16/2.2.0-30-r0/QAT1.6/quickassist/include/ -I/srv/hdd/releases/dizzy/build/tmp/work/crystalforest-poky-linux/qat16/2.2.0-30-r0/QAT1.6/quickassist/include/lac -I/srv/hdd/releases/dizzy/build/tmp/work/crystalforest-poky-linux/qat16/2.2.0-30-r0/QAT1.6/quickassist/include/dc -I/srv/hdd/releases/dizzy/build/tmp/work/crystalforest-poky-linux/qat16/2.2.0-30-r0/QAT1.6/quickassist/lookaside/access_layer/include -I/srv/hdd/releases/dizzy/build/tmp/work/crystalforest-poky-linux/qat16/2.2.0-30-r0/QAT1.6/quickassist/lookaside/access_layer/src/sample_code/functional/include -I../../../performance/qae/  -DUSER_SPACE \
> | ../../common/cpa_sample_utils.c cpa_dc_stateless_multi_op_checksum_sample.c ../../../performance/qae/linux/user_space/qae_mem_utils.c ../stateless_sample/cpa_dc_sample_user.c /srv/hdd/releases/dizzy/build/tmp/work/crystalforest-poky-linux/qat16/2.2.0-30-r0/QAT1.6/build/libicp_qa_al_s.so -L/usr/Lib -lpthread -lcrypto -o dc_stateless_multi_op_sample
> | /usr/bin/ld: cannot find -lcrypto
> | collect2: error: ld returned 1 exit status
> | Makefile:111: recipe for target 'default' failed
> | make[2]: *** [default] Error 1
> | make[2]: Leaving directory '/srv/hdd/releases/dizzy/build/tmp/work/crystalforest-poky-linux/qat16/2.2.0-30-r0/QAT1.6/quickassist/lookaside/access_layer/src/sample_code/functional/dc/stateless_multi_op_checksum_sample'
> | Makefile:122: recipe for target 'stateless_multi_op_checksum_sample' failed
> | make[1]: *** [stateless_multi_op_checksum_sample] Error 2


Sau!


>   meta-crystalforest/recipes-extended/qat/qat.inc    | 200 +++++++++++++++
>   .../recipes-extended/qat/qat15_1.7.0-30.bb         |  16 ++
>   .../recipes-extended/qat/qat16_2.2.0-30.bb         |  23 ++
>   8 files changed, 622 insertions(+)
>   create mode 100644 meta-crystalforest/recipes-extended/qat/files/00-qat_qa.rules
>   create mode 100755 meta-crystalforest/recipes-extended/qat/files/dc_session.h
>   create mode 100644 meta-crystalforest/recipes-extended/qat/files/qat-1.5-enable-dynamic.patch
>   create mode 100644 meta-crystalforest/recipes-extended/qat/files/qat-1.6-app-dynamiccompression.patch
>   create mode 100644 meta-crystalforest/recipes-extended/qat/files/qat-1.6-app-fix-QA-issue.patch
>   create mode 100644 meta-crystalforest/recipes-extended/qat/qat.inc
>   create mode 100644 meta-crystalforest/recipes-extended/qat/qat15_1.7.0-30.bb
>   create mode 100644 meta-crystalforest/recipes-extended/qat/qat16_2.2.0-30.bb
>


More information about the meta-intel mailing list