DPDK patches and discussions
 help / color / mirror / Atom feed
From: Zhangfei Gao <zhangfei.gao@linaro.org>
To: Akhil Goyal <gakhil@marvell.com>
Cc: Declan Doherty <declan.doherty@intel.com>,
	Fan Zhang <royzhang1980@gmail.com>,
	 Ashish Gupta <ashishg@marvell.com>, Ray Kinsella <mdr@ashroe.eu>,
	"dev@dpdk.org" <dev@dpdk.org>,
	"acc@openeuler.org" <acc@openeuler.org>,
	"thomas@monjalon.net" <thomas@monjalon.net>
Subject: Re: [EXT] [PATCH v4 0/6] crypto/uadk: introduce uadk crypto driver
Date: Fri, 21 Oct 2022 15:47:21 +0800	[thread overview]
Message-ID: <CABQgh9G5ZcDXS-2LNXSeG13hPY7C0Emnm1NzVDMd5DD8rcJ9oQ@mail.gmail.com> (raw)
In-Reply-To: <CO6PR18MB44849371A1F3EFB213425D4BD82A9@CO6PR18MB4484.namprd18.prod.outlook.com>

On Fri, 21 Oct 2022 at 01:12, Akhil Goyal <gakhil@marvell.com> wrote:
>
> > On Thu, 20 Oct 2022 at 22:46, Akhil Goyal <gakhil@marvell.com> wrote:
> > >
> > > > Introduce a new crypto 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.
> > > >
> > > > [1] https://urldefense.proofpoint.com/v2/url?u=https-
> > > >
> > 3A__github.com_Linaro_uadk&d=DwIDAg&c=nKjWec2b6R0mOyPaz7xtfQ&r=Dn
> > > > L7Si2wl_PRwpZ9TWey3eu68gBzn7DkPwuqhd6WNyo&m=AkCizMeraG64B9u-
> > > > h4gp5S2CYP3SiD5dpvFqvj2WHC4Cfuw6TbzZSeCk1Ryz-qLo&s=Tm7UGDJ-
> > > > 3QUjCzOkIRUG_tjJA3ckOdK6kSOxuk7V5PQ&e=
> > > >
> > > > Test:
> > > > sudo dpdk-test --vdev=crypto_uadk (--log-level=6)
> > > > RTE>>cryptodev_uadk_autotest
> > > > RTE>>quit
> > > >
> > > > Update in v4:
> > > > Akril suggest dpdk use pkg-config, So
> > > > Enable uadk support x86 local build, and support pkg-config.
> > > > Use pkg-config feature for the uadk crypto pmd.
> > > > Add build uadk library steps in doc
> > > > Test on both x86 and arm.
> > > > x86 can build and install, but can not test since no device.
> > > >
> > > I tried with the latest TOT of UADK. This resolved the openssl issue.
> > > But it does not allow me to install UADK into a specific directory.
> >
> > What's the error?
> >
> > I am sorry, I will check this tomorrow.
> >
> > > It installs /usr/local/lib only.
> > > And what is the use of pkg-config if I cannot use a specific directory
> > > To install the libs and headers.
> >
> > Test with --prefix
> >
> > cd uadk
> > mkdir build
> > ./autogen.sh
> > ./configure --prefix=$PWD/build
> > make; make install
> >
> > $ ls build
> > bin  include  lib
> >
> > $ ls build/lib/pkgconfig/
> > libwd_comp.pc  libwd_crypto.pc  libwd.pc
> >
> >  export PKG_CONFIG_PATH=$PWD/build/lib/pkgconfig
> >
>
> Above sequence worked. I would suggest to write this clearly in uadk.rst.

Have updated to

+Test steps
+----------
+
+   .. code-block:: console
+
+ 1. Build UADK
+ $ git clone https://github.com/Linaro/uadk.git
+ $ cd uadk
+ $ mkdir build
+ $ ./autogen.sh
+ $ ./configure --prefix=$PWD/build
+ $ make
+ $ make install
+
+ * Without --prefix, UADK will be installed to /usr/local/lib by default
+ * If get error:"cannot find -lnuma", please install the libnuma-dev
+
+ 2. Run pkg-config libwd to ensure env is setup correctly
+ $ export PKG_CONFIG_PATH=$PWD/build/lib/pkgconfig
+ $ pkg-config libwd --cflags --libs
+ -I/usr/local/include -L/usr/local/lib -lwd
+
+ * export PKG_CONFIG_PATH is required on demand,
+   not needed if UADK is installed to /usr/local/lib
+
+ 3. Build DPDK
+ $ cd dpdk
+ $ mkdir build
+ $ meson build (--reconfigure)
+ $ cd build
+ $ ninja
+ $ sudo ninja install
+
+ 4. Prepare hugepage for dpdk
+ $ echo 1024 >
/sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages
+ $ echo 1024 >
/sys/devices/system/node/node1/hugepages/hugepages-2048kB/nr_hugepages
+ $ echo 1024 >
/sys/devices/system/node/node2/hugepages/hugepages-2048kB/nr_hugepages
+ $ echo 1024 >
/sys/devices/system/node/node3/hugepages/hugepages-2048kB/nr_hugepages
+ $ mkdir -p /mnt/huge_2mb
+ $ mount -t hugetlbfs none /mnt/huge_2mb -o pagesize=2MB
+
+ 5. Run test app
+

