Hi, can the KNI_KTHREAD_RESCHEDULE_INTERVAL decrease to lower values than 5 usecs?? is it effective at all? and what is the purpose of KNI_RX_LOOP_NUM? I am not sure I understand what it does and what should I do with it to improve the performance.
thanks! On Mon, Jan 16, 2017 at 5:43 PM, Shirley Avishour <shir...@imvisiontech.com> wrote: > Hi, > KNI_KTHREAD_RESCHEDULE_INTERVAL is currently set to 5usec. how should I > tweak this value to get better performance? > and can you explain the use of KNI_RX_LOOP_NUM and what can I possibly > modify it to ? > > Thanks! > > > On Mon, Jan 16, 2017 at 4:55 PM, Ferruh Yigit <ferruh.yi...@intel.com> > wrote: > >> On 1/16/2017 2:47 PM, Shirley Avishour wrote: >> > Hi, >> > As I wrote the kernel thread runs on a dedicated lcore. >> > running top while my application is running I see kni_single and the cpu >> > usage is really low... >> > Is there any rate limitation for transmitting to the kernel interface >> > (since packets are being copied in the kernel). >> >> Yes, kind of, kernel thread sleeps periodically, with a value defined by >> KNI_KTHREAD_RESCHEDULE_INTERVAL. You can try tweaking this value, if you >> want thread do more work, less sleep J >> >> Also KNI_RX_LOOP_NUM can be updated for same purpose. >> >> > >> > >> > On Mon, Jan 16, 2017 at 4:42 PM, Ferruh Yigit <ferruh.yi...@intel.com >> > <mailto:ferruh.yi...@intel.com>> wrote: >> > >> > On 1/16/2017 12:20 PM, Shirley Avishour wrote: >> > > Hi, >> > > I have an application over dpdk which is consisted of the >> following threads >> > > each running on a separate core: >> > > 1) rx thread which listens on in a poll mode for traffic >> > > 2) 2 packet processing threads (for load balancing) >> > > 3) kni thread (which also runs on a separate core). >> > >> > This is kernel thread, right? Is it bind to any specific core? >> > Is it possible that this thread shares the core with 2nd processing >> > thread when enabled? >> > >> > > >> > > the rx thread receives packets and clones them and transmit a copy >> > to the >> > > kni and the other packet is sent to the packet processing unit >> > (hashing >> > > over 2 threads). >> > > the receive traffic rate is 100Mbps. >> > > When working with single packet processing thread I am able to get >> > all the >> > > 100Mbps towards the kni with no drops. >> > > but when I activate my application with 2 packet processing >> > threads I start >> > > facing drops towards the kni. >> > > the way I see it the only difference now is that I have another >> > threads >> > > which handles an mbuf and frees it once processing is completed. >> > > Can anyone assist with this case please? >> > > >> > > Thanks! >> > > >> > >> > >> >> >