Commit Graph

31 Commits

Author SHA1 Message Date
Mikko Ylinen
832e4aaf3c crypto-perf: add kustomization and move to deployments
We plan to use crypto-perf for simple QAT testing. This commit adds
kustomization to make the deployment easier. The original .yaml is
also moved to deployments/ with some changes.

For instance, it turns out also vfio-pci mode with DPDK needs CAP_SYS_ADMIN
(See PR: #187 which states that only igb_uio would need it).

kustomize is available part of kubectl since kubernetes v1.14.

Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2019-08-20 22:01:44 +03:00
Dmitry Rozhkov
a2debf6fb4 qat: fix typo 2019-08-19 12:52:16 +03:00
Mikko Ylinen
d92b528ab6 qat: document kerneldrv mode and build instructions
-mode kerneldrv comes with no documentation. This patch adds few
notes about it and instructions how to get it build if a user chooses
to have it enabled.

Closes: #197

Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2019-08-19 09:56:57 +03:00
Dmitry Rozhkov
8390388f89 qat: make users explicitly opt in to have kernel mode compiled in 2019-08-14 13:41:44 +03:00
Mikko Ylinen
08a079ead2 crypto-perf: use IPC_LOCK to ensure mmap() works
Change SYS_ADMIN to IPC_LOCK capability to ensure DPDK gets to mmap() hugepages.

Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2019-06-12 07:31:01 +03:00
Mikko Ylinen
4ba6af14b9 qat_plugin: kerneldrv: register VF devices when IOMMU is on
When IOMMU is on in the system, the physical function (PF)
devices cannot be used. This prevented using kerneldrv as it
was only written to work with PFs.

However, QAT bare metal functions can also be used when IOMMU
is enabled. In this case, they must be used via virtual functions
(VF).

This commit makes it possible to use kerneldrv when IOMMU is
on. The added side benefit is we can now slice the same QAT HW
for both "dpdk" and "kernel" usages simultaneously.

Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2019-05-29 22:10:26 +03:00
Mikko Ylinen
4a80aa83e2 qat_plugin: kerneldrv: get device.id from inst_id
In adf_ctl output, qat_devX is a sequence number that includes both
PF and VF devices:

qat_dev0 - type: c6xx,  inst_id: 0,  node_id: 1,  bsf: 84:00.0, #accel: 5 #engines: 10 state: up
qat_dev1 - type: c6xx,  inst_id: 1,  node_id: 1,  bsf: 85:00.0, #accel: 5 #engines: 10 state: up
qat_dev2 - type: c6xx,  inst_id: 2,  node_id: 1,  bsf: 86:00.0, #accel: 5 #engines: 10 state: up
qat_dev3 - type: c6xxvf,  inst_id: 0,  node_id: 1,  bsf: 84:01.0, #accel: 1 #engines: 1 state: up
qat_dev4 - type: c6xxvf,  inst_id: 1,  node_id: 1,  bsf: 84:01.1, #accel: 1 #engines: 1 state: up
...

X cannot be used as the config file identified because it does not match
the real id of the device. inst_id gives this so move to use that to find
the right config file.

Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2019-05-28 15:49:45 +03:00
Dmitry Rozhkov
da132f6584 qat: add kernel mode plugin 2019-04-25 14:15:32 +03:00
nolancon
52df9329e4 Re-order devices in scan loop
Fixes: #146

Removed whitespace
2019-01-23 13:41:22 +00:00
Dmitry Rozhkov
54332c5eea announce deviceplugin API public 2019-01-21 17:20:01 +02:00
Dmitry Rozhkov
7662cb9154 extend API to receive full specs instead of strings 2019-01-21 17:15:27 +02:00
Dmitry Rozhkov
58b62f579b qat: fix numbering of env vars
An `Allocate()` request can be used to allocate resources for many
containers thus `counter` needs to be reset for each container
response.
2018-12-12 13:42:05 +02:00
ssehgal
100ecf8340 Improving consumption of devices by updating the environment variable name based on number of devices requested in a container(e.g. QAT0, QAT1) 2018-12-05 15:11:23 +00:00
nolancon
1bb035cc64 PostAllocate implemented in QAT device plugin 2018-12-05 15:11:23 +00:00
ssehgal
eb6d48a512 QAT README update and crypto perf image tag correction 2018-12-03 14:03:55 +00:00
Mikko Ylinen
794b3077bd qat_plugin: readme: list all known VF devices
Not all QAT chips (e.g, 37c9) are available in pci.ids which makes
"grep QAT" to not show them.

Scan all known VF PCI ids in a loop to ensure all configured devices
are shown.

Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2018-11-28 10:32:31 +02:00
Mikko Ylinen
187f8040f0 qat_plugin: use vfio-pci as the default driver
vfio-pci uses IOMMU memory protection and is a safer default.

Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2018-11-28 10:32:31 +02:00
Mikko Ylinen
00bbe922de qat: deployment: set parameters via ConfigMap
For easier deployments, fetch plugin command line arguments from ConfigMap.
When using ConfigMaps, qat_plugin.yaml needs no changes and can always
be used as is.

qat_plugin_default_configmap.yaml uses built-in defaults.

Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2018-11-20 13:43:00 +02:00
ssehgal
6a23d5324a QAT Readme updates 2018-09-05 16:43:00 +01:00
ssehgal
8e37adfb42 Fixing minor bugs with QAT plugin
- To ensure that the device plugin continues to run in case a certain QAT device family is not detected on the node
- Updated the extended resource name to qat/generic in demo/crypto-perf-dpdk-pod-requesting-qat.yaml file
- Added explicit check for QAT device ID to avoid counting other DPDK bound devices as QAT devices
2018-09-03 14:27:27 +01:00
Dmitry Rozhkov
eccd70c600 replace glog with simpler home-grown debug logging 2018-08-16 17:40:16 +03:00
Dmitry Rozhkov
2ff6c5929a Use annotated errors for tracing 2018-08-16 17:31:19 +03:00
Ed Bartosh
a0b6651c1d QAT: fix spelling
Fixed misspell warning:
   Line 153: warning: "Unknwon" is a misspelling of "Unknown" (misspell)
2018-08-14 16:42:02 +03:00
MCamp859
68c099db99 Fixed typo.
Signed-off-by: MCamp859 <mary.camp@ptiglobal.net>
2018-08-02 10:28:30 -04:00
MCamp859
1fe88a9067 Updated with review comments.
Signed-off-by: MCamp859 <mary.camp@ptiglobal.net>
2018-08-02 10:10:14 -04:00
MCamp859
4d5046f860 QAT readme edits for format and text flow.
Signed-off-by: MCamp859 <mary.camp@ptiglobal.net>
2018-07-31 16:08:27 -04:00
MCamp859
6544d35ab1 QAT readme edits for format and text flow.
Signed-off-by: MCamp859 <mary.camp@ptiglobal.net>
2018-07-31 16:04:47 -04:00
Dmitry Rozhkov
b6894b8195 refactor QAT plugin 2018-07-30 15:29:33 +03:00
Mikko Ylinen
6c787ec658 qat: read maxNumdevice as integer 2018-07-26 14:20:44 +03:00
Ed Bartosh
a4b3f7f068 qat: fix formatting errors 2018-07-26 12:44:26 +03:00
ssehgal
3eb2b10f75 Enabling support for QuickAssist Devices 2018-07-23 17:35:37 +01:00