DPDK patches and discussions
 help / color / mirror / Atom feed
From: Ferruh Yigit <ferruh.yigit@intel.com>
To: Shirley Avishour <shirley@imvisiontech.com>
Cc: dev@dpdk.org
Subject: Re: [dpdk-dev] drops while transmitting to the kni using rte_kni_tx_burst()
Date: Tue, 17 Jan 2017 17:49:13 +0000	[thread overview]
Message-ID: <60be9923-501f-0611-698b-40730defbdf3@intel.com> (raw)
In-Reply-To: <CACn717hLGKEsLc0gyw78nsnWQZ8uG0wW2bqOC8hJUjmByOmZrg@mail.gmail.com>

On 1/17/2017 12:34 PM, Shirley Avishour wrote:
> Hi,
> can the KNI_KTHREAD_RESCHEDULE_INTERVAL decrease to lower values than 5
> usecs?? is it effective at all?

You are right, it may not be since metric is usecs, and
usecs_to_jiffies() most probably will give same value for 5 and lower.

Removing that sleep completely (CONFIG_RTE_KNI_PREEMPT_DEFAULT=n) helps
a little.

> 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.

Increasing the loop number, also increases the work/sleep ratio, and
increasing the performance a little.

> 
> thanks!
> 
> On Mon, Jan 16, 2017 at 5:43 PM, Shirley Avishour
> <shirley@imvisiontech.com <mailto:shirley@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.yigit@intel.com <mailto:ferruh.yigit@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.yigit@intel.com <mailto:ferruh.yigit@intel.com>
>         > <mailto:ferruh.yigit@intel.com
>         <mailto:ferruh.yigit@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!
>         >     >
>         >
>         >
> 
> 
> 

  reply	other threads:[~2017-01-17 17:49 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-01-16 12:20 Shirley Avishour
2017-01-16 14:42 ` Ferruh Yigit
2017-01-16 14:47   ` Shirley Avishour
2017-01-16 14:55     ` Ferruh Yigit
2017-01-16 14:58       ` Shirley Avishour
2017-01-17 17:46         ` Ferruh Yigit
2017-01-17 17:57           ` Ferruh Yigit
2017-01-18  9:51             ` Shirley Avishour
2017-01-16 15:43       ` Shirley Avishour
2017-01-17 12:34         ` Shirley Avishour
2017-01-17 17:49           ` Ferruh Yigit [this message]
2017-01-17 14:21       ` Jay Rolette
2017-01-20 19:48   ` Jason Kwon
2017-01-23  7:59     ` Shirley Avishour

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=60be9923-501f-0611-698b-40730defbdf3@intel.com \
    --to=ferruh.yigit@intel.com \
    --cc=dev@dpdk.org \
    --cc=shirley@imvisiontech.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).