Dmitry Eremin-Solenikov(lumag) replied on github web page:

platform/linux-generic/pktio/dpdk.c
line 39
@@ -1135,6 +1135,13 @@ static void dpdk_init_capability(pktio_entry_t 
*pktio_entry,
        rte_eth_dev_info_get(pkt_dpdk->port_id, dev_info);
        capa->max_input_queues = RTE_MIN(dev_info->max_rx_queues,
                                         PKTIO_MAX_QUEUES);
+
+       /* ixgbe devices support only 16 rx queues in RSS mode */
+       if (!strncmp(dev_info->driver_name, IXGBE_DRV_NAME,
+                    strlen(IXGBE_DRV_NAME)))
+               capa->max_input_queues = RTE_MIN((unsigned)16,
+                                                capa->max_input_queues);
+


Comment:
It looks like this should be fixed inside DPDK rather than here.

> Bill Fischofer(Bill-Fischofer-Linaro) wrote:
> Presumably these drivers have a way of flushing short bursts? If the 
> `min_rx_burst` is 4 and the other side sends an odd number of packets, 
> presumably the receiver application isn't left hanging forever waiting for 
> the rest of a burst that will never arrive?


>> Bill Fischofer(Bill-Fischofer-Linaro) wrote:
>> Wouldn't it be simpler (and more extensible) to have `min_rx_burst` as a 
>> field in the `dev_info` struct? 


>>> nagarahalli wrote
>>> 'min_rx_burst' should be added to the capability as it is a restriction 
>>> from the device. The application should adjust the 'num' according to the 
>>> capability it reads from the pkt I/O.


https://github.com/Linaro/odp/pull/287#discussion_r149740879
updated_at 2017-11-08 17:32:39

Reply via email to