[v2] eventdev: fix case to initiate crypto adapter service
Checks
Commit Message
Initiate software crypto adapter service, only if hardware capabilities
are not reported. In OP_FORWARD mode, software service is not required
to enqueue events if OP_FORWARD capability is supported by the PMD.
Fixes: 7901eac3409a ("eventdev: add crypto adapter implementation")
Signed-off-by: Shijith Thotton <sthotton@marvell.com>
---
v2:
- Reworded commit message.
lib/librte_eventdev/rte_event_crypto_adapter.c | 1 +
1 file changed, 1 insertion(+)
Comments
> -----Original Message-----
> From: Shijith Thotton <sthotton@marvell.com>
> Sent: Monday, April 12, 2021 2:24 PM
> To: dev@dpdk.org
> Cc: Shijith Thotton <sthotton@marvell.com>; Gujjar, Abhinandan S
> <abhinandan.gujjar@intel.com>; Jerin Jacob <jerinj@marvell.com>; Akhil
> Goyal <gakhil@marvell.com>; Anoob Joseph <anoobj@marvell.com>
> Subject: [PATCH v2] eventdev: fix case to initiate crypto adapter service
>
> Initiate software crypto adapter service, only if hardware capabilities are not
> reported. In OP_FORWARD mode, software service is not required to
> enqueue events if OP_FORWARD capability is supported by the PMD.
>
> Fixes: 7901eac3409a ("eventdev: add crypto adapter implementation")
>
> Signed-off-by: Shijith Thotton <sthotton@marvell.com>
> ---
> v2:
> - Reworded commit message.
>
> lib/librte_eventdev/rte_event_crypto_adapter.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/lib/librte_eventdev/rte_event_crypto_adapter.c
> b/lib/librte_eventdev/rte_event_crypto_adapter.c
> index d903cdd48..e1d38d383 100644
> --- a/lib/librte_eventdev/rte_event_crypto_adapter.c
> +++ b/lib/librte_eventdev/rte_event_crypto_adapter.c
> @@ -861,6 +861,7 @@ rte_event_crypto_adapter_queue_pair_add(uint8_t
> id,
> * b. OP_NEW mode -> SW Dequeue
> */
> if ((cap &
> RTE_EVENT_CRYPTO_ADAPTER_CAP_INTERNAL_PORT_OP_NEW &&
> + !(cap &
> RTE_EVENT_CRYPTO_ADAPTER_CAP_INTERNAL_PORT_OP_FWD) &&
The same check is below ORed with above condition.
This is confusing. Could you recheck & do the necessary changes?
> adapter->mode ==
> RTE_EVENT_CRYPTO_ADAPTER_OP_FORWARD) ||
> (!(cap &
> RTE_EVENT_CRYPTO_ADAPTER_CAP_INTERNAL_PORT_OP_NEW) &&
> !(cap &
> RTE_EVENT_CRYPTO_ADAPTER_CAP_INTERNAL_PORT_OP_FWD) &&
> --
> 2.25.1
On Tue, Apr 13, 2021 at 04:08:40AM +0000, Gujjar, Abhinandan S wrote:
>
>
> > -----Original Message-----
> > From: Shijith Thotton <sthotton@marvell.com>
> > Sent: Monday, April 12, 2021 2:24 PM
> > To: dev@dpdk.org
> > Cc: Shijith Thotton <sthotton@marvell.com>; Gujjar, Abhinandan S
> > <abhinandan.gujjar@intel.com>; Jerin Jacob <jerinj@marvell.com>; Akhil
> > Goyal <gakhil@marvell.com>; Anoob Joseph <anoobj@marvell.com>
> > Subject: [PATCH v2] eventdev: fix case to initiate crypto adapter service
> >
> > Initiate software crypto adapter service, only if hardware capabilities are not
> > reported. In OP_FORWARD mode, software service is not required to
> > enqueue events if OP_FORWARD capability is supported by the PMD.
> >
> > Fixes: 7901eac3409a ("eventdev: add crypto adapter implementation")
> >
> > Signed-off-by: Shijith Thotton <sthotton@marvell.com>
> > ---
> > v2:
> > - Reworded commit message.
> >
> > lib/librte_eventdev/rte_event_crypto_adapter.c | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/lib/librte_eventdev/rte_event_crypto_adapter.c
> > b/lib/librte_eventdev/rte_event_crypto_adapter.c
> > index d903cdd48..e1d38d383 100644
> > --- a/lib/librte_eventdev/rte_event_crypto_adapter.c
> > +++ b/lib/librte_eventdev/rte_event_crypto_adapter.c
> > @@ -861,6 +861,7 @@ rte_event_crypto_adapter_queue_pair_add(uint8_t
> > id,
> > * b. OP_NEW mode -> SW Dequeue
> > */
> > if ((cap &
> > RTE_EVENT_CRYPTO_ADAPTER_CAP_INTERNAL_PORT_OP_NEW &&
> > + !(cap &
> > RTE_EVENT_CRYPTO_ADAPTER_CAP_INTERNAL_PORT_OP_FWD) &&
> The same check is below ORed with above condition.
> This is confusing. Could you recheck & do the necessary changes?
>
As per comments above, below checks are used to initiate SW service if:
1. PMDs supports OP_NEW, but not OP_FWD, in FWD mode.
2. Does not support OP_NEW and OP_FWD.
I have fixed the first point where only support for OP_NEW is checked in forward
mode, by adding a check for no OP_FWD capability.
> > adapter->mode ==
> > RTE_EVENT_CRYPTO_ADAPTER_OP_FORWARD) ||
> > (!(cap &
> > RTE_EVENT_CRYPTO_ADAPTER_CAP_INTERNAL_PORT_OP_NEW) &&
> > !(cap &
> > RTE_EVENT_CRYPTO_ADAPTER_CAP_INTERNAL_PORT_OP_FWD) &&
> > --
> > 2.25.1
>
> -----Original Message-----
> From: Shijith Thotton <shijith.thotton@gmail.com>
> Sent: Tuesday, April 13, 2021 1:21 PM
> To: Gujjar, Abhinandan S <abhinandan.gujjar@intel.com>
> Cc: Shijith Thotton <sthotton@marvell.com>; dev@dpdk.org; Jerin Jacob
> <jerinj@marvell.com>; Akhil Goyal <gakhil@marvell.com>; Anoob Joseph
> <anoobj@marvell.com>
> Subject: Re: [dpdk-dev] [PATCH v2] eventdev: fix case to initiate crypto
> adapter service
>
> On Tue, Apr 13, 2021 at 04:08:40AM +0000, Gujjar, Abhinandan S wrote:
> >
> >
> > > -----Original Message-----
> > > From: Shijith Thotton <sthotton@marvell.com>
> > > Sent: Monday, April 12, 2021 2:24 PM
> > > To: dev@dpdk.org
> > > Cc: Shijith Thotton <sthotton@marvell.com>; Gujjar, Abhinandan S
> > > <abhinandan.gujjar@intel.com>; Jerin Jacob <jerinj@marvell.com>;
> > > Akhil Goyal <gakhil@marvell.com>; Anoob Joseph
> <anoobj@marvell.com>
> > > Subject: [PATCH v2] eventdev: fix case to initiate crypto adapter
> > > service
> > >
> > > Initiate software crypto adapter service, only if hardware
> > > capabilities are not reported. In OP_FORWARD mode, software service
> > > is not required to enqueue events if OP_FORWARD capability is
> supported by the PMD.
> > >
> > > Fixes: 7901eac3409a ("eventdev: add crypto adapter implementation")
> > >
> > > Signed-off-by: Shijith Thotton <sthotton@marvell.com>
> > > ---
> > > v2:
> > > - Reworded commit message.
> > >
> > > lib/librte_eventdev/rte_event_crypto_adapter.c | 1 +
> > > 1 file changed, 1 insertion(+)
> > >
> > > diff --git a/lib/librte_eventdev/rte_event_crypto_adapter.c
> > > b/lib/librte_eventdev/rte_event_crypto_adapter.c
> > > index d903cdd48..e1d38d383 100644
> > > --- a/lib/librte_eventdev/rte_event_crypto_adapter.c
> > > +++ b/lib/librte_eventdev/rte_event_crypto_adapter.c
> > > @@ -861,6 +861,7 @@
> rte_event_crypto_adapter_queue_pair_add(uint8_t
> > > id,
> > > * b. OP_NEW mode -> SW Dequeue
> > > */
> > > if ((cap &
> > > RTE_EVENT_CRYPTO_ADAPTER_CAP_INTERNAL_PORT_OP_NEW &&
> > > + !(cap &
> > > RTE_EVENT_CRYPTO_ADAPTER_CAP_INTERNAL_PORT_OP_FWD) &&
> > The same check is below ORed with above condition.
> > This is confusing. Could you recheck & do the necessary changes?
> >
>
> As per comments above, below checks are used to initiate SW service if:
> 1. PMDs supports OP_NEW, but not OP_FWD, in FWD mode.
> 2. Does not support OP_NEW and OP_FWD.
>
> I have fixed the first point where only support for OP_NEW is checked in
> forward mode, by adding a check for no OP_FWD capability.
Sounds good.
Acked-by: Abhinandan.gujjar@intel.com
>
> > > adapter->mode ==
> > > RTE_EVENT_CRYPTO_ADAPTER_OP_FORWARD) ||
> > > (!(cap &
> > > RTE_EVENT_CRYPTO_ADAPTER_CAP_INTERNAL_PORT_OP_NEW) &&
> > > !(cap &
> > > RTE_EVENT_CRYPTO_ADAPTER_CAP_INTERNAL_PORT_OP_FWD) &&
> > > --
> > > 2.25.1
> >
On Wed, Apr 14, 2021 at 12:36 PM Gujjar, Abhinandan S
<abhinandan.gujjar@intel.com> wrote:
>
>
>
> > -----Original Message-----
> > From: Shijith Thotton <shijith.thotton@gmail.com>
> > Sent: Tuesday, April 13, 2021 1:21 PM
> > To: Gujjar, Abhinandan S <abhinandan.gujjar@intel.com>
> > Cc: Shijith Thotton <sthotton@marvell.com>; dev@dpdk.org; Jerin Jacob
> > <jerinj@marvell.com>; Akhil Goyal <gakhil@marvell.com>; Anoob Joseph
> > <anoobj@marvell.com>
> > Subject: Re: [dpdk-dev] [PATCH v2] eventdev: fix case to initiate crypto
> > adapter service
> >
> > As per comments above, below checks are used to initiate SW service if:
> > 1. PMDs supports OP_NEW, but not OP_FWD, in FWD mode.
> > 2. Does not support OP_NEW and OP_FWD.
> >
> > I have fixed the first point where only support for OP_NEW is checked in
> > forward mode, by adding a check for no OP_FWD capability.
> Sounds good.
>
> Acked-by: Abhinandan.gujjar@intel.com
Applied to dpdk-next-eventdev/for-main. Thanks.
>
> >
> > > > adapter->mode ==
> > > > RTE_EVENT_CRYPTO_ADAPTER_OP_FORWARD) ||
> > > > (!(cap &
> > > > RTE_EVENT_CRYPTO_ADAPTER_CAP_INTERNAL_PORT_OP_NEW) &&
> > > > !(cap &
> > > > RTE_EVENT_CRYPTO_ADAPTER_CAP_INTERNAL_PORT_OP_FWD) &&
> > > > --
> > > > 2.25.1
> > >
@@ -861,6 +861,7 @@ rte_event_crypto_adapter_queue_pair_add(uint8_t id,
* b. OP_NEW mode -> SW Dequeue
*/
if ((cap & RTE_EVENT_CRYPTO_ADAPTER_CAP_INTERNAL_PORT_OP_NEW &&
+ !(cap & RTE_EVENT_CRYPTO_ADAPTER_CAP_INTERNAL_PORT_OP_FWD) &&
adapter->mode == RTE_EVENT_CRYPTO_ADAPTER_OP_FORWARD) ||
(!(cap & RTE_EVENT_CRYPTO_ADAPTER_CAP_INTERNAL_PORT_OP_NEW) &&
!(cap & RTE_EVENT_CRYPTO_ADAPTER_CAP_INTERNAL_PORT_OP_FWD) &&