Add Intel QuickAssist (QAT) Support to TrueNas
Description
SmartDraw Connector
Katalon Manual Tests (BETA)
Activity
Kris Moore July 18, 2024 at 6:06 PM
Thank you for submitting this feature request! To better accommodate and gauge community interest for future versions of TrueNAS we have moved the submission process to our TrueNAS Community Forums. If this feature is still important and relevant for consideration, please refer to the links below on how to submit it for community voting and TrueNAS roadmap review.
Feature Requests Forum:
https://forums.truenas.com/c/features/12
Feature Requests FAQ:
https://forums.truenas.com/t/about-the-feature-requests-category-readme-first/8802
Kjeld Schouten-lebbing September 23, 2020 at 7:49 AM
I've ended my efforts testing to implement QAT on SCALE.
Here are my highlights:
Intel just released "new" QAT drivers for the older hardware, which for some ducking retarded reason... does still not even include the basic changes needed for kernel 5.6, 5.7 or 5.8 support.
Intel also decided to create new drivers for every hardware release (which cover about 70% of the same code, so totally needless frustration), which means we can only support 1 hardware version (because we can only build ZFS based on one QAT driver)
In the newest drivers intel even added more changes that would break support on newer kernels it seems.
It is possible to patch the drivers for kernel 5.6, 5.7 and 5.8 support, but that would mean IX has to maintain Intels driver package. Which is a HUGE support burden.
From the above highlights I conclude the following:
Implementing QAT would mean that IX has to pick one hardware revision to support and maintain the QAT drivers and library themselves.
This is not efficient, not sane and just not a good idea at all.
@Adam Goldberg I'm sorry to say, but you can just as well close this suggestion, because it is not going to be implemented.
Kjeld Schouten-lebbing August 31, 2020 at 9:45 PM(edited)
My Proof-of-Concept for building ZFS with QAT support enabled, has been tested and validated.
Sadly enough this PoC included a patch to get it working on kernel 5.6, but I expect a new intel QAT driver supporting kernel 5.6 somewhere this month.
I'll make sure to get at least ZFS QAT compatibility mergeable when thats available. I don't think there are significant =issues with that, @Ryan Moeller?
To be clear:
This doesn't completely solve this feature by adding it, but at least makes it easier to add. Because people don't have to rebuild the ZFS module themselves (which tends to get messy).
Kjeld Schouten-lebbing August 24, 2020 at 5:42 PM
@Ryan Moeller I agree this can't be officially supported for now. However, if we might be able to at least got basic CLI support in (so people don't have to rebuild ZFS) that would make it somewhat more accessable for those of us that want to use it...
Kjeld Schouten-lebbing August 24, 2020 at 5:40 PM
Okey, I created something that does at least build...
Needs much additional Work and Feedback, but I did open up a Draft-PR so people can take a look:
https://github.com/truenas/truenas-build/pull/41
Most Atom (included on my Mini XL+s) and many of the Denverton/Xeon-D processors have an integrated encryption/compression accelerator/co-processor. Including the driver and compiling ZFS w/ QAT support could really enable some nice performance gains while minimizing CPU when hardware support is there.
Checksums, encryption, and compression could all be offloaded in some situations. Even OpenVPN AES-CBC and libssl can be offloaded.
The performance gains are significant:
https://github.com/openzfs/zfs/pull/5846
The driver support is now available for FreeBSD and Linux:
https://01.org/intel-quickassist-technology