On 2022-01-21 11:16:59 [-0300], Marcelo Tosatti wrote: > > use_current_cpuset() function does: > > /* > * After this function is called, affinity_mask is the intersection of > * the user supplied affinity mask and the affinity mask from the run > * time environment > */ > static void use_current_cpuset(int max_cpus, struct bitmask *cpumask) > > However, when using isolcpus kernel command line option, the CPUs > specificied at isolcpus= are not part of the run time environment > cpumask. > > This causes "cyclictest -a isolatedcpus" to fail with: > > WARN: Couldn't setaffinity in main thread: Invalid argument > FATAL: No allowable cpus to run on > # /dev/cpu_dma_latency set to 0us > > To fix this, add an environment variable IGNORE_RUNTIME_CPU_AFFINITY_MASK > that when set to a value other than 0, will override the runtime cpu > affinity mask (retrieved with numa_sched_getaffinity) with a bit set > for each CPU in numa_num_configured_cpus: This looks hacky and not documented. What about using all CPUs which part of current affinity mask by default. And then either specify the requested CPU mask or use explicitly all CPUs. Sebastian