[dpdk-dev] [PATCH v3 2/2] eal: restrict ctrl threads to startup cpu affinity
Burakov, Anatoly
anatoly.burakov at intel.com
Wed Feb 20 17:01:33 CET 2019
On 19-Feb-19 8:41 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, especially
> when you took good care to pin your processes on cpu resources with
> tools like taskset (linux) / cpuset (freebsd).
>
> Rather than introduce yet another eal options to control on which cpu
> those ctrl threads are created, 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
> is lost.
>
> Introduced a RTE_CPU_AND macro to abstract the differences between linux
> and freebsd respective macros.
>
> Examples in a 4 cores FreeBSD vm:
>
> $ ./build/app/testpmd -l 2,3 --no-huge --no-pci -m 512 \
> -- -i --total-num-mbufs=2048
>
> $ procstat -S 1057
> PID TID COMM TDNAME CPU CSID CPU MASK
> 1057 100131 testpmd - 2 1 2
> 1057 100140 testpmd eal-intr-thread 1 1 0-1
> 1057 100141 testpmd rte_mp_handle 1 1 0-1
> 1057 100142 testpmd lcore-slave-3 3 1 3
>
> $ cpuset -l 1,2,3 ./build/app/testpmd -l 2,3 --no-huge --no-pci -m 512 \
> -- -i --total-num-mbufs=2048
>
> $ procstat -S 1061
> PID TID COMM TDNAME CPU CSID CPU MASK
> 1061 100131 testpmd - 2 2 2
> 1061 100144 testpmd eal-intr-thread 1 2 1
> 1061 100145 testpmd rte_mp_handle 1 2 1
> 1061 100147 testpmd lcore-slave-3 3 2 3
>
> $ cpuset -l 2,3 ./build/app/testpmd -l 2,3 --no-huge --no-pci -m 512 \
> -- -i --total-num-mbufs=2048
>
> $ procstat -S 1065
> PID TID COMM TDNAME CPU CSID CPU MASK
> 1065 100131 testpmd - 2 2 2
> 1065 100148 testpmd eal-intr-thread 2 2 2
> 1065 100149 testpmd rte_mp_handle 2 2 2
> 1065 100150 testpmd lcore-slave-3 3 2 3
>
> Fixes: d651ee4919cd ("eal: set affinity for control threads")
> Cc: stable at dpdk.org
> Signed-off-by: David Marchand <david.marchand at redhat.com>
> ---
Reviewed-by: Anatoly Burakov <anatoly.burakov at intel.com>
--
Thanks,
Anatoly
More information about the dev
mailing list