Hi, On 02/02/2015 03:02 AM, Cunming Liang wrote: > The patch adds 'cpuset' into per-lcore configure 'lcore_config[]', > as the lcore no longer always 1:1 pinning with physical cpu. > The lcore now stands for a EAL thread rather than a logical cpu. > > It doesn't change the default behavior of 1:1 mapping, but allows to > affinity the EAL thread to multiple cpus. > > [...] > diff --git a/lib/librte_eal/bsdapp/eal/eal_memory.c > b/lib/librte_eal/bsdapp/eal/eal_memory.c > index 65ee87d..a34d500 100644 > --- a/lib/librte_eal/bsdapp/eal/eal_memory.c > +++ b/lib/librte_eal/bsdapp/eal/eal_memory.c > @@ -45,6 +45,8 @@ > #include "eal_internal_cfg.h" > #include "eal_filesystem.h" > > +/* avoid re-defined against with freebsd header */ > +#undef PAGE_SIZE > #define PAGE_SIZE (sysconf(_SC_PAGESIZE))
I don't see the link with the patch. Should this go somewhere else? > > /* > diff --git a/lib/librte_eal/common/include/rte_lcore.h > b/lib/librte_eal/common/include/rte_lcore.h > index 49b2c03..4c7d6bb 100644 > --- a/lib/librte_eal/common/include/rte_lcore.h > +++ b/lib/librte_eal/common/include/rte_lcore.h > @@ -50,6 +50,13 @@ extern "C" { > > #define LCORE_ID_ANY -1 /**< Any lcore. */ > > +#if defined(__linux__) > + typedef cpu_set_t rte_cpuset_t; > +#elif defined(__FreeBSD__) > +#include <pthread_np.h> > + typedef cpuset_t rte_cpuset_t; > +#endif > + Should we also define RTE_CPU_SETSIZE? For linux, should <sched.h> be included? If I understand well, after the patch series, the user of rte_thread_set_affinity() and rte_thread_get_affinity() are supposed to use the macros from sched.h to access to this cpuset parameter. So I'm wondering if it's not better to use cpu_set_t from libc instead of redefining rte_cpuset_t. To reword my question: what is the purpose of redefining cpu_set_t in rte_cpuset_t if we still need to use all the libc API to access to it? Regards, Olivier