[dpdk-users] Issue with cryptodev_qat_autotest on CentOS 7.2 host system using dpdk-2.2.0

Chinmaya Dwibedy ckdwibedy at gmail.com
Wed Jun 22 16:46:22 CEST 2016


Hi ,

Additionally I find the below error logs after running of
cryptodev_qat_autotest".
If anyone has an idea on it , kindly suggest.


[root at localhost ~]# dmesg

[  794.746134] dmar: DRHD: handling fault status reg 2

[  794.746141] dmar: DMAR:[DMA Read] Request device [83:01.0] fault addr
3398c000

DMAR:[fault reason 02] Present bit in context entry is clear

[  794.746158] icp_qa_al err: adf_dh895xcc_adf_isr_handleUncoInterrupt:
Uncorrectable Push/Pull Misc Error

memory status: No errors occurred - Transaction Id 0x0 - Error type reserved

Bus Operation Type Push - Id 0x80000

[  794.746167] Reset needed for device: icp_dev0

[  794.746167] Auto Reset disabled. Please reset device0
[root at localhost ~]#

Regards,
Chinmaya

On Wed, Jun 22, 2016 at 7:37 PM, Chinmaya Dwibedy <ckdwibedy at gmail.com>
wrote:

> Hi ,
>
>
> Here are the console logs during run of cryptodev_qat_autotest" under
> app/test.
>
>
>
> PMD: qat_queue_create():  >>
>
> PMD: queue_dma_zone_reserve():  >>
>
> PMD: queue_dma_zone_reserve(): Allocate memzone for
> rte_qat_pmd_qp_mem_0_0_2, size 16384 on socket 0
>
> PMD: qat_qp_check_queue_alignment():  >>
>
> PMD: adf_verify_queue_size():  >>
>
> PMD: qat_queue_create(): RING size in CSR: 8, in bytes 16384, nb msgs 128,
> msg_size 128, max_inflights 127 modulo 14
>
> PMD: qat_rx_queue_create():  >>
>
> PMD: qat_rx_queue_create(): RX ring for 128 msgs: qp id 0, bundle 0, ring
> 10
>
> PMD: qat_queue_create():  >>
>
> PMD: queue_dma_zone_reserve():  >>
>
> PMD: queue_dma_zone_reserve(): Allocate memzone for
> rte_qat_pmd_qp_mem_0_0_10, size 4096 on socket 0
>
> PMD: qat_qp_check_queue_alignment():  >>
>
> PMD: adf_verify_queue_size():  >>
>
> PMD: qat_queue_create(): RING size in CSR: 6, in bytes 4096, nb msgs 128,
> msg_size 32, max_inflights 127 modulo 12
>
> PMD: adf_configure_queues():  >>
>
> PMD: adf_queue_arb_enable():  >>
>
> PMD: qat_crypto_sym_qp_setup():  >>
>
> PMD: qat_crypto_sym_qp_release():  >>
>
> PMD: adf_queue_arb_disable():  >>
>
> PMD: qat_tx_queue_create():  >>
>
> PMD: qat_tx_queue_create(): TX ring for 128 msgs: qp_id 1, bundle 0, ring 3
>
> PMD: qat_queue_create():  >>
>
> PMD: queue_dma_zone_reserve():  >>
>
> PMD: queue_dma_zone_reserve(): Allocate memzone for
> rte_qat_pmd_qp_mem_0_0_3, size 16384 on socket 0
>
> PMD: qat_qp_check_queue_alignment():  >>
>
> PMD: adf_verify_queue_size():  >>
>
> PMD: qat_queue_create(): RING size in CSR: 8, in bytes 16384, nb msgs 128,
> msg_size 128, max_inflights 127 modulo 14
>
> PMD: qat_rx_queue_create():  >>
>
> PMD: qat_rx_queue_create(): RX ring for 128 msgs: qp id 1, bundle 0, ring
> 11
>
> PMD: qat_queue_create():  >>
>
> PMD: queue_dma_zone_reserve():  >>
>
> PMD: queue_dma_zone_reserve(): Allocate memzone for
> rte_qat_pmd_qp_mem_0_0_11, size 4096 on socket 0
>
> PMD: qat_qp_check_queue_alignment():  >>
>
> PMD: adf_verify_queue_size():  >>
>
> PMD: qat_queue_create(): RING size in CSR: 6, in bytes 4096, nb msgs 128,
> msg_size 32, max_inflights 127 modulo 12
>
> PMD: adf_configure_queues():  >>
>
> PMD: adf_queue_arb_enable():  >>
>
> PMD: qat_crypto_sym_qp_setup():  >>
>
> PMD: qat_crypto_sym_qp_release():  >>
>
> PMD: adf_queue_arb_disable():  >>
>
> PMD: qat_tx_queue_create():  >>
>
> PMD: qat_tx_queue_create(): TX ring for 2048 msgs: qp_id 0, bundle 0, ring
> 2
>
> PMD: qat_queue_create():  >>
>
> PMD: queue_dma_zone_reserve():  >>
>
> PMD: queue_dma_zone_reserve(): Allocate memzone for
> rte_qat_pmd_qp_mem_0_0_2, size 262144 on socket 0
>
> PMD: qat_qp_check_queue_alignment():  >>
>
> PMD: adf_verify_queue_size():  >>
>
> PMD: qat_queue_create(): RING size in CSR: 12, in bytes 262144, nb msgs
> 2048, msg_size 128, max_inflights 2047 modulo 18
>
> PMD: qat_rx_queue_create():  >>
>
> PMD: qat_rx_queue_create(): RX ring for 2048 msgs: qp id 0, bundle 0, ring
> 10
>
> PMD: qat_queue_create():  >>
>
> PMD: queue_dma_zone_reserve():  >>
>
> PMD: queue_dma_zone_reserve(): Allocate memzone for
> rte_qat_pmd_qp_mem_0_0_10, size 65536 on socket 0
>
> PMD: qat_qp_check_queue_alignment():  >>
>
> PMD: adf_verify_queue_size():  >>
>
> PMD: qat_queue_create(): RING size in CSR: 10, in bytes 65536, nb msgs
> 2048, msg_size 32, max_inflights 2047 modulo 16
>
> PMD: adf_configure_queues():  >>
>
> PMD: adf_queue_arb_enable():  >>
>
> PMD: qat_crypto_sym_qp_setup():  >>
>
> PMD: qat_crypto_sym_qp_release():  >>
>
> PMD: adf_queue_arb_disable():  >>
>
> PMD: qat_tx_queue_create():  >>
>
> PMD: qat_tx_queue_create(): TX ring for 2048 msgs: qp_id 1, bundle 0, ring
> 3
>
> PMD: qat_queue_create():  >>
>
> PMD: queue_dma_zone_reserve():  >>
>
> PMD: queue_dma_zone_reserve(): Allocate memzone for
> rte_qat_pmd_qp_mem_0_0_3, size 262144 on socket 0
>
> PMD: qat_qp_check_queue_alignment():  >>
>
> PMD: adf_verify_queue_size():  >>
>
> PMD: qat_queue_create(): RING size in CSR: 12, in bytes 262144, nb msgs
> 2048, msg_size 128, max_inflights 2047 modulo 18
>
> PMD: qat_rx_queue_create():  >>
>
> PMD: qat_rx_queue_create(): RX ring for 2048 msgs: qp id 1, bundle 0, ring
> 11
>
> PMD: qat_queue_create():  >>
>
> PMD: queue_dma_zone_reserve():  >>
>
> PMD: queue_dma_zone_reserve(): Allocate memzone for
> rte_qat_pmd_qp_mem_0_0_11, size 65536 on socket 0
>
> PMD: qat_qp_check_queue_alignment():  >>
>
> PMD: adf_verify_queue_size():  >>
>
> PMD: qat_queue_create(): RING size in CSR: 10, in bytes 65536, nb msgs
> 2048, msg_size 32, max_inflights 2047 modulo 16
>
> PMD: adf_configure_queues():  >>
>
> PMD: adf_queue_arb_enable():  >>
>
> PMD: qat_crypto_sym_qp_setup():  >>
>
> PMD: qat_crypto_sym_qp_release():  >>
>
> PMD: adf_queue_arb_disable():  >>
>
> PMD: qat_tx_queue_create():  >>
>
> PMD: qat_tx_queue_create(): TX ring for 4096 msgs: qp_id 0, bundle 0, ring
> 2
>
> PMD: qat_queue_create():  >>
>
> PMD: queue_dma_zone_reserve():  >>
>
> PMD: queue_dma_zone_reserve(): Allocate memzone for
> rte_qat_pmd_qp_mem_0_0_2, size 524288 on socket 0
>
> PMD: qat_qp_check_queue_alignment():  >>
>
> PMD: adf_verify_queue_size():  >>
>
> PMD: qat_queue_create(): RING size in CSR: 13, in bytes 524288, nb msgs
> 4096, msg_size 128, max_inflights 4095 modulo 19
>
> PMD: qat_rx_queue_create():  >>
>
> PMD: qat_rx_queue_create(): RX ring for 4096 msgs: qp id 0, bundle 0, ring
> 10
>
> PMD: qat_queue_create():  >>
>
> PMD: queue_dma_zone_reserve():  >>
>
> PMD: queue_dma_zone_reserve(): Allocate memzone for
> rte_qat_pmd_qp_mem_0_0_10, size 131072 on socket 0
>
> PMD: qat_qp_check_queue_alignment():  >>
>
> PMD: adf_verify_queue_size():  >>
>
> PMD: qat_queue_create(): RING size in CSR: 11, in bytes 131072, nb msgs
> 4096, msg_size 32, max_inflights 4095 modulo 17
>
> PMD: adf_configure_queues():  >>
>
> PMD: adf_queue_arb_enable():  >>
>
> PMD: qat_crypto_sym_qp_setup():  >>
>
> PMD: qat_crypto_sym_qp_release():  >>
>
> PMD: adf_queue_arb_disable():  >>
>
> PMD: qat_tx_queue_create():  >>
>
> PMD: qat_tx_queue_create(): TX ring for 4096 msgs: qp_id 1, bundle 0, ring
> 3
>
> PMD: qat_queue_create():  >>
>
> PMD: queue_dma_zone_reserve():  >>
>
> PMD: queue_dma_zone_reserve(): Allocate memzone for
> rte_qat_pmd_qp_mem_0_0_3, size 524288 on socket 0
>
> PMD: qat_qp_check_queue_alignment():  >>
>
> PMD: adf_verify_queue_size():  >>
>
> PMD: qat_queue_create(): RING size in CSR: 13, in bytes 524288, nb msgs
> 4096, msg_size 128, max_inflights 4095 modulo 19
>
> PMD: qat_rx_queue_create():  >>
>
> PMD: qat_rx_queue_create(): RX ring for 4096 msgs: qp id 1, bundle 0, ring
> 11
>
> PMD: qat_queue_create():  >>
>
> PMD: queue_dma_zone_reserve():  >>
>
> PMD: queue_dma_zone_reserve(): Allocate memzone for
> rte_qat_pmd_qp_mem_0_0_11, size 131072 on socket 0
>
> PMD: qat_qp_check_queue_alignment():  >>
>
> PMD: adf_verify_queue_size():  >>
>
> PMD: qat_queue_create(): RING size in CSR: 11, in bytes 131072, nb msgs
> 4096, msg_size 32, max_inflights 4095 modulo 17
>
> PMD: adf_configure_queues():  >>
>
> PMD: adf_queue_arb_enable():  >>
>
> PMD: qat_crypto_sym_qp_setup():  >>
>
> PMD: qat_crypto_sym_qp_release():  >>
>
> PMD: adf_queue_arb_disable():  >>
>
> PMD: qat_crypto_sym_qp_setup(): Can't create qp for 4098 descriptors
>
> PMD: qat_crypto_sym_qp_setup():  >>
>
> PMD: qat_crypto_sym_qp_release():  >>
>
> PMD: adf_queue_arb_disable():  >>
>
> PMD: qat_crypto_sym_qp_setup(): Can't create qp for 4098 descriptors
>
> PMD: qat_crypto_sym_qp_setup():  >>
>
> PMD: qat_crypto_sym_qp_setup(): Can't create qp for 4294967294 descriptors
>
> PMD: qat_crypto_sym_qp_setup():  >>
>
> PMD: qat_crypto_sym_qp_setup(): Can't create qp for 4294967294 descriptors
>
> PMD: qat_crypto_sym_qp_setup():  >>
>
> PMD: qat_tx_queue_create():  >>
>
> PMD: qat_tx_queue_create(): TX ring for 128 msgs: qp_id 0, bundle 0, ring 2
>
> PMD: qat_queue_create():  >>
>
> PMD: queue_dma_zone_reserve():  >>
>
> PMD: queue_dma_zone_reserve(): Allocate memzone for
> rte_qat_pmd_qp_mem_0_0_2, size 16384 on socket 0
>
> PMD: qat_qp_check_queue_alignment():  >>
>
> PMD: adf_verify_queue_size():  >>
>
> PMD: qat_queue_create(): RING size in CSR: 8, in bytes 16384, nb msgs 128,
> msg_size 128, max_inflights 127 modulo 14
>
> PMD: qat_rx_queue_create():  >>
>
> PMD: qat_rx_queue_create(): RX ring for 128 msgs: qp id 0, bundle 0, ring
> 10
>
> PMD: qat_queue_create():  >>
>
> PMD: queue_dma_zone_reserve():  >>
>
> PMD: queue_dma_zone_reserve(): Allocate memzone for
> rte_qat_pmd_qp_mem_0_0_10, size 4096 on socket 0
>
> PMD: qat_qp_check_queue_alignment():  >>
>
> PMD: adf_verify_queue_size():  >>
>
> PMD: qat_queue_create(): RING size in CSR: 6, in bytes 4096, nb msgs 128,
> msg_size 32, max_inflights 127 modulo 12
>
> PMD: adf_configure_queues():  >>
>
> PMD: adf_queue_arb_enable():  >>
>
> PMD: qat_crypto_sym_qp_setup():  >>
>
> PMD: qat_tx_queue_create():  >>
>
> PMD: qat_tx_queue_create(): TX ring for 128 msgs: qp_id 1, bundle 0, ring 3
>
> PMD: qat_queue_create():  >>
>
> PMD: queue_dma_zone_reserve():  >>
>
> PMD: queue_dma_zone_reserve(): Allocate memzone for
> rte_qat_pmd_qp_mem_0_0_3, size 16384 on socket 0
>
> PMD: qat_qp_check_queue_alignment():  >>
>
> PMD: adf_verify_queue_size():  >>
>
> PMD: qat_queue_create(): RING size in CSR: 8, in bytes 16384, nb msgs 128,
> msg_size 128, max_inflights 127 modulo 14
>
> PMD: qat_rx_queue_create():  >>
>
> PMD: qat_rx_queue_create(): RX ring for 128 msgs: qp id 1, bundle 0, ring
> 11
>
> PMD: qat_queue_create():  >>
>
> PMD: queue_dma_zone_reserve():  >>
>
> PMD: queue_dma_zone_reserve(): Allocate memzone for
> rte_qat_pmd_qp_mem_0_0_11, size 4096 on socket 0
>
> PMD: qat_qp_check_queue_alignment():  >>
>
> PMD: adf_verify_queue_size():  >>
>
> PMD: qat_queue_create(): RING size in CSR: 6, in bytes 4096, nb msgs 128,
> msg_size 32, max_inflights 127 modulo 12
>
> PMD: adf_configure_queues():  >>
>
> PMD: adf_queue_arb_enable():  >>
>
> PMD: qat_crypto_sym_qp_setup():  >>
>
> PMD: qat_crypto_sym_qp_release():  >>
>
> PMD: adf_queue_arb_disable():  >>
>
> PMD: qat_tx_queue_create():  >>
>
> PMD: qat_tx_queue_create(): TX ring for 129 msgs: qp_id 0, bundle 0, ring 2
>
> PMD: qat_queue_create():  >>
>
> PMD: queue_dma_zone_reserve():  >>
>
> PMD: queue_dma_zone_reserve(): Allocate memzone for
> rte_qat_pmd_qp_mem_0_0_2, size 16512 on socket 0
>
> EAL: memzone_reserve_aligned_thread_unsafe(): Invalid alignment: 16512
>
> PMD: qat_queue_create(): Failed to allocate ring memzone
>
> PMD: qat_crypto_sym_qp_setup(): Tx queue create failed queue_pair_id=0
>
> PMD: qat_crypto_sym_qp_setup():  >>
>
> PMD: qat_crypto_sym_qp_release():  >>
>
> PMD: adf_queue_arb_disable():  >>
>
> PMD: qat_tx_queue_create():  >>
>
> PMD: qat_tx_queue_create(): TX ring for 129 msgs: qp_id 1, bundle 0, ring 3
>
> PMD: qat_queue_create():  >>
>
> PMD: queue_dma_zone_reserve():  >>
>
> PMD: queue_dma_zone_reserve(): Allocate memzone for
> rte_qat_pmd_qp_mem_0_0_3, size 16512 on socket 0
>
> EAL: memzone_reserve_aligned_thread_unsafe(): Invalid alignment: 16512
>
> PMD: qat_queue_create(): Failed to allocate ring memzone
>
> PMD: qat_crypto_sym_qp_setup(): Tx queue create failed queue_pair_id=1
>
> CRYPTODEV: rte_cryptodev_queue_pair_setup() line 763: Invalid
> queue_pair_id=2
>
> CRYPTODEV: rte_cryptodev_queue_pair_setup() line 763: Invalid
> queue_pair_id=65535
>
> USER1: CRYPTO_MBUFPOOL count 8191
>
> PMD: qat_crypto_sym_stats_get():  >>
>
> PMD: qat_crypto_sym_stats_get(): Uninitialised queue pair
>
> PMD: qat_crypto_sym_stats_get(): Uninitialised queue pair
>
> CRYPTODEV: rte_cryptodev_stop() line 690: Device with dev_id=0 already
> stopped
>
>  + TestCase [ 2] : test_queue_pair_descriptor_setup succeeded
>
> CRYPTODEV: rte_cryptodev_queue_pairs_config() line 467: Setup 2 queues
> pairs on device 0
>
> PMD: qat_dev_info_get():  >>
>
> CRYPTODEV: rte_crypto_session_pool_create() line 1031: cdev_0_sess_mp
> mempool created!
>
> PMD: qat_crypto_sym_qp_setup():  >>
>
> PMD: qat_tx_queue_create():  >>
>
> PMD: qat_tx_queue_create(): TX ring for 128 msgs: qp_id 0, bundle 0, ring 2
>
> PMD: qat_queue_create():  >>
>
> PMD: queue_dma_zone_reserve():  >>
>
> PMD: queue_dma_zone_reserve(): Allocate memzone for
> rte_qat_pmd_qp_mem_0_0_2, size 16384 on socket 0
>
> PMD: qat_qp_check_queue_alignment():  >>
>
> PMD: adf_verify_queue_size():  >>
>
> PMD: qat_queue_create(): RING size in CSR: 8, in bytes 16384, nb msgs 128,
> msg_size 128, max_inflights 127 modulo 14
>
> PMD: qat_rx_queue_create():  >>
>
> PMD: qat_rx_queue_create(): RX ring for 128 msgs: qp id 0, bundle 0, ring
> 10
>
> PMD: qat_queue_create():  >>
>
> PMD: queue_dma_zone_reserve():  >>
>
> PMD: queue_dma_zone_reserve(): Allocate memzone for
> rte_qat_pmd_qp_mem_0_0_10, size 4096 on socket 0
>
> PMD: qat_qp_check_queue_alignment():  >>
>
> PMD: adf_verify_queue_size():  >>
>
> PMD: qat_queue_create(): RING size in CSR: 6, in bytes 4096, nb msgs 128,
> msg_size 32, max_inflights 127 modulo 12
>
> PMD: adf_configure_queues():  >>
>
> PMD: adf_queue_arb_enable():  >>
>
> PMD: qat_crypto_sym_qp_setup():  >>
>
> PMD: qat_tx_queue_create():  >>
>
> PMD: qat_tx_queue_create(): TX ring for 128 msgs: qp_id 1, bundle 0, ring 3
>
> PMD: qat_queue_create():  >>
>
> PMD: queue_dma_zone_reserve():  >>
>
> PMD: queue_dma_zone_reserve(): Allocate memzone for
> rte_qat_pmd_qp_mem_0_0_3, size 16384 on socket 0
>
> PMD: qat_qp_check_queue_alignment():  >>
>
> PMD: adf_verify_queue_size():  >>
>
> PMD: qat_queue_create(): RING size in CSR: 8, in bytes 16384, nb msgs 128,
> msg_size 128, max_inflights 127 modulo 14
>
> PMD: qat_rx_queue_create():  >>
>
> PMD: qat_rx_queue_create(): RX ring for 128 msgs: qp id 1, bundle 0, ring
> 11
>
> PMD: qat_queue_create():  >>
>
> PMD: queue_dma_zone_reserve():  >>
>
> PMD: queue_dma_zone_reserve(): Allocate memzone for
> rte_qat_pmd_qp_mem_0_0_11, size 4096 on socket 0
>
> PMD: qat_qp_check_queue_alignment():  >>
>
> PMD: adf_verify_queue_size():  >>
>
> PMD: qat_queue_create(): RING size in CSR: 6, in bytes 4096, nb msgs 128,
> msg_size 32, max_inflights 127 modulo 12
>
> PMD: adf_configure_queues():  >>
>
> PMD: adf_queue_arb_enable():  >>
>
> PMD: qat_crypto_sym_stats_reset():  >>
>
> PMD: qat_crypto_sym_stats_reset(): QAT crypto: stats cleared
>
> CRYPTODEV: rte_cryptodev_start() line 636: Start dev_id=0
>
> PMD: qat_dev_start():  >>
>
> PMD: qat_dev_info_get():  >>
>
> PMD: qat_crypto_sym_configure_session():  >>
>
> PMD: qat_alg_aead_session_create_content_desc():  >>
>
> PMD: qat_alg_do_precomputes():  >>
>
> PMD: partial_hash_compute():  >>
>
> PMD: partial_hash_compute():  >>
>
> PMD: qat_alg_init_common_hdr():  >>
>
> qat_req: at [0x7f35eb00c000], len=128
>
> 00000000: 00 03 04 80 44 00 00 00 90 5E D9 B4 0F 00 00 00 |
> ....D....^......
>
> 00000010: 00 00 28 00 00 00 00 00 C0 0C 22 F8 35 7F 00 00 |
> ..(.......".5...
>
> 00000020: B0 0D 82 2F 0D 00 00 00 B0 0D 82 2F 0D 00 00 00 |
> .../......./....
>
> 00000030: 50 02 00 00 50 02 00 00 10 00 00 00 00 02 00 00 |
> P...P...........
>
> 00000040: 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F |
> ................
>
> 00000050: 10 00 00 00 00 02 00 00 00 00 00 00 00 00 00 00 |
> ................
>
> 00000060: C0 0F 82 2F 0D 00 00 00 00 00 00 40 02 02 00 41 |
> .../....... at ...A
>
> 00000070: 00 00 10 12 00 00 40 40 00 40 1A 40 00 00 00 00 |
> ......@@. at .@....
>
>
>
>
> Regards,
> Chinmaya
>
> On Wed, Jun 22, 2016 at 7:27 PM, Chinmaya Dwibedy <ckdwibedy at gmail.com>
> wrote:
>
>> Hi All,
>>
>>
>> I do have CentOS Linux release 7.2.1511 (Core) host system, where two
>> Intel QAT devices are installed. I have installed dpdk-2.2.0 and QAT driver
>> as mentioned in section 6.4. (i.e., Installation using 01.org QAT
>> driver) of http://dpdk.readthedocs.io/en/v16.04/cryptodevs/qat.html. I
>> tested "cryptodev_qat_autotest" under app/test. I found this test case to
>> be failed. It appears that, it the dequeue burst API fails to retrieve any
>> processed operations available from the queue pair (on the QAT Crypto
>> device), from the devices processed queue.  I have captured and attached
>> the console.log here.
>>
>>
>> Can anyone please suggest, is it an issue with the setup/configuration or
>> QAT PMD code? Kindly point me to right direction whenever you find me wrong.Thank
>> you in advance for your time and support.
>>
>>
>> Here goes my configuration.
>>
>>
>>
>> [root at localhost ~]# service qat_service status
>>
>> There is 2 acceleration device(s) in the system:
>>
>>  icp_dev0 - type=dh895xcc, inst_id=0, node_id=1,  bdf=83:00:0, #accel=6,
>> #engines=12, state=up
>>
>>  icp_dev1 - type=dh895xcc, inst_id=1, node_id=1,  bdf=88:00:0, #accel=6,
>> #engines=12, state=up
>>
>>
>> [root at localhost ~]# lspci -nn | grep 0435
>>
>> 83:00.0 Co-processor [0b40]: Intel Corporation DH895XCC Series QAT
>> [8086:0435]
>>
>> 88:00.0 Co-processor [0b40]: Intel Corporation DH895XCC Series QAT
>> [8086:0435]
>>
>> [root at localhost ~]#
>>
>>
>>
>>
>>
>> [root at localhost ~]# lspci -nn|grep -e "QAT.*Virtual"
>>
>> 83:01.0 Co-processor [0b40]: Intel Corporation DH895XCC Series QAT
>> Virtual Function [8086:0443]
>>
>> 83:01.1 Co-processor [0b40]: Intel Corporation DH895XCC Series QAT
>> Virtual Function [8086:0443]
>>
>> 83:01.2 Co-processor [0b40]: Intel Corporation DH895XCC Series QAT
>> Virtual Function [8086:0443]
>>
>> 83:01.3 Co-processor [0b40]: Intel Corporation DH895XCC Series QAT
>> Virtual Function [8086:0443]
>>
>> 83:01.4 Co-processor [0b40]: Intel Corporation DH895XCC Series QAT
>> Virtual Function [8086:0443]
>>
>> 83:01.5 Co-processor [0b40]: Intel Corporation DH895XCC Series QAT
>> Virtual Function [8086:0443]
>>
>>
>> -------------------------------------------------------------------------------------------------------------
>>
>> -------------------------------------------------------------------------------------------------------------
>>
>>
>> 88:04.1 Co-processor [0b40]: Intel Corporation DH895XCC Series QAT
>> Virtual Function [8086:0443]
>>
>> 88:04.2 Co-processor [0b40]: Intel Corporation DH895XCC Series QAT
>> Virtual Function [8086:0443]
>>
>> 88:04.3 Co-processor [0b40]: Intel Corporation DH895XCC Series QAT
>> Virtual Function [8086:0443]
>>
>> 88:04.4 Co-processor [0b40]: Intel Corporation DH895XCC Series QAT
>> Virtual Function [8086:0443]
>>
>> 88:04.5 Co-processor [0b40]: Intel Corporation DH895XCC Series QAT
>> Virtual Function [8086:0443]
>>
>> 88:04.6 Co-processor [0b40]: Intel Corporation DH895XCC Series QAT
>> Virtual Function [8086:0443]
>>
>> 88:04.7 Co-processor [0b40]: Intel Corporation DH895XCC Series QAT
>> Virtual Function [8086:0443]
>>
>>
>> [root at localhost ~]# lspci -nn|grep -e "QAT.*Virtual" | wc -l
>>
>> 64
>>
>> [root at localhost ~]#
>>
>>
>> Note: This host is  capable of PCI passthrough and SR-IOV.
>>
>>
>>
>> [root at localhost ~]# grep -i dmar /var/log/dmesg
>>
>> [    0.000000] ACPI: DMAR 000000007b69a000 00130 (v01 INTEL   S2600WT
>> 00000001 INTL 20091013)
>>
>> [    0.135336] dmar: Host address width 46
>>
>> [    0.135587] dmar: DRHD base: 0x000000fbffc000 flags: 0x0
>>
>> [    0.135855] dmar: IOMMU 0: reg_base_addr fbffc000 ver 1:0 cap
>> d2078c106f0466 ecap f020de
>>
>> [    0.136309] dmar: DRHD base: 0x000000c7ffc000 flags: 0x1
>>
>> [    0.136569] dmar: IOMMU 1: reg_base_addr c7ffc000 ver 1:0 cap
>> d2078c106f0466 ecap f020de
>>
>> [    0.137016] dmar: RMRR base: 0x0000007a3db000 end: 0x0000007a3ddfff
>>
>> [    0.137274] dmar: ATSR flags: 0x0
>>
>> [    0.137522] dmar: ATSR flags: 0x0
>>
>> [root at localhost ~]# grep -i "iommu.*enabled" /var/log/dmesg
>>
>> [    0.000000] Intel-IOMMU: enabled
>>
>>
>> [root at localhost test(keystone_admin)]# cat /proc/cmdline
>>
>> BOOT_IMAGE=/vmlinuz-3.10.0-327.18.2.el7.x86_64
>> root=/dev/mapper/centos-root ro rd.lvm.lv=centos/swap crashkernel=auto
>> nomodeset rd.lvm.lv=centos/root rhgb iommu=pt intel_iommu=on
>>
>> [root at localhost test(keystone_admin)]#
>>
>>
>> The below output confirms that, QAT driver is correctly installed.
>>
>>
>>  [root at localhost ~]# cat /proc/icp_dh895xcc_dev0/version
>>
>> +--------------------------------------------------+
>>
>> | Hardware and Software versions for device 0      |
>>
>> +--------------------------------------------------+
>>
>>  Hardware Version:             A0 SKU2
>>
>>  Firmware Version:             2.6.0
>>
>>  MMP Version:                  1.0.0
>>
>>  Driver Version:               2.6.0
>>
>>  Lowest Compatible Driver:     2.3
>>
>>  QuickAssist API CY Version:   1.9
>>
>>  QuickAssist API DC Version:   1.6
>>
>> +--------------------------------------------------+
>>
>> [root at localhost ~]# cat /proc/icp_dh895xcc_dev1/version
>>
>> +--------------------------------------------------+
>>
>> | Hardware and Software versions for device 1      |
>>
>> +--------------------------------------------------+
>>
>>  Hardware Version:             A0 SKU2
>>
>>  Firmware Version:             2.6.0
>>
>>  MMP Version:                  1.0.0
>>
>>  Driver Version:               2.6.0
>>
>>  Lowest Compatible Driver:     2.3
>>
>>  QuickAssist API CY Version:   1.9
>>
>>  QuickAssist API DC Version:   1.6
>>
>> +--------------------------------------------------+
>>
>> [root at localhost ~]#
>>
>>
>>
>> The # lspci -d:443  confirms the bdf of the 32 VF devices are available
>> per QAT device.
>>
>>
>>
>> [root at localhost ~]# lspci -d:443
>>
>> 83:01.0 Co-processor: Intel Corporation DH895XCC Series QAT Virtual
>> Function
>>
>> 83:01.1 Co-processor: Intel Corporation DH895XCC Series QAT Virtual
>> Function
>>
>> 83:01.2 Co-processor: Intel Corporation DH895XCC Series QAT Virtual
>> Function
>>
>> 83:01.3 Co-processor: Intel Corporation DH895XCC Series QAT Virtual
>> Function
>>
>>
>> -------------------------------------------------------------------------------------
>>
>>
>> -------------------------------------------------------------------------------------
>>
>> 88:04.3 Co-processor: Intel Corporation DH895XCC Series QAT Virtual
>> Function
>>
>> 88:04.4 Co-processor: Intel Corporation DH895XCC Series QAT Virtual
>> Function
>>
>> 88:04.5 Co-processor: Intel Corporation DH895XCC Series QAT Virtual
>> Function
>>
>> 88:04.6 Co-processor: Intel Corporation DH895XCC Series QAT Virtual
>> Function
>>
>> 88:04.7 Co-processor: Intel Corporation DH895XCC Series QAT Virtual
>> Function
>>
>> [root at localhost ~]#
>>
>>
>>
>> *DPDK configuration options
>> in config/defconfig_x86_64-native-linuxapp-gcc*
>>
>>
>>
>> CONFIG_RTE_LIBRTE_PMD_AESNI_MB=n
>>
>> CONFIG_RTE_LIBRTE_CRYPTODEV_DEBUG=y
>>
>> CONFIG_RTE_LIBRTE_VIRTIO_PMD=n
>>
>> CONFIG_RTE_LIBRTE_VIRTIO_DEBUG_INIT=n
>>
>> CONFIG_RTE_LIBRTE_VIRTIO_DEBUG_DRIVER=n
>>
>> CONFIG_RTE_LIBRTE_PMD_QAT=y
>>
>> CONFIG_RTE_LIBRTE_PMD_QAT_DEBUG_INIT=y
>>
>> CONFIG_RTE_LIBRTE_PMD_QAT_DEBUG_TX=y
>>
>> CONFIG_RTE_LIBRTE_PMD_QAT_DEBUG_RX=y
>>
>> CONFIG_RTE_LIBRTE_PMD_QAT_DEBUG_DRIVER=y
>>
>> CONFIG_RTE_MAX_MEMSEG=4096
>>
>> [root at localhost dpdk-2.2.0]#
>>
>>
>>
>> Here goes my setup.sh
>>
>>
>>
>> make config T=x86_64-native-linuxapp-gcc
>>
>> sed -ri 's,(PMD_PCAP=).*,\1y,' build/.config
>>
>> make install T=x86_64-native-linuxapp-gcc
>>
>> mkdir -p /mnt/huge
>>
>> mount -t hugetlbfs nodev /mnt/huge
>>
>> echo 8192 >
>> /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages
>>
>> echo 8192 >
>> /sys/devices/system/node/node1/hugepages/hugepages-2048kB/nr_hugepages
>>
>> sudo modprobe uio_pci_generic
>>
>> sudo modprobe uio
>>
>> rmmod igb_uio
>>
>> insmod
>> ./x86_64-native-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.ko
>>
>> echo -n "0000:83:01.0" > /sys/bus/pci/devices/0000\:83\:01.0/driver/unbind
>>
>> echo "8086 0443" > /sys/bus/pci/drivers/igb_uio/new_id
>>
>>
>> The below OP confirms that, the QAT VF is bound to the DPDK UIO driver.
>>
>>
>>
>> 83:01.0 Co-processor: Intel Corporation DH895XCC Series QAT Virtual
>> Function
>>
>>         Subsystem: Intel Corporation Device 0000
>>
>>         Control: I/O- Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop-
>> ParErr- Stepping- SERR- FastB2B- DisINTx-
>>
>>         Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
>> <TAbort- <MAbort- >SERR- <PERR- INTx-
>>
>>         Latency: 0
>>
>>         Region 0: [virtual] Memory at c8280000 (64-bit, non-prefetchable)
>> [size=4K]
>>
>>         Region 2: [virtual] Memory at c82a0000 (64-bit, non-prefetchable)
>> [size=4K]
>>
>>         Capabilities: [90] MSI: Enable- Count=1/1 Maskable+ 64bit+
>>
>>                 Address: 0000000000000000  Data: 0000
>>
>>                 Masking: 00000000  Pending: 00000000
>>
>>         Kernel driver in use: igb_uio
>>
>>
>> Regards,
>>
>> Chinmaya
>>
>
>


More information about the users mailing list