muvarov replied on github web page:

platform/linux-generic/odp_schedule_basic.c
@@ -846,19 +846,19 @@ static inline int do_schedule_grp(odp_queue_t *out_queue, 
odp_event_t out_ev[],
                                 * priorities. Stop scheduling queue when pktio
                                 * has been stopped. */
                                if (pktin) {
-                                       int atomic = queue_is_atomic(qi);
-                                       int num_pkt = poll_pktin(qi, atomic);
+                                       int stash = !ordered;
+                                       int num_pkt = poll_pktin(qi, stash);
 
                                        if (odp_unlikely(num_pkt < 0))
                                                continue;
 
-                                       if (num_pkt == 0 || !atomic) {
+                                       if (num_pkt == 0 || !stash) {


Comment:
it can be if (num_pkt == 0 || ordered), stash variable looks like not needed in 
this patch.

> Bill Fischofer(Bill-Fischofer-Linaro) wrote:
> 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.


https://github.com/Linaro/odp/pull/504#discussion_r171871292
updated_at 2018-03-02 15:08:55

Reply via email to