[dpdk-dev] [PATCH] kni: fast data availability check in thread_single loop

Ferruh Yigit ferruh.yigit at intel.com
Wed Jan 18 13:35:41 CET 2017


On 1/18/2017 11:05 AM, Sergey Vyazmitinov wrote:
> 
> 
> On Thu, Jan 12, 2017 at 12:29 AM, Ferruh Yigit <ferruh.yigit at intel.com
> <mailto:ferruh.yigit at intel.com>> wrote:
> 

<...>

>     &knet->kni_list_head, list) {
>     > +     for (i = 0; i < KNI_RX_DATA_LOOP_NUM; ++i) {
> 
>     When there are multiple KNI interfaces, and lets assume there is traffic
>     too, this will behave like:
> 
>     KNI1x2500 data_packets + KNI2x2500 data_packets .... KNI10x2500
> 
>     After data packets, KNI1 resp_packet + KNI2 resp_packets ...
> 
>     Won't this scenario also may cause latency? And perhaps jitter according
>     KNI interface traffic loads?
> 
>     This may be good for some use cases, but not sure if this is good
>     for all.
> 
> We can decrease KNI_RX_DATA_LOOP_NUM to some reasonable value.
> I can make test to find lower bound.

I believe the effect of these changes differ per use case, and load on
interfaces, may not work as well for everybody.

> Also, the point is in fast check for a new data in interface rx queue.
> May be will be better add some kind of break after several kni_net_rx calls.
> Without them loop ends very quickly.
> Anyway, this patch decrease average latency in my case from 4.5ms to 

4.5ms is too slow, can there be any other issue?

> 0.011ms in ping test with 100000 packets.

<...>



More information about the dev mailing list