From: Shirley Avishour <shirley@imvisiontech.com>
To: Ferruh Yigit <ferruh.yigit@intel.com>
Cc: dev@dpdk.org
Subject: Re: [dpdk-dev] drops while transmitting to the kni using rte_kni_tx_burst()
Date: Wed, 18 Jan 2017 11:51:07 +0200 [thread overview]
Message-ID: <CACn717hbaym4J2WJr1e551PHgf=FVsAHXeeTudWMqmESW2XigA@mail.gmail.com> (raw)
In-Reply-To: <ee7d06d0-0359-5e15-1956-6bbf19315208@intel.com>
Hi,
thanks for the quick answer.
I ran the same test with one kni port
with the following configuration:
sudo insmod rte_kni.ko lo_mode=lo_mode_fifo_skb
sudo ./kni -c 0xf -n 4 -- -P p 0x1 --config="(0,1,2,3)"
and transmitted towards the single port traffic with rate of 300Mbps.
as you can see below I have packet drops:
what is the difference between what you tested and what I see below?
is there some other configuration or adjustments to be done on the kni that
I am missing?
====== ============== ============ ============ ============
============
**KNI example application statistics**
====== ============== ============ ============ ============
============
Port Lcore(RX/TX) rx_packets rx_dropped tx_packets
tx_dropped
------ -------------- ------------ ------------ ------------
------------
0 1/ 2 106059534 21978 106058868
0
====== ============== ============ ============ ============
============
**KNI example application statistics**
====== ============== ============ ============ ============
============
Port Lcore(RX/TX) rx_packets rx_dropped tx_packets
tx_dropped
------ -------------- ------------ ------------ ------------
------------
0 1/ 2 106137710 21995 106137054
0
====== ============== ============ ============ ============
============
**KNI example application statistics**
====== ============== ============ ============ ============
============
Port Lcore(RX/TX) rx_packets rx_dropped tx_packets
tx_dropped
------ -------------- ------------ ------------ ------------
------------
0 1/ 2 106217479 21995 106216603
0
====== ============== ============ ============ ============
============
**KNI example application statistics**
====== ============== ============ ============ ============
============
Port Lcore(RX/TX) rx_packets rx_dropped tx_packets
tx_dropped
------ -------------- ------------ ------------ ------------
------------
0 1/ 2 116349769 24150 116349796
0
====== ============== ============ ============ ============
============
**KNI example application statistics**
====== ============== ============ ============ ============
============
Port Lcore(RX/TX) rx_packets rx_dropped tx_packets
tx_dropped
------ -------------- ------------ ------------ ------------
------------
0 1/ 2 116349769 24150 116349796
0
====== ============== ============ ============ ============
============
^[[A
**KNI example application statistics**
====== ============== ============ ============ ============
============
Port Lcore(RX/TX) rx_packets rx_dropped tx_packets
tx_dropped
------ -------------- ------------ ------------ ------------
------------
0 1/ 2 117954991 24530 117954361
0
====== ============== ============ ============ ============
============
On Tue, Jan 17, 2017 at 7:57 PM, Ferruh Yigit <ferruh.yigit@intel.com>
wrote:
> On 1/17/2017 5:46 PM, Ferruh Yigit wrote:
> > On 1/16/2017 2:58 PM, Shirley Avishour wrote:
> >> I am currently using the kernel interface for recording the received
> >> traffic by duplicating the received packets and sending a copy to the
> >> kni (and performing pcap_open_live on the kni).
> >> my goal rate is around 500Mbps. is it possible to achieve it via the
> kni ??
> >
> > According quick experiment,
> > - with kni module lo_mode_fifo_skb (which send all received packets to
> > tx, but allocating and copying data to skb to be more realistic)
> > - single kernel thread
> > - kernel thread bind to a core
> > - using kni sample app
> > - With small packets
> >
> > Best numbers get when rx,tx and kernel cores are in same socket with the
> > NIC, it is ~1.7Mpps (million packet per second)
> >
> > When KNI_RX_LOOP_NUM increased to 10000, it becomes ~1.9Mpps.
> >
>
> And again, very quick test, between two KNI ports, with kni sample app,
> using iperf default values, gives ~3 Gbits/sec
>
> >>
> >>
> >> 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!
> >> > >
> >> >
> >> >
> >>
> >>
> >
>
>
next prev parent reply other threads:[~2017-01-18 9:51 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 [this message]
2017-01-16 15:43 ` Shirley Avishour
2017-01-17 12:34 ` Shirley Avishour
2017-01-17 17:49 ` Ferruh Yigit
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='CACn717hbaym4J2WJr1e551PHgf=FVsAHXeeTudWMqmESW2XigA@mail.gmail.com' \
--to=shirley@imvisiontech.com \
--cc=dev@dpdk.org \
--cc=ferruh.yigit@intel.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).