Hi, Akhil
On 2022/8/28 下午9:02, Akhil Goyal wrote:
UADK compression PMD provides poll mode compression & decompression driver UADK crypto PMD provides poll mode driver All cryptography operations are using UADK crypto API. All compression operations are using UADK compress API.
Hardware accelerators using UADK are supposed to be supported. Currently supported hardware platforms: HiSilicon Kunpeng920 and Kunpeng930
Test: sudo dpdk-test --vdev=compress_uadk sudo dpdk-test --vdev=crypto_uadk
v1: Target to DPDK 22.11 Rebased on http://git.dpdk.org/next/dpdk-next-crypto/
Suggested from Akhil Goyal gakhil@marvell.com
Current release cycle is DPDK-22.07 for which this patchset is late. As we had the V1 deadline last month. This patchset can go for next release cycle which is 22.11.
Zhangfei Gao (3): compress/uadk: add uadk compression PMD test/crypto: add cryptodev_uadk_autotest crypto/uadk: add uadk crypto PMD
app/test/test_cryptodev.c | 7 + app/test/test_cryptodev.h | 1 + doc/guides/compressdevs/index.rst | 1 + doc/guides/compressdevs/uadk.rst | 60 ++ doc/guides/cryptodevs/index.rst | 1 + doc/guides/cryptodevs/uadk.rst | 70 ++ drivers/compress/meson.build | 1 + drivers/compress/uadk/meson.build | 28 + drivers/compress/uadk/uadk_compress_pmd.c | 489 +++++++++ drivers/compress/uadk/version.map | 3 + drivers/crypto/meson.build | 1 + drivers/crypto/uadk/meson.build | 28 + drivers/crypto/uadk/uadk_crypto_pmd.c | 1137 +++++++++++++++++++++ drivers/crypto/uadk/version.map | 3 + 14 files changed, 1830 insertions(+) create mode 100644 doc/guides/compressdevs/uadk.rst create mode 100644 doc/guides/cryptodevs/uadk.rst create mode 100644 drivers/compress/uadk/meson.build create mode 100644 drivers/compress/uadk/uadk_compress_pmd.c create mode 100644 drivers/compress/uadk/version.map create mode 100644 drivers/crypto/uadk/meson.build create mode 100644 drivers/crypto/uadk/uadk_crypto_pmd.c create mode 100644 drivers/crypto/uadk/version.map
Please split the series into two - crypto pmd and compression pmd. And split each of the PMD into logical small (individually compiled) patches.
Update MAINTAINERS file Update documentation in doc/guides/cryptodevs/features/uadk.ini and doc/guides/compressdevs/features/uadk.ini
Thanks for the suggestion.
Also UADK does not look to be a PMD name. It is some development kit Outside of DPDK. Can you rename it to something else?
Is there some dependency to build it using external libraries etc? Can you explain what exactly is UADK?
UADK is a framework for user application to access hardware accelerator . https://github.com/Linaro/uadk/blob/master/docs/wd_design.md
UADK relies on SVA (Shared Virtual Address) that needs to be supported by IOMMU. As a result, user application can directly use virtual address for dma, since iommu and mmu share the same virtual address by coping the same page table, which enhance the performance as well as easy usability.
UADK provide algorithm libraries and api for application to use. The library will find the real hardware in the platform.
We also provide openssl engine for uadk, https://github.com/Linaro/uadk_engine For alignment, we planned to provide uadk dpdk pmd as well, with the name as UADK.
What do you think.
Thanks.
Also UADK does not look to be a PMD name. It is some development kit Outside of DPDK. Can you rename it to something else?
Is there some dependency to build it using external libraries etc? Can you explain what exactly is UADK?
UADK is a framework for user application to access hardware accelerator . https://urldefense.proofpoint.com/v2/url?u=https- 3A__github.com_Linaro_uadk_blob_master_docs_wd- 5Fdesign.md&d=DwIDaQ&c=nKjWec2b6R0mOyPaz7xtfQ&r=DnL7Si2wl_PRwpZ9 TWey3eu68gBzn7DkPwuqhd6WNyo&m=5ceaLjLGdoHAuVeeh- 9uypoBDKCK43QrqhAOEbBu1vFFrSFxNpncZzByqSguUBUk&s=VSCYj_EhQ67Rxmz N-N8H38GXxRyzNnNsRsOtL5eUVIE&e=
UADK relies on SVA (Shared Virtual Address) that needs to be supported by IOMMU. As a result, user application can directly use virtual address for dma, since iommu and mmu share the same virtual address by coping the same page table, which enhance the performance as well as easy usability.
UADK provide algorithm libraries and api for application to use. The library will find the real hardware in the platform.
We also provide openssl engine for uadk, https://urldefense.proofpoint.com/v2/url?u=https- 3A__github.com_Linaro_uadk- 5Fengine&d=DwIDaQ&c=nKjWec2b6R0mOyPaz7xtfQ&r=DnL7Si2wl_PRwpZ9TW ey3eu68gBzn7DkPwuqhd6WNyo&m=5ceaLjLGdoHAuVeeh- 9uypoBDKCK43QrqhAOEbBu1vFFrSFxNpncZzByqSguUBUk&s=s4G4UzM5B3w8t7 b0IMKgAbWS5DN7n6ez4WkZpIZ1QGs&e= For alignment, we planned to provide uadk dpdk pmd as well, with the name as UADK.
Thanks for the explanation. Please add the information in documentation as well. Hardware PMDs are generally named after the hardware device and not on some other library.
Naming it with uadk would look like a software PMD.
On 2022/8/29 下午3:11, Akhil Goyal wrote:
Also UADK does not look to be a PMD name. It is some development kit Outside of DPDK. Can you rename it to something else?
Is there some dependency to build it using external libraries etc? Can you explain what exactly is UADK?
UADK is a framework for user application to access hardware accelerator . https://urldefense.proofpoint.com/v2/url?u=https- 3A__github.com_Linaro_uadk_blob_master_docs_wd- 5Fdesign.md&d=DwIDaQ&c=nKjWec2b6R0mOyPaz7xtfQ&r=DnL7Si2wl_PRwpZ9 TWey3eu68gBzn7DkPwuqhd6WNyo&m=5ceaLjLGdoHAuVeeh- 9uypoBDKCK43QrqhAOEbBu1vFFrSFxNpncZzByqSguUBUk&s=VSCYj_EhQ67Rxmz N-N8H38GXxRyzNnNsRsOtL5eUVIE&e=
UADK relies on SVA (Shared Virtual Address) that needs to be supported by IOMMU. As a result, user application can directly use virtual address for dma, since iommu and mmu share the same virtual address by coping the same page table, which enhance the performance as well as easy usability.
UADK provide algorithm libraries and api for application to use. The library will find the real hardware in the platform.
We also provide openssl engine for uadk, https://urldefense.proofpoint.com/v2/url?u=https- 3A__github.com_Linaro_uadk- 5Fengine&d=DwIDaQ&c=nKjWec2b6R0mOyPaz7xtfQ&r=DnL7Si2wl_PRwpZ9TW ey3eu68gBzn7DkPwuqhd6WNyo&m=5ceaLjLGdoHAuVeeh- 9uypoBDKCK43QrqhAOEbBu1vFFrSFxNpncZzByqSguUBUk&s=s4G4UzM5B3w8t7 b0IMKgAbWS5DN7n6ez4WkZpIZ1QGs&e= For alignment, we planned to provide uadk dpdk pmd as well, with the name as UADK.
Thanks for the explanation. Please add the information in documentation as well. Hardware PMDs are generally named after the hardware device and not on some other library.
Naming it with uadk would look like a software PMD.
Well, UADK is the brand HiSilicon want to advertise, just like Intel's QAT. And now, we are doing our best to build the UADK ecosystem. So if possible, we still want to keep the name, as part of the UADK ecosystem :)
Thanks