Petri Savolainen(psavol) replied on github web page:

platform/linux-generic/odp_schedule_basic.c
@@ -720,9 +727,32 @@ static inline int poll_pktin(uint32_t qi)
 
                if (num_pktin == 0)
                        sched_cb_pktio_stop_finalize(pktio_index);
+
+               return num;
        }
 
-       return num;
+       if (atomic) {


Comment:
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.


https://github.com/Linaro/odp/pull/504#discussion_r171783094
updated_at 2018-03-02 08:01:52

Reply via email to