Message ID | 20220620123544.3168-1-zhangfei.gao@linaro.org |
---|---|
Headers | show |
Series | Add uadk compression and crypto PMD | expand |
> 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 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? Regards, Akhil
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