Petri Savolainen(psavol) 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) {

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 08:01:52

Reply via email to