On Thu, Mar 29, 2018 at 09:04:52AM +0100, Burakov, Anatoly wrote: > 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.m...@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)?
Good point and good idea, I will update the patchset. Thanks, Olivier