ZFSonLinux QAT acceleration in 0.7.0

geppi

New Member
Jan 24, 2013
11
2
3
Unfortunately I currently don't have the possibility to run this kind of setup because my root is on zfs and I'm working on some other nasty issue.

In general the key to get QAT acceleration for zfs 0.7.12 working is to have the qat driver loaded and initialized before the zfs kernel modules.

I would expect that the dependency on qat_api shown by 'modinfo zfs' should in theory be sufficient to accomplish this. Only in the case of root on zfs the kernel doesn't have any other choice than to load the zfs kernel modules before the qat driver becomes available because there is no QAT support present in the initramfs.

However, maybe it helps to put a 'softdep' command into zfs.conf which specifies the qat driver as a 'pre' dependency.

What's the objective of the two 'blacklist' commands in yours ?
 

sachem87184

Active Member
Feb 3, 2015
158
30
28
Update:

Tried the new proxmox 6 with kernel 5.0.18-1-pve and ran into yet another issue.

Using the Intel QAT Driver qat1.7.l.4.6.0-00025.tar.gz the kernel API is missing symbols. That's about as far as I got sadly.

usdm_drv: Loading USDM Module Version 0.7.1 ...
usdm_drv: IOCTLs: c0507100, c0507101, c0507102, c0047104
qat_api: Unknown symbol adf_module_load (err -2)
qat_api: Unknown symbol icpSetProcessName (err -2)
qat_api: Unknown symbol adf_module_unload (err -2)
qat_api: Unknown symbol osalCryptoInterfaceExit (err -2)
qat_api: Unknown symbol osalCryptoInterfaceInit (err -2)
QAT: Stopping all acceleration devices.
dh895xcc 0000:06:00.0: qat_dev0 stopped 12 acceleration engines
dh895xcc 0000:06:00.0: Resetting device qat_dev0
dh895xcc 0000:06:00.0: Secondary bus reset
dh895xcc 0000:06:00.0: Starting acceleration device qat_dev0.
dh895xcc 0000:06:00.0: qat_dev0 started 12 acceleration engines
 

0xFelix

New Member
Sep 19, 2019
1
0
1
Have you got any further with this?

I also tried to install the qat1.7.l.4.6.0-00025.tar.gz driver and ended up with the same errors as you.

The missing symbols should be included in the files 'libadf_kernel.a' and 'libosal.a' under 'quickassist/lookaside/access_layer/build/libs' inside the ICP_ROOT but I suspect they are not linked to the 'qat_api.ko'.