DPDK usage discussions
 help / color / mirror / Atom feed
From: Cliff Burdick <shaklee3@gmail.com>
To: Ferruh Yigit <ferruh.yigit@intel.com>
Cc: users <users@dpdk.org>
Subject: Re: [dpdk-users] KNI Threads/Cores
Date: Wed, 8 Jun 2016 12:48:43 -0700	[thread overview]
Message-ID: <CA+Gp1nb1tQE5fa8Cu3Ux=rohuLSZV+S4VQQeHaiBndhaqJuQtA@mail.gmail.com> (raw)
In-Reply-To: <57587289.7050805@intel.com>

Hi Yigit, when you say "I guess it's possible" is that not common? I would
think that the amount of traffic people would want to forward to Linux for
normal DPDK applications would be quite small. If you had to have a core
dedicated for KNI on each interface that would get very wasteful.

On Wed, Jun 8, 2016 at 12:31 PM, Ferruh Yigit <ferruh.yigit@intel.com>
wrote:

> On 6/8/2016 5:30 PM, Cliff Burdick wrote:
> > Hi, I have an application with two sockets where each core I'm planning
> to
> > transmit and receive a fairly large amount of traffic per core. Each core
> > right now handles a single queue of either TX or RX of a given port.
> Across
> > all the cores, I may be processing up to 12 ports. I also need to handle
> > things like ARP and ping, so I'm going to add in the KNI driver to handle
> > that. Since the amount of traffic I'm expecting that I'll need to forward
> > to Linux is very small, it seems like I should be able to dedicate one
> > lcore per socket to handle this functionality and have the dataplane
> cores
> > pass the traffic off to this core using rte_kni_tx_burst().
> >
> > My question is, first of all, is this possible? It seems like I can
> > configure the KNI driver to start in "single thread" mode. From that
> point,
> > I want to initialize one KNI device for each port, and have each kernel
> > lcore on each processor handle that traffic. I believe if I call
> > rte_kni_alloc with core_id set to the kernel lcore for each device, then
> in
> > the end I'll have something like 6 KNI devices on socket one being
> handled
> > by lcore 0, and 6 KNI devices on socket 2 being handled by lcore 31 as an
> > example. Then my threads that are handling the dataplane tx/rx can simply
> > be passed a pointer to their respective rte_kni device. Does this sound
> > correct?
>
> If rte_kni module used "single thread" mode, kernel core_id is not used
> at all. For single thread mode, a single thread created, this is used to
> for all kni devices and not able to pin to any specific lcore.
>
> For what you have described, first need to insert module with
> kthread_mode=multiple param. This will create a kernel thread per kni
> interface. But I guess it is possible to provide same
> rte_kni_conf->core_id for some of them, and yes rte_kni_conf->force_pin
> is required, otherwise core_id is not useful. According your sample,
> first 6 kni devices will have core_id value 0, and other 6 kni devices
> will have core_id value 31, with all have force_bind set. This will
> create 12 kernel threads, will bind 6 of them to core 0 and other 6 to
> core 31.
>
> >
> > Also, the sample says the core affinity needs to be set using taskset. Is
> > that already taken care of with conf.core_id in rte_kni_alloc or do I
> still
> > need to set it?
> >
> > Thanks
> >
>
>

  reply	other threads:[~2016-06-08 19:48 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-08 16:30 Cliff Burdick
2016-06-08 16:45 ` Matt Laswell
2016-06-08 19:31   ` Cliff Burdick
2016-06-08 19:31 ` Ferruh Yigit
2016-06-08 19:48   ` Cliff Burdick [this message]
2016-06-08 19:49     ` Cliff Burdick
2016-06-09 16:29     ` Ferruh Yigit

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='CA+Gp1nb1tQE5fa8Cu3Ux=rohuLSZV+S4VQQeHaiBndhaqJuQtA@mail.gmail.com' \
    --to=shaklee3@gmail.com \
    --cc=ferruh.yigit@intel.com \
    --cc=users@dpdk.org \
    /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).