>-----Original Message-----
>From: Gujjar, Abhinandan S <[email protected]>
>Sent: Wednesday, February 23, 2022 2:32 PM
>To: Shijith Thotton <[email protected]>; Van Haaren, Harry
><[email protected]>; Jerin Jacob <[email protected]>; Hemant
>Agrawal <[email protected]>; Nipun Gupta <[email protected]>
>Cc: Jerin Jacob Kollanukkaran <[email protected]>; [email protected]
>Subject: [EXT] RE: [PATCH v5] app/eventdev: add crypto producer mode
>
>External Email
>
>----------------------------------------------------------------------
>
>
>> -----Original Message-----
>> From: Shijith Thotton <[email protected]>
>> Sent: Tuesday, February 22, 2022 12:34 PM
>> To: Van Haaren, Harry <[email protected]>; Gujjar, Abhinandan S
>> <[email protected]>; Jerin Jacob <[email protected]>;
>> Hemant Agrawal <[email protected]>; Nipun Gupta
>> <[email protected]>
>> Cc: Jerin Jacob Kollanukkaran <[email protected]>; [email protected]
>> Subject: RE: [PATCH v5] app/eventdev: add crypto producer mode
>>
>> >> >
>> >> > + @Van Haaren, Harry
>> >
>> >Hi All,
>> >
>> >I have been away on vacation for the last week - hence the delay in
>> >reply on this thread.
>> >
>> ><snip discussion>
>> >
>> >> > > [1]
>> >> > > Steps to reproduce:
>> >> > > * Clone https://urldefense.proofpoint.com/v2/url?u=http-
>> >3A__dpdk.org_git_next_dpdk-2Dnext-
>> >2Deventdev&d=DwIGaQ&c=nKjWec2b6R0mOyPaz7xtfQ&r=G9w4KsPaQLAC
>> BfGCL
>> >35PtiRH996yqJDxAZwrWegU2qQ&m=-yaLm_cvg5cKTbBy3OoUs719W-
>> >E3ARETajJQmUvoE4aSAPjcEn1kulkRNxTn841D&s=lZjsn2zecck8IBBQRA7fId7
>> BXSYKk
>> >U8Tjj10gNQLB6U&e=
>> >> > > * Apply [v5] app/eventdev: add crypto producer mode
>> >> > >   git-pw --server
>> >> > > https://urldefense.proofpoint.com/v2/url?u=https-
>> >3A__patches.dpdk.org_api_1.2_&d=DwIGaQ&c=nKjWec2b6R0mOyPaz7xtf
>> Q&r=G
>> >9w4KsPaQLACBfGCL35PtiRH996yqJDxAZwrWegU2qQ&m=-
>> >yaLm_cvg5cKTbBy3OoUs719W-
>> >E3ARETajJQmUvoE4aSAPjcEn1kulkRNxTn841D&s=VBQtpQ8vwHt9BnMrPLz
>> SneOm
>> >zhLdP5bfyLuY42fCnak&e=  --project dpdk
>> >> > > patch apply 107645
>> >> > > * Apply [RFC] app/eventdev: add software crypto adapter support
>> >> > >   git-pw --server
>> >> > > https://urldefense.proofpoint.com/v2/url?u=https-
>> >3A__patches.dpdk.org_api_1.2_&d=DwIGaQ&c=nKjWec2b6R0mOyPaz7xtf
>> Q&r=G
>> >9w4KsPaQLACBfGCL35PtiRH996yqJDxAZwrWegU2qQ&m=-
>> >yaLm_cvg5cKTbBy3OoUs719W-
>> >E3ARETajJQmUvoE4aSAPjcEn1kulkRNxTn841D&s=VBQtpQ8vwHt9BnMrPLz
>> SneOm
>> >zhLdP5bfyLuY42fCnak&e=  --project dpdk
>> >> > > patch apply 107029
>> >> > > * meson x86_build_debug  -Dc_args='-g -O0' -
>> Ddisable_drivers="*/cnxk"
>> >> > > * ninja -C x86_build_debug
>> >> > > * Command to reproduce crash
>> >> > >   sudo ./x86_build_debug/app/dpdk-test-eventdev -l 0-8 -s 0xf0
>> >> > > --vdev=event_sw0  --vdev="crypto_null" -- --prod_type_cryptodev
>> >> > > --crypto_adptr_mode 0 --test=perf_queue --stlist=a --wlcores 1
>> >> > > --plcores 2
>> >
>> >Can confirm that these steps indeed cause segfault as reported.
>> >
>> >In debugging, it seems like there are *zero* NEW events, and large
>> >numbers of RELEASE events are enqueued... if so, this is not compliant to
>> the Eventdev API.
>> >Can somebody confirm that?
>> >
>> >The SW PMD is being told there are events to release, but there aren't any.
>> >Eventually, this leads to a mismatch in credit allocations, which then
>> >causes the IQ-chunks datastructure to corrupt.
>> >
>> >All in all, I'm not convinced this is a SW PMD issue yet - initial
>> >testing points to incorrect event OP NEW/FWD/RELEASE usage. Can we
>> >verify that the OPs being sent are correct?
>> >
>>
>> Looks like an issue in crypto adapter service. The service is starting with
>> OP_FORWARD, if RTE_EVENT_DEV_CAP_IMPLICIT_RELEASE_DISABLE is set.
>> Abhinandan can confirm.
>
>The service is started with what application is requesting for from the 
>adapter.
>The app can request either OP_NEW or FWD mode. Adapter while creating a new
>instance
>requests for evendev caps & based on that adapter enqueues events back to
>evdev
>in FWD or NEW mode. All events are triggered by application and adapter is
>transparent here. Could you please explain me how this creating an issue?
>

In lib/eventdev/rte_event_crypto_adapter.c:
...
eca_ops_enqueue_burst(struct event_crypto_adapter *adapter,
...
                rte_memcpy(ev, &m_data->response_info, sizeof(*ev));
                ev->event_ptr = ops[i];
                ev->event_type = RTE_EVENT_TYPE_CRYPTODEV;
                if (adapter->implicit_release_disabled)
                        ev->op = RTE_EVENT_OP_FORWARD;
                else
                        ev->op = RTE_EVENT_OP_NEW;
 ...

op and event_type is set in the service. Changing FORWARD to NEW will fix the 
crash.

I think, we should update the spec with what all values are used in response 
info.
I will remove setting op/event_type field of response info in the application.
PMD/service can take care of it.

Reply via email to