[dpdk-dev] [PATCH 4/4] eal: set affinity for control threads
Burakov, Anatoly
anatoly.burakov at intel.com
Thu Mar 29 10:04:52 CEST 2018
On 27-Feb-18 2:46 PM, Olivier Matz wrote:
> The management threads must not bother the dataplane or service cores.
> Set the affinity of these threads accordingly.
>
> Signed-off-by: Olivier Matz <olivier.matz at 6wind.com>
> ---
<...>
>
> + set_affinity = 0;
> + CPU_ZERO(&cpuset);
> + for (lcore_id = 0; lcore_id < RTE_MAX_LCORE; lcore_id++) {
> + if (eal_cpu_detected(lcore_id) &&
> + rte_lcore_has_role(lcore_id, ROLE_OFF)) {
> + CPU_SET(lcore_id, &cpuset);
> + set_affinity = 1;
> + }
> + }
> + if (set_affinity) {
> + ret = pthread_setaffinity_np(*thread, sizeof(cpuset), &cpuset);
> + if (ret < 0)
> + goto fail;
> + }
Hi Olivier,
Please correct me if i'm wrong here, but if all detected cores are busy
doing something (such as would be the case if DPDK is run without a
coremask specified), affinity is not set? Maybe set it to master lcore
instead (perhaps unconditionally - we usually recommend not using master
lcore for anything important - perhaps setting it to master core always
would be better, instead of trying to find unused lcores)?
--
Thanks,
Anatoly
More information about the dev
mailing list