On 2022-07-14 18:57, Van Haaren, Harry wrote:
>> -----Original Message-----
>> From: Van Haaren, Harry
>> Sent: Thursday, July 14, 2022 5:54 PM
>> To: Pavan Nikhilesh Bhagavatula <pbhagavat...@marvell.com>; mattias.ronnblom
>> <mattias.ronnb...@ericsson.com>; Thomas Monjalon <tho...@monjalon.net>
>> Cc: Jerin Jacob Kollanukkaran <jer...@marvell.com>; Ray Kinsella 
>> <m...@ashroe.eu>;
>> dev@dpdk.org; McDaniel, Timothy <timothy.mcdan...@intel.com>; Hemant
>> Agrawal <hemant.agra...@nxp.com>; sachin.sax...@oss.nxp.com;
>> lian...@liangbit.com; Mccarthy, Peter <peter.mccar...@intel.com>; Carrillo, 
>> Erik
>> G <erik.g.carri...@intel.com>; Gujjar, Abhinandan S
>> <abhinandan.guj...@intel.com>; Jayatheerthan, Jay 
>> <jay.jayatheert...@intel.com>;
>> Burakov, Anatoly <anatoly.bura...@intel.com>
>> Subject: RE: [EXT] Re: [PATCH 1/2] doc: add enqueue depth for new event type
>>
>>> -----Original Message-----
>>> From: Pavan Nikhilesh Bhagavatula <pbhagavat...@marvell.com>
>>> Sent: Thursday, July 14, 2022 5:42 PM
>>> To: mattias.ronnblom <mattias.ronnb...@ericsson.com>; Thomas Monjalon
>>> <tho...@monjalon.net>
>>> Cc: Jerin Jacob Kollanukkaran <jer...@marvell.com>; Ray Kinsella
>> <m...@ashroe.eu>;
>>> dev@dpdk.org; McDaniel, Timothy <timothy.mcdan...@intel.com>; Hemant
>>> Agrawal <hemant.agra...@nxp.com>; sachin.sax...@oss.nxp.com;
>>> lian...@liangbit.com; Mccarthy, Peter <peter.mccar...@intel.com>; Van
>> Haaren,
>>> Harry <harry.van.haa...@intel.com>; Carrillo, Erik G 
>>> <erik.g.carri...@intel.com>;
>>> Gujjar, Abhinandan S <abhinandan.guj...@intel.com>; Jayatheerthan, Jay
>>> <jay.jayatheert...@intel.com>; Burakov, Anatoly <anatoly.bura...@intel.com>
>>> Subject: RE: [EXT] Re: [PATCH 1/2] doc: add enqueue depth for new event type
>>
>> <snip old conversation>
>>
>>>>>> If the underlying hardware has some limitations,
>>>>>> why not let the driver loop until back pressure occurs? Then you can
>>>>
>>>> You didn't answer this question. Why not let the driver loop, until you
>>>> for some reason or the other can't accept more events?
>>>
>>> CNXK event driver cannot accept forwarding(enq) more than one event that has
>>> been dequeued. Enqueueing more than one event for forwarding/releasing
>>> is a violation from HW perspective, this is currently announced by BURST
>> capability.
>>> But It can enqueue a burst if new events.
>>
>> Can't the driver just backpressure NEW events? that's what the event/sw 
>> driver
>> does in order to limit "new" inflight events. App attempts to enq FWD/REL, no
>> problem. App enqueues burst of NEW (and there's only N spaces) then the
>> first N events pass, and the rest are returned to the application.
>>
>>> If you see the current example implementation we pick the worker based on
>>> BURST capability for optimizing the enqueue/dequeue by providing a hint
>>> to the driver layer.
>>
>> Please provide a link to the code? Others are not familiar with the CNXK 
>> driver,
>> or the sample code you're referring to...
>>
>>
>>> Although, we could live with aggregating the events at driver layer based on
>>> queue. We would still require announce burst capability for new events i.e.
>>> changes to the info structure.
>>
>> As per above, I still don't see a reason why this HW optimization/limitation
>> needs to be pushed to the application layer. Why can the driver not handle
>> things by allowing/backpressure to the events it can/can't handle?
>>
>>
>> In this email thread[1] you've suggested reworking the rx_burst API with a
>> flag to indicate "same destination". This still pushes the problem to the 
>> application,
>> and exposes more HW/PMD specific options. This impl is *slightly* better 
>> because it
>> wont' require new APIs for each mode, but also *breaks all existing apps*!?
>>
>> I'm just not understanding why the application needs to change, and why it
>> cannot be optimized/handled in the driver layer.
>>
>> [1] 
>> https://protect2.fireeye.com/v1/url?k=31323334-501d5122-313273af-454445555731-e92a9cef34b4dac6&q=1&e=fb252b76-35e7-4476-b756-c64849e9bf54&u=http%3A%2F%2Fmails.dpdk.org%2Farchives%2Fdev%2F2022-July%2F246717.html
>>
>> <snip old conversation>
> 
> 
> Let me be very clear, but also try to help here;
>    I'm not in favour of the changes as proposed here, and feel that pushing
>    the problem to Application API is NOT the right solution.
> 
> But *just in case* there is a *genuine* reason that we need an API/ABI
> change, and that can be justified clearly in the upcoming weeks, then I'd
> prefer not have problems with the deprecation notice not being included.

Quantifying the performance benefits would be helpful, I think.

> 
> This Ack is *only* to allow possible API/ABI changes in 22.11, and not for
> the proposal above.
> 
> Acked-by: Harry van Haaren <harry.van.haa...@intel.com>
> 

Reply via email to