mbox series

[v3,0/3] Introduce UADK compression driver

Message ID 20240611070726.468-1-zhangfei.gao@linaro.org
Headers show
Series Introduce UADK compression driver | expand

Message

Zhangfei Gao June 11, 2024, 7:07 a.m. UTC
Introduce a new compress PMD for hardware accelerators based on UADK [1].

UADK is a framework for user applications to access hardware accelerators.
UADK relies on IOMMU SVA (Shared Virtual Address) feature, which share
the same page table between IOMMU and MMU.
Thereby user application can directly use virtual address for device dma,
which enhances the performance as well as easy usability.

Besides, crypto PMD is under drivers/crypto/uadk/

[1] https://github.com/Linaro/uadk

Test:
sudo dpdk-test --vdev=compress_uadk
RTE>>compressdev_autotest
RTE>>quit

dd if=/dev/random of=data bs=1M count=1;
sudo dpdk-test-compress-perf -l 1,2 --vdev compress_uadk \
	-- --driver-name compress_uadk --input-file data

v3: add the missing doc uadk.ini and change some docs to patch1 

v2: 
remove mempool and simply use rte_malloc, suggested by Akhil
move doc to patch 3 from patch 1


Zhangfei Gao (3):
  compress/uadk: Introduce UADK compression driver
  compress/uadk: support basic operations
  compress/uadk: support burst enqueue/dequeue

 MAINTAINERS                                   |   6 +
 doc/guides/compressdevs/features/uadk.ini     |  11 +
 doc/guides/compressdevs/index.rst             |   1 +
 doc/guides/compressdevs/uadk.rst              |  98 ++++
 doc/guides/rel_notes/release_24_07.rst        |   5 +
 drivers/compress/meson.build                  |   1 +
 drivers/compress/uadk/meson.build             |  30 ++
 drivers/compress/uadk/uadk_compress_pmd.c     | 436 ++++++++++++++++++
 .../compress/uadk/uadk_compress_pmd_private.h |  36 ++
 9 files changed, 624 insertions(+)
 create mode 100644 doc/guides/compressdevs/features/uadk.ini
 create mode 100644 doc/guides/compressdevs/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/uadk_compress_pmd_private.h

Comments

Akhil Goyal June 13, 2024, 5:59 p.m. UTC | #1
> Introduce a new compress PMD for hardware accelerators based on UADK [1].
> 
> UADK is a framework for user applications to access hardware accelerators.
> UADK relies on IOMMU SVA (Shared Virtual Address) feature, which share
> the same page table between IOMMU and MMU.
> Thereby user application can directly use virtual address for device dma,
> which enhances the performance as well as easy usability.
> 
> Besides, crypto PMD is under drivers/crypto/uadk/
> 
> [1] https://urldefense.proofpoint.com/v2/url?u=https-
> 3A__github.com_Linaro_uadk&d=DwIDAg&c=nKjWec2b6R0mOyPaz7xtfQ&r=DnL
> 7Si2wl_PRwpZ9TWey3eu68gBzn7DkPwuqhd6WNyo&m=xPSsnaP1teim3GosZniW
> _hGTHaRVZbQ8e65iuPxG-syp2JTmNilH06te_yWcoUeO&s=C9wsl1Qvu56lo3P-
> w6bG_-XRqtFR2i1yhJL4EQj-WRU&e=
> 
> Test:
> sudo dpdk-test --vdev=compress_uadk
> RTE>>compressdev_autotest
> RTE>>quit
> 
> dd if=/dev/random of=data bs=1M count=1;
> sudo dpdk-test-compress-perf -l 1,2 --vdev compress_uadk \
> 	-- --driver-name compress_uadk --input-file data
> 
> v3: add the missing doc uadk.ini and change some docs to patch1
> 
> v2:
> remove mempool and simply use rte_malloc, suggested by Akhil
> move doc to patch 3 from patch 1
> 
> 
> Zhangfei Gao (3):
>   compress/uadk: Introduce UADK compression driver
>   compress/uadk: support basic operations
>   compress/uadk: support burst enqueue/dequeue
> 
>  MAINTAINERS                                   |   6 +
>  doc/guides/compressdevs/features/uadk.ini     |  11 +
>  doc/guides/compressdevs/index.rst             |   1 +
>  doc/guides/compressdevs/uadk.rst              |  98 ++++
>  doc/guides/rel_notes/release_24_07.rst        |   5 +
>  drivers/compress/meson.build                  |   1 +
>  drivers/compress/uadk/meson.build             |  30 ++
>  drivers/compress/uadk/uadk_compress_pmd.c     | 436 ++++++++++++++++++
>  .../compress/uadk/uadk_compress_pmd_private.h |  36 ++
>  9 files changed, 624 insertions(+)
>  create mode 100644 doc/guides/compressdevs/features/uadk.ini
>  create mode 100644 doc/guides/compressdevs/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/uadk_compress_pmd_private.h
> 
Series Applied to dpdk-next-crypto

