This patch of Nov 2014 hasn't been yet ACKed/NACKed. Could someone please give some quick feedback?
Thanks marc On 07/11/14 12:00, Marc Sune wrote: > This patch introduces CONFIG_RTE_KNI_PREEMPT flag. When set to 'no', KNI > kernel thread(s) do not call schedule_timeout_interruptible(), which improves > overall KNI performance at the expense of CPU cycles (polling). > > Default values is 'yes', maintaining the same behaviour as of now. > > Signed-off-by: Marc Sune <marc.sune at bisdn.de> > --- > config/common_linuxapp | 1 + > lib/librte_eal/linuxapp/kni/kni_misc.c | 4 ++++ > 2 files changed, 5 insertions(+) > > diff --git a/config/common_linuxapp b/config/common_linuxapp > index 57b61c9..24b529d 100644 > --- a/config/common_linuxapp > +++ b/config/common_linuxapp > @@ -380,6 +380,7 @@ CONFIG_RTE_LIBRTE_PIPELINE=y > # Compile librte_kni > # > CONFIG_RTE_LIBRTE_KNI=y > +CONFIG_RTE_KNI_PREEMPT=y > CONFIG_RTE_KNI_KO_DEBUG=n > CONFIG_RTE_KNI_VHOST=n > CONFIG_RTE_KNI_VHOST_MAX_CACHE_SIZE=1024 > diff --git a/lib/librte_eal/linuxapp/kni/kni_misc.c > b/lib/librte_eal/linuxapp/kni/kni_misc.c > index ba77776..e7e6c27 100644 > --- a/lib/librte_eal/linuxapp/kni/kni_misc.c > +++ b/lib/librte_eal/linuxapp/kni/kni_misc.c > @@ -229,9 +229,11 @@ kni_thread_single(void *unused) > } > } > up_read(&kni_list_lock); > +#ifdef RTE_KNI_PREEMPT > /* reschedule out for a while */ > schedule_timeout_interruptible(usecs_to_jiffies( \ > KNI_KTHREAD_RESCHEDULE_INTERVAL)); > +#endif > } > > return 0; > @@ -252,8 +254,10 @@ kni_thread_multiple(void *param) > #endif > kni_net_poll_resp(dev); > } > +#ifdef RTE_KNI_PREEMPT > schedule_timeout_interruptible(usecs_to_jiffies( \ > KNI_KTHREAD_RESCHEDULE_INTERVAL)); > +#endif > } > > return 0;