On Mon, Nov 4, 2024 at 9:57 AM David Marchand <[email protected]> wrote: > > Setting the cpu affinity of the child thread from the parent thread is > racy when using pthread_setaffinity_np, as the child thread may start > running and initialize before affinity is set. > > On the other hand, setting the cpu affinity from the child thread itself > may fail, so the parent thread waits for the child thread to report > whether this call succeeded. > > This synchronisation point resulted in a significant slow down of > rte_thread_create() (as seen in the lcores_autotest unit tests, in OBS > for some ARM systems). > > Another option for setting cpu affinity is to use the not portable > pthread_attr_setaffinity_np available in FreeBSD and glibc, > but not available in musl. > > Fixes: b28c6196b132 ("eal/unix: fix thread creation") > Cc: [email protected] > > Signed-off-by: David Marchand <[email protected]> > Acked-by: Luca Boccassi <[email protected]> > Acked-by: Stephen Hemminger <[email protected]> > Acked-by: Chengwen Feng <[email protected]>
CI looks good, and I tested manually in FreeBSD and ARM+OBS. Applied, thanks. -- David Marchand

