On 10/26/20 9:27 AM, Chautru, Nicolas wrote:
>> -----Original Message-----
>> From: Tom Rix <[email protected]>
>> Sent: Monday, October 26, 2020 6:56 AM
>> To: Chautru, Nicolas <[email protected]>; [email protected];
>> [email protected]
>> Cc: [email protected]
>> Subject: Re: [PATCH v5 7/7] app/bbdev: update offload test to dequeue full
>> ring
>>
>>
>> On 10/23/20 4:43 PM, Nicolas Chautru wrote:
>>> update offload dequeue to retrieve the full ring to be agnostic of
>>> implementation.
>>>
>>> Signed-off-by: Nicolas Chautru <[email protected]>
>>> Acked-by: Aidan Goddard <[email protected]>
>>> Acked-by: Dave Burley <[email protected]>
>>> ---
>>> app/test-bbdev/test_bbdev_perf.c | 16 ++++++++--------
>>> 1 file changed, 8 insertions(+), 8 deletions(-)
>>>
>>> diff --git a/app/test-bbdev/test_bbdev_perf.c
>>> b/app/test-bbdev/test_bbdev_perf.c
>>> index b5dc536..a6884c5 100644
>>> --- a/app/test-bbdev/test_bbdev_perf.c
>>> +++ b/app/test-bbdev/test_bbdev_perf.c
>>> @@ -4463,8 +4463,8 @@ typedef int (test_case_function)(struct
>> active_device *ad,
>>> /* Dequeue one operation */
>> This comment and similar need to change, not doing just 1 anymore
> We still just need one operation dequeued to be considered done.
>
>>> do {
>>> deq += rte_bbdev_dequeue_dec_ops(dev_id,
>> queue_id,
>>> - &ops_deq[deq], 1);
>>> - } while (unlikely(deq != 1));
>>> + &ops_deq[deq], enq);
>>> + } while (unlikely(deq == 0));
>> This check looks wrong, should likely be (deq != enq)
>>
>> Similar below
> No that is intentional. Not waiting for everything to be done but purely the
> first dequeue. If not this would be run multiple times.
> The rest of ring is dequeued below.
So is > 1 an error condition or ok?
Maybe add a comment that it is really ok because the call logic is not setup
for 1 but for enq
Tom
>
>> Tom
>>
>>> deq_last_time = rte_rdtsc_precise() - deq_start_time;
>>> time_st->deq_max_time = RTE_MAX(time_st-
>>> deq_max_time, @@ -4554,8
>>> +4554,8 @@ typedef int (test_case_function)(struct active_device *ad,
>>> /* Dequeue one operation */
>>> do {
>>> deq += rte_bbdev_dequeue_ldpc_dec_ops(dev_id,
>> queue_id,
>>> - &ops_deq[deq], 1);
>>> - } while (unlikely(deq != 1));
>>> + &ops_deq[deq], enq);
>>> + } while (unlikely(deq == 0));
>>>
>>> deq_last_time = rte_rdtsc_precise() - deq_start_time;
>>> time_st->deq_max_time = RTE_MAX(time_st-
>>> deq_max_time, @@ -4642,8
>>> +4642,8 @@ typedef int (test_case_function)(struct active_device *ad,
>>> /* Dequeue one operation */
>>> do {
>>> deq += rte_bbdev_dequeue_enc_ops(dev_id,
>> queue_id,
>>> - &ops_deq[deq], 1);
>>> - } while (unlikely(deq != 1));
>>> + &ops_deq[deq], enq);
>>> + } while (unlikely(deq == 0));
>>>
>>> deq_last_time = rte_rdtsc_precise() - deq_start_time;
>>> time_st->deq_max_time = RTE_MAX(time_st-
>>> deq_max_time, @@ -4725,8
>>> +4725,8 @@ typedef int (test_case_function)(struct active_device *ad,
>>> /* Dequeue one operation */
>>> do {
>>> deq += rte_bbdev_dequeue_ldpc_enc_ops(dev_id,
>> queue_id,
>>> - &ops_deq[deq], 1);
>>> - } while (unlikely(deq != 1));
>>> + &ops_deq[deq], enq);
>>> + } while (unlikely(deq == 0));
>>>
>>> deq_last_time = rte_rdtsc_precise() - deq_start_time;
>>> time_st->deq_max_time = RTE_MAX(time_st-
>>> deq_max_time,