Petri Savolainen(psavol) replied on github web page:

platform/linux-generic/odp_packet_io.c
line 117
@@ -720,12 +727,29 @@ int sched_cb_pktin_poll_one(int pktio_index,
        return num_rx;
 }
 
-int sched_cb_pktin_poll(int pktio_index, int num_queue, int index[])
+int sched_cb_pktin_poll(int pktio_index, int pktin_index,
+                       odp_buffer_hdr_t *hdr_tbl[], int num)
+{
+       pktio_entry_t *entry = pktio_entry_by_index(pktio_index);
+       int state = entry->s.state;
+
+       if (odp_unlikely(state != PKTIO_STATE_STARTED)) {
+               if (state < PKTIO_STATE_ACTIVE ||
+                   state == PKTIO_STATE_STOP_PENDING)
+                       return -1;
+
+               ODP_DBG("interface not started\n");


Comment:
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_r171823872
updated_at 2018-03-02 11:24:09

Reply via email to