Thanks.
Zhangfei Gao June 14, 2024, 1:03 a.m. UTC | #2
On Fri, 14 Jun 2024 at 01:59, Akhil Goyal <gakhil@marvell.com> wrote:
>
> > Introduce a new compress PMD for hardware accelerators based on UADK [1].
> >
> > UADK is a framework for user applications to access hardware accelerators.
> > UADK relies on IOMMU SVA (Shared Virtual Address) feature, which share
> > the same page table between IOMMU and MMU.
> > Thereby user application can directly use virtual address for device dma,
> > which enhances the performance as well as easy usability.
> >
> > Besides, crypto PMD is under drivers/crypto/uadk/
> >
> > [1] https://urldefense.proofpoint.com/v2/url?u=https-
> > 3A__github.com_Linaro_uadk&d=DwIDAg&c=nKjWec2b6R0mOyPaz7xtfQ&r=DnL
> > 7Si2wl_PRwpZ9TWey3eu68gBzn7DkPwuqhd6WNyo&m=xPSsnaP1teim3GosZniW
> > _hGTHaRVZbQ8e65iuPxG-syp2JTmNilH06te_yWcoUeO&s=C9wsl1Qvu56lo3P-
> > w6bG_-XRqtFR2i1yhJL4EQj-WRU&e=
> >
> > Test:
> > sudo dpdk-test --vdev=compress_uadk
> > RTE>>compressdev_autotest
> > RTE>>quit
> >
> > dd if=/dev/random of=data bs=1M count=1;
> > sudo dpdk-test-compress-perf -l 1,2 --vdev compress_uadk \
> >       -- --driver-name compress_uadk --input-file data
> >
> > v3: add the missing doc uadk.ini and change some docs to patch1
> >
> > v2:
> > remove mempool and simply use rte_malloc, suggested by Akhil
> > move doc to patch 3 from patch 1
> >
> >
> > Zhangfei Gao (3):
> >   compress/uadk: Introduce UADK compression driver
> >   compress/uadk: support basic operations
> >   compress/uadk: support burst enqueue/dequeue
> >
> >  MAINTAINERS                                   |   6 +
> >  doc/guides/compressdevs/features/uadk.ini     |  11 +
> >  doc/guides/compressdevs/index.rst             |   1 +
> >  doc/guides/compressdevs/uadk.rst              |  98 ++++
> >  doc/guides/rel_notes/release_24_07.rst        |   5 +
> >  drivers/compress/meson.build                  |   1 +
> >  drivers/compress/uadk/meson.build             |  30 ++
> >  drivers/compress/uadk/uadk_compress_pmd.c     | 436 ++++++++++++++++++
> >  .../compress/uadk/uadk_compress_pmd_private.h |  36 ++
> >  9 files changed, 624 insertions(+)
> >  create mode 100644 doc/guides/compressdevs/features/uadk.ini
> >  create mode 100644 doc/guides/compressdevs/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/uadk_compress_pmd_private.h
> >
> Series Applied to dpdk-next-crypto

Great, Thanks Akhil