[dpdk-dev] [dpdk-stable] [PATCH v2] eal: fix ctrl thread affinity with --lcores
Thomas Monjalon
thomas at monjalon.net
Tue Jul 30 23:12:34 CEST 2019
30/07/2019 17:05, David Marchand:
> The ctrl thread cpu affinity setting has been broken when using --lcores.
>
> Using -l/-c options makes each lcore associated to a physical cpu in a 1:1
> fashion.
> On the contrary, when using --lcores, each lcore cpu affinity can be set
> to a list of any online cpu on the system.
>
> To handle both cases, each lcore cpu affinity is considered and removed
> from the process startup cpu affinity.
>
> Introduced macros to manipulate dpdk cpu sets in both Linux and FreeBSD.
>
> Examples on a 8 cores Linux system:
>
> $ cd /sys/fs/cgroup/cpuset/
> $ mkdir dpdk
> $ cd dpdk
> $ echo 4-7 > cpuset.cpus
> $ echo 0 > cpuset.mems
> $ echo $$ > tasks
>
> Before the fix:
> $ ./master/app/testpmd --master-lcore 0 --lcores '(0,7)@(7,4,5)' \
> --no-huge --no-pci -m 512 -- -i --total-num-mbufs=2048
>
> 8427 cpu_list=4-5,7 testpmd
> 8428 cpu_list=4-6 eal-intr-thread
> 8429 cpu_list=4-6 rte_mp_handle
> 8430 cpu_list=4-5,7 lcore-slave-7
>
> $ taskset -c 7 \
> ./master/app/testpmd --master-lcore 0 --lcores '(0,7)@(7,4,5)' \
> --no-huge --no-pci -m 512 -- -i --total-num-mbufs=2048
>
> EAL: Detected 8 lcore(s)
> EAL: Detected 1 NUMA nodes
> EAL: Failed to create thread for interrupt handling
> EAL: FATAL: Cannot init interrupt-handling thread
> EAL: Cannot init interrupt-handling thread
> PANIC in main():
> Cannot init EAL
>
> After the fix:
> $ ./master/app/testpmd --master-lcore 0 --lcores '(0,7)@(7,4,5)' \
> --no-huge --no-pci -m 512 -- -i --total-num-mbufs=2048
>
> 15214 cpu_list=4-5,7 testpmd
> 15215 cpu_list=6 eal-intr-thread
> 15216 cpu_list=6 rte_mp_handle
> 15217 cpu_list=4-5,7 lcore-slave-7
>
> $ taskset -c 7 \
> ./master/app/testpmd --master-lcore 0 --lcores '(0,7)@(7,4,5)' \
> --no-huge --no-pci -m 512 -- -i --total-num-mbufs=2048
>
> 15297 cpu_list=4-5,7 testpmd
> 15298 cpu_list=4-5,7 eal-intr-thread
> 15299 cpu_list=4-5,7 rte_mp_handle
> 15300 cpu_list=4-5,7 lcore-slave-7
>
> Bugzilla ID: 322
> Fixes: c3568ea37670 ("eal: restrict control threads to startup CPU affinity")
> Cc: stable at dpdk.org
>
> Reported-by: Johan Källström <johan.kallstrom at ericsson.com>
> Signed-off-by: David Marchand <david.marchand at redhat.com>
Applied, thanks
More information about the dev
mailing list