https://github.com/Linaro/dpdk/blob/next-9.11-v5/doc/guides/cryptodevs/uadk.rst

>
> Also I made a few below changes to make compilation work.
> Here, I see that you are creating a dependency on compressdev to compile a crypto
> Driver.
> Do you really need that?
> I believe you should segregate the compressdev related stuff in compress PMD.

Sorry, has updated.

> --------------------------------------------------------------------------------------------------------
>
> diff --git a/doc/guides/cryptodevs/uadk.rst b/doc/guides/cryptodevs/uadk.rst
> index 8f09e4390e..e00398414d 100644
> --- a/doc/guides/cryptodevs/uadk.rst
> +++ b/doc/guides/cryptodevs/uadk.rst
> @@ -3,7 +3,7 @@
>      Copyright 2022-2023 Linaro ltd.
>
>  UADK Crypto Poll Mode Driver
> -=======================================================
> +============================
>
>  UADK crypto PMD provides poll mode driver
>  All cryptographic operations are using UADK crypto API.
> @@ -38,7 +38,7 @@ Hash algorithms:
>  * ``RTE_CRYPTO_AUTH_SHA512_HMAC``
>
>  Test steps
> ------------
> +----------
>
>     .. code-block:: console
>
> @@ -61,7 +61,7 @@ Test steps
>         3. Run test app
>
>  Dependency
> -------------
> +----------
>
>  UADK crypto PMD relies on UADK library [1]
>
> @@ -72,7 +72,7 @@ As a result, user application can directly use virtual address for device dma,
>  which enhances the performance as well as easy usability.
>
>  Build & Install UADK
> ------------
> +--------------------
>
>     .. code-block:: console
>
> diff --git a/drivers/crypto/uadk/meson.build b/drivers/crypto/uadk/meson.build
> index f6fae0a239..66418f1878 100644
> --- a/drivers/crypto/uadk/meson.build
> +++ b/drivers/crypto/uadk/meson.build
> @@ -12,7 +12,7 @@ sources = files(
>          'uadk_crypto_pmd.c',
>  )
>
> -deps += 'bus_vdev'
> +deps += ['bus_vdev', 'compressdev']
>  dep = dependency('libwd_crypto', required: false, method: 'pkg-config')
>  if not dep.found()
>         build = false
> diff --git a/drivers/crypto/uadk/uadk_crypto_pmd.c b/drivers/crypto/uadk/uadk_crypto_pmd.c
> index a166efa36c..2f8ef3562d 100644
> --- a/drivers/crypto/uadk/uadk_crypto_pmd.c
> +++ b/drivers/crypto/uadk/uadk_crypto_pmd.c
> @@ -8,9 +8,9 @@
>  #include <rte_bus_vdev.h>
>  #include <rte_comp.h>
>  #include <stdlib.h>
> -#include <uadk/wd_cipher.h>
> -#include <uadk/wd_digest.h>
> -#include <uadk/wd_sched.h>
> +#include <wd_cipher.h>
> +#include <wd_digest.h>
> +#include <wd_sched.h>
>
>  /* Maximum length for digest (SHA-512 needs 64 bytes) */
>  #define DIGEST_LENGTH_MAX 64
>
>

Thanks Akhil

  reply	other threads:[~2022-10-21  7:47 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-10-19 12:57 Zhangfei Gao
2022-10-19 12:57 ` [PATCH v4 1/6] " Zhangfei Gao
2022-10-19 12:57 ` [PATCH v4 2/6] crypto/uadk: support basic operations Zhangfei Gao
2022-10-19 12:57 ` [PATCH v4 3/6] crypto/uadk: support enqueue/dequeue operations Zhangfei Gao
2022-10-19 12:57 ` [PATCH v4 4/6] crypto/uadk: support cipher algorithms Zhangfei Gao
2022-10-19 12:57 ` [PATCH v4 5/6] crypto/uadk: support auth algorithms Zhangfei Gao
2022-10-19 12:57 ` [PATCH v4 6/6] test/crypto: add cryptodev_uadk_autotest Zhangfei Gao
2022-10-20 14:44 ` [EXT] [PATCH v4 0/6] crypto/uadk: introduce uadk crypto driver Akhil Goyal
2022-10-20 15:56   ` Zhangfei Gao
2022-10-20 17:09     ` Akhil Goyal
2022-10-21  7:47       ` Zhangfei Gao [this message]
2022-10-24 12:54   ` Zhangfei Gao
2022-10-20 14:51 ` Akhil Goyal

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CABQgh9G5ZcDXS-2LNXSeG13hPY7C0Emnm1NzVDMd5DD8rcJ9oQ@mail.gmail.com \
    --to=zhangfei.gao@linaro.org \
    --cc=acc@openeuler.org \
    --cc=ashishg@marvell.com \
    --cc=declan.doherty@intel.com \
    --cc=dev@dpdk.org \
    --cc=gakhil@marvell.com \
    --cc=mdr@ashroe.eu \
    --cc=royzhang1980@gmail.com \
    --cc=thomas@monjalon.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).