8674b203f1
Contrary to the -c/-l options, where a logical core runs on the same physical core in a 1:1 fashion (example: lcore 0 runs on core 0, lcore 16 runs on core 16), the --lcores option makes it possible to select the physical cores on which runs a logical core. However the current parsing code still limits the cpuset to the [0, RTE_MAX_LCORE] range. Example, before the patch, on a 24 cores system with RTE_MAX_LCORE == 16: $ ./master/app/testpmd --no-huge --no-pci -m 512 --log-level *:debug \ --lcores 0@16,1@17 -- -i --total-num-mbufs 2048 EAL: Detected lcore 0 as core 0 on socket 0 EAL: Detected lcore 1 as core 1 on socket 0 EAL: Detected lcore 2 as core 2 on socket 0 EAL: Detected lcore 3 as core 3 on socket 0 EAL: Detected lcore 4 as core 4 on socket 0 EAL: Detected lcore 5 as core 5 on socket 0 EAL: Detected lcore 6 as core 6 on socket 0 EAL: Detected lcore 7 as core 8 on socket 0 EAL: Detected lcore 8 as core 9 on socket 0 EAL: Detected lcore 9 as core 10 on socket 0 EAL: Detected lcore 10 as core 11 on socket 0 EAL: Detected lcore 11 as core 12 on socket 0 EAL: Detected lcore 12 as core 13 on socket 0 EAL: Detected lcore 13 as core 14 on socket 0 EAL: Detected lcore 14 as core 0 on socket 0 EAL: Detected lcore 15 as core 1 on socket 0 EAL: Skipped lcore 16 as core 2 on socket 0 EAL: Skipped lcore 17 as core 3 on socket 0 EAL: Skipped lcore 18 as core 4 on socket 0 EAL: Skipped lcore 19 as core 5 on socket 0 EAL: Skipped lcore 20 as core 6 on socket 0 EAL: Skipped lcore 21 as core 8 on socket 0 EAL: Skipped lcore 22 as core 9 on socket 0 EAL: Skipped lcore 23 as core 10 on socket 0 EAL: Skipped lcore 24 as core 11 on socket 0 EAL: Skipped lcore 25 as core 12 on socket 0 EAL: Skipped lcore 26 as core 13 on socket 0 EAL: Skipped lcore 27 as core 14 on socket 0 EAL: Support maximum 16 logical core(s) by configuration. EAL: Detected 16 lcore(s) EAL: Detected 1 NUMA nodes EAL: invalid parameter for --lcores We can remove this limitation by using a cpuset_t (which is a more natural type since this is what gets passed to pthread_setaffinity* in the end). After the patch: $ ./master/app/testpmd --no-huge --no-pci -m 512 --log-level *:debug \ --lcores 0@16,1@17 -- -i --total-num-mbufs 2048 [...] EAL: Master lcore 0 is ready (tid=7f94217bbc00;cpuset=[16]) EAL: lcore 1 is ready (tid=7f941f491700;cpuset=[17]) Signed-off-by: David Marchand <david.marchand@redhat.com> |
||
---|---|---|
.. | ||
baseband | ||
bus | ||
common | ||
compress | ||
crypto | ||
event | ||
mempool | ||
net | ||
raw | ||
vdpa | ||
Makefile | ||
meson.build |