[dpdk-dev] KNI latency improvement

Nirmoy Das ndas at suse.de
Fri Dec 29 15:27:03 CET 2017


Hi Ferruh,

There is latency in the range of milliseconds when packets are passed
through KNI up to the IP stack. With CONFIG_RTE_KNI_PREEMPT_DEFAULT=n
its required sacrifice a cpu core. Do you have any suggestion to improve
latency without sacrificing a cpu?

What do you think about using cond_resched() instead of
schedule_timeout_interruptible(), in our test it helped to reduce
latency?

Index: dpdk-stable-16.11.1/lib/librte_eal/linuxapp/kni/kni_misc.c
===================================================================
--- dpdk/lib/librte_eal/linuxapp/kni/kni_misc.c
+++ dpdk/lib/librte_eal/linuxapp/kni/kni_misc.c
@@ -150,9 +150,8 @@ kni_thread_single(void *data)
 		}
 		up_read(&knet->kni_list_lock);
 #ifdef RTE_KNI_PREEMPT_DEFAULT
-		/* reschedule out for a while */
-		schedule_timeout_interruptible(
-			usecs_to_jiffies(KNI_KTHREAD_RESCHEDULE_INTERVAL));
+		/* reschedule out */
+		cond_resched();
 #endif
 	}


Regards,
Nirmoy
-- 
SUSE Linux GmbH, GF: Felix Imendörffer, Jane Smithard, Graham Norton HRB
21284 (AG Nürnberg) Maxfeldstr. 5
D-90409 Nürnberg / Phone: +49-911-740 18-4


More information about the dev mailing list