Thread (1 message) 1 message, 1 author, 2014-09-12

Re: [PATCH 0/3] eal affinitize low priority threads to lcore 0

From: Richardson, Bruce <hidden>
Date: 2014-09-12 08:07:12

-----Original Message-----
From: Hiroshi Shimamoto [mailto:h-shimamoto-ehU+Cx/zZe18UrSeD/g0lQ@public.gmane.org]
Sent: Friday, September 12, 2014 12:48 AM
To: Richardson, Bruce; dev-VfR2kkLFssw@public.gmane.org
Subject: RE: [dpdk-dev] [PATCH 0/3] eal affinitize low priority threads to lcore 0

Hi Bruce,
quoted
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.
Yes, this was my understanding as well of how things would work - we just had a report back of where the management threads were using the same core as the data-plane despite the core being isolated. I'll double-check to see if this really is happening and resubmit a new patch with a configurable core assignment if it is definitely needed.

/Bruce
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
quoted
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help