DPDK patches and discussions
 help / color / mirror / Atom feed
From: Stephen Hemminger <stephen@networkplumber.org>
To: Hiroshi Shimamoto <h-shimamoto@ct.jp.nec.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] [PATCH 0/3] eal affinitize low priority threads to lcore	0
Date: Thu, 11 Sep 2014 18:24:24 -0700
Message-ID: <20140911182424.59eb943a@uryu.home.lan> (raw)
In-Reply-To: <7F861DC0615E0C47A872E6F3C5FCDDBD011AC7A6@BPXM14GP.gisp.nec.co.jp>

On Thu, 11 Sep 2014 23:47:52 +0000
Hiroshi Shimamoto <h-shimamoto@ct.jp.nec.com> wrote:

> Hi Bruce,
> 
> > Subject: [dpdk-dev] [PATCH 0/3] eal affinitize low priority threads to lcore 0
> > 
> > This patchset sets things up so that we can affinitize the interrupt,
> > vfio management, and hpet timer management threads to lcore 0, so that
> > they never interfere with data plane threads.
> 
> I don't think it works well always.
> The management threads can be floating all cpus on demand, because those
> threads are created before the master thread affinity is set. The kernel
> scheduler will take care of it. And we should isolate cpus which data plane
> threads are pinned to, so the management threads cannot run on those isolated
> cpus data plane thread run.
> In some cases, the user may run data plane thread on lcore 0, but with
> this patchset the data plane pinned to lcore 0 always run with the
> management threads. That doesn't seem good.
> 
> I think this functionality should be conditional.
> How about to add a parameter to specify the mask for the management threads
> instead of statically assignment to lcore 0?
> 
> thanks,
> Hiroshi
> 
> > 
> > Bruce Richardson (3):
> >   eal: add core id param to  eal_thread_set_affinity
> >   eal: increase scope of eal_thread_set_affinity
> >   eal: affinitize low-priority threads to lcore 0
> > 
> >  lib/librte_eal/bsdapp/eal/eal_thread.c             | 12 ++++++------
> >  lib/librte_eal/common/include/eal_private.h        | 10 ++++++++++
> >  lib/librte_eal/linuxapp/eal/eal_interrupts.c       |  5 +++++
> >  lib/librte_eal/linuxapp/eal/eal_pci_vfio_mp_sync.c |  6 ++++++
> >  lib/librte_eal/linuxapp/eal/eal_thread.c           | 12 ++++++------
> >  lib/librte_eal/linuxapp/eal/eal_timer.c            |  5 +++++
> >  6 files changed, 38 insertions(+), 12 deletions(-)
> > 
> > --
> > 1.9.3
> 

We just set the non-master DPDK worker threads to be real time by
using pthread_set_scheduler. This works very well and makes it clear to
Linux scheduler what the intention is. This also improves wakeup behavior
from sleeps.

  reply	other threads:[~2014-09-12  1:27 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1410445387-4849-1-git-send-email-bruce.richardson@intel.com>
2014-09-11 14:23 ` [dpdk-dev] [PATCH 1/3] eal: add core id param to eal_thread_set_affinity Bruce Richardson
2014-09-11 14:23 ` [dpdk-dev] [PATCH 2/3] eal: increase scope of eal_thread_set_affinity Bruce Richardson
2014-09-11 14:23 ` [dpdk-dev] [PATCH 3/3] eal: affinitize low-priority threads to lcore 0 Bruce Richardson
2014-09-11 23:47 ` [dpdk-dev] [PATCH 0/3] eal affinitize low priority " Hiroshi Shimamoto
2014-09-12  1:24   ` Stephen Hemminger [this message]
2014-09-12  8:07   ` Richardson, Bruce

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=20140911182424.59eb943a@uryu.home.lan \
    --to=stephen@networkplumber.org \
    --cc=dev@dpdk.org \
    --cc=h-shimamoto@ct.jp.nec.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

DPDK patches and discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://inbox.dpdk.org/dev/0 dev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 dev dev/ https://inbox.dpdk.org/dev \
		dev@dpdk.org
	public-inbox-index dev

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.dev


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git