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> |
||
---|---|---|
.. | ||
librte_acl | ||
librte_bbdev | ||
librte_bitratestats | ||
librte_bpf | ||
librte_cfgfile | ||
librte_cmdline | ||
librte_compressdev | ||
librte_cryptodev | ||
librte_distributor | ||
librte_eal | ||
librte_efd | ||
librte_ethdev | ||
librte_eventdev | ||
librte_fib | ||
librte_flow_classify | ||
librte_gro | ||
librte_gso | ||
librte_hash | ||
librte_ip_frag | ||
librte_ipsec | ||
librte_jobstats | ||
librte_kni | ||
librte_kvargs | ||
librte_latencystats | ||
librte_lpm | ||
librte_mbuf | ||
librte_member | ||
librte_mempool | ||
librte_meter | ||
librte_metrics | ||
librte_net | ||
librte_pci | ||
librte_pdump | ||
librte_pipeline | ||
librte_port | ||
librte_power | ||
librte_rawdev | ||
librte_rcu | ||
librte_reorder | ||
librte_rib | ||
librte_ring | ||
librte_sched | ||
librte_security | ||
librte_stack | ||
librte_table | ||
librte_telemetry | ||
librte_timer | ||
librte_vhost | ||
Makefile | ||
meson.build |