* [dpdk-users] Issue with cryptodev_qat_autotest on CentOS 7.2 host system using dpdk-2.2.0 @ 2016-06-22 13:57 Chinmaya Dwibedy 2016-06-22 14:07 ` Chinmaya Dwibedy 0 siblings, 1 reply; 3+ messages in thread From: Chinmaya Dwibedy @ 2016-06-22 13:57 UTC (permalink / raw) To: users 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@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@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@localhost ~]# [root@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@localhost ~]# lspci -nn|grep -e "QAT.*Virtual" | wc -l 64 [root@localhost ~]# Note: This host is capable of PCI passthrough and SR-IOV. [root@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@localhost ~]# grep -i "iommu.*enabled" /var/log/dmesg [ 0.000000] Intel-IOMMU: enabled [root@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@localhost test(keystone_admin)]# The below output confirms that, QAT driver is correctly installed. [root@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@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@localhost ~]# The # lspci -d:443 confirms the bdf of the 32 VF devices are available per QAT device. [root@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@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@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 ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [dpdk-users] Issue with cryptodev_qat_autotest on CentOS 7.2 host system using dpdk-2.2.0 2016-06-22 13:57 [dpdk-users] Issue with cryptodev_qat_autotest on CentOS 7.2 host system using dpdk-2.2.0 Chinmaya Dwibedy @ 2016-06-22 14:07 ` Chinmaya Dwibedy 2016-06-22 14:46 ` Chinmaya Dwibedy 0 siblings, 1 reply; 3+ messages in thread From: Chinmaya Dwibedy @ 2016-06-22 14:07 UTC (permalink / raw) To: users 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 | .../.......@...A 00000070: 00 00 10 12 00 00 40 40 00 40 1A 40 00 00 00 00 | ......@@.@.@.... Regards, Chinmaya On Wed, Jun 22, 2016 at 7:27 PM, Chinmaya Dwibedy <ckdwibedy@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@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@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@localhost ~]# > > > > > > [root@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@localhost ~]# lspci -nn|grep -e "QAT.*Virtual" | wc -l > > 64 > > [root@localhost ~]# > > > Note: This host is capable of PCI passthrough and SR-IOV. > > > > [root@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@localhost ~]# grep -i "iommu.*enabled" /var/log/dmesg > > [ 0.000000] Intel-IOMMU: enabled > > > [root@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@localhost test(keystone_admin)]# > > > The below output confirms that, QAT driver is correctly installed. > > > [root@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@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@localhost ~]# > > > > The # lspci -d:443 confirms the bdf of the 32 VF devices are available > per QAT device. > > > > [root@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@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@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 > ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [dpdk-users] Issue with cryptodev_qat_autotest on CentOS 7.2 host system using dpdk-2.2.0 2016-06-22 14:07 ` Chinmaya Dwibedy @ 2016-06-22 14:46 ` Chinmaya Dwibedy 0 siblings, 0 replies; 3+ messages in thread From: Chinmaya Dwibedy @ 2016-06-22 14:46 UTC (permalink / raw) To: users Hi , Additionally I find the below error logs after running of cryptodev_qat_autotest". If anyone has an idea on it , kindly suggest. [root@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@localhost ~]# Regards, Chinmaya On Wed, Jun 22, 2016 at 7:37 PM, Chinmaya Dwibedy <ckdwibedy@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 | > .../.......@...A > > 00000070: 00 00 10 12 00 00 40 40 00 40 1A 40 00 00 00 00 | > ......@@.@.@.... > > > > > Regards, > Chinmaya > > On Wed, Jun 22, 2016 at 7:27 PM, Chinmaya Dwibedy <ckdwibedy@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@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@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@localhost ~]# >> >> >> >> >> >> [root@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@localhost ~]# lspci -nn|grep -e "QAT.*Virtual" | wc -l >> >> 64 >> >> [root@localhost ~]# >> >> >> Note: This host is capable of PCI passthrough and SR-IOV. >> >> >> >> [root@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@localhost ~]# grep -i "iommu.*enabled" /var/log/dmesg >> >> [ 0.000000] Intel-IOMMU: enabled >> >> >> [root@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@localhost test(keystone_admin)]# >> >> >> The below output confirms that, QAT driver is correctly installed. >> >> >> [root@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@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@localhost ~]# >> >> >> >> The # lspci -d:443 confirms the bdf of the 32 VF devices are available >> per QAT device. >> >> >> >> [root@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@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@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 >> > > ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2016-06-22 14:46 UTC | newest] Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2016-06-22 13:57 [dpdk-users] Issue with cryptodev_qat_autotest on CentOS 7.2 host system using dpdk-2.2.0 Chinmaya Dwibedy 2016-06-22 14:07 ` Chinmaya Dwibedy 2016-06-22 14:46 ` Chinmaya Dwibedy
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).