Bill Fischofer(Bill-Fischofer-Linaro) replied on github web page:

@@ -720,9 +727,32 @@ static inline int poll_pktin(uint32_t qi)
                if (num_pktin == 0)
+               return num;
-       return num;
+       if (atomic) {

That makes sense.

> Petri Savolainen(psavol) wrote:
> Line is was not changed but moved. Anyway, added name in v2.

>> Petri Savolainen(psavol) wrote:
>> ODP_DBG() added in v2

>>> Petri Savolainen(psavol) wrote:
>>> I wanted to be conservative and not change synchronization of parallel 
>>> queues yet. I'll do another patch on top, so that it's easy to undo 
>>> parallel optimization later if necessary.

>>>> Bill Fischofer(Bill-Fischofer-Linaro) wrote:
>>>> Worth an `ODP_DBG()` here? At minimum I'd think we'd want to capture some 
>>>> sort of statistic for these drops.
>>>> Same comment for the rest of the similar drops in this commit.

>>>>> Bill Fischofer(Bill-Fischofer-Linaro) wrote:
>>>>> If we relax this to cover atomic and parallel queues then this would 
>>>>> simply be:
>>>>> ```
>>>>> int use_stash = !queue_is_ordered(qi);
>>>>> ```

>>>>>> Bill Fischofer(Bill-Fischofer-Linaro) wrote:
>>>>>> Is it really necessary to restrict this optimization to atomic queues? 
>>>>>> Ordered obviously cannot be stashed, but parallel queues make no 
>>>>>> ordering guarantees so accelerating them like this would also seem 
>>>>>> reasonable. In that case the `atomic` variable to this function would be 
>>>>>> better named something like `use_stash` .

>>>>>>> Bill Fischofer(Bill-Fischofer-Linaro) wrote:
>>>>>>> Might be nice to say which interface wasn't started here for debug 
>>>>>>> purposes since many could be in play.
updated_at 2018-03-02 12:55:36

Reply via email to