[dpdk-dev] [PATCH] eal: restrict ctrl threads to startup cpu affinity
Burakov, Anatoly
anatoly.burakov at intel.com
Thu Feb 14 11:04:59 CET 2019
On 14-Feb-19 9:53 AM, David Marchand wrote:
> On Thu, Feb 14, 2019 at 10:39 AM Burakov, Anatoly
> <anatoly.burakov at intel.com <mailto:anatoly.burakov at intel.com>> wrote:
>
> On 13-Feb-19 4:13 PM, David Marchand wrote:
> > Spawning the ctrl threads on anything that is not part of the eal
> > coremask is not that polite to the rest of the system.
> >
> > Rather than introduce yet another eal options for this, let's take
> > the startup cpu affinity as a reference and remove the eal coremask
> > from it.
> > If no cpu is left, then we default to the master core.
> >
> > The cpuset is computed once at init before the original cpu affinity.
> >
> > Fixes: d651ee4919cd ("eal: set affinity for control threads")
> > Signed-off-by: David Marchand <david.marchand at redhat.com
> <mailto:david.marchand at redhat.com>>
> > ---
>
> Hi David,
>
> Maybe i didn't have enough coffee today and i'm missing something here,
> but how is this different? Removing the coremask cores from the cpuset
> will effectively "spawn the ctrl threads on anything that is not
> part of
> the EAL coremask" (which is "not that polite to the rest of the
> system"), unless the application was run with taskset.
>
> Is "taskset" the key point here? I.e. by default, we're still "not
> polite", unless the user asks nicely? :)
>
>
> Eheh, sorry, yes.
> A bit more context then, if you want to clearly pin cpu resources for
> the processes on your system (let's say having virtual machines and a
> popular vswitch), I can only think of two solutions.
> Either you have something to configure your processes to have them call
> sched_setaffinity/pthread_set_affinity_np, or you use taskset to get
> them "jailed" without them caring.
>
> Before the incriminated commit, we were keeping all threads on the
> coremask that had been passed, but as Olivier said, we would end up with
> ctrl threads spanwed on core running dataplane threads as well.
>
> Now, the ctrl threads can be spawned anywhere on all & ~coremask, with
> no way to configure this.
> I considered adding a new eal option, but I think relying on the current
> cpu affinity is a better default behavior and I can't see drawbacks at
> the moment.
>
>
> --
> David Marchand
>
OK, that makes sense. However, i feel this behavior (both old and new,
for that matter) should be better documented somewhere in the EAL docs.
--
Thanks,
Anatoly
More information about the dev
mailing list