[dpdk-dev] [PATCH] eal: fix threads block on barrier
Thomas Monjalon
thomas at monjalon.net
Fri Apr 27 18:42:34 CEST 2018
27/04/2018 18:41, Jianfeng Tan:
> Below commit introduced pthread barrier for synchronization.
> But two IPC threads block on the barrier, and never wake up.
>
> (gdb) bt
> #0 futex_wait (private=0, expected=0, futex_word=0x7fffffffcff4)
> at ../sysdeps/unix/sysv/linux/futex-internal.h:61
> #1 futex_wait_simple (private=0, expected=0, futex_word=0x7fffffffcff4)
> at ../sysdeps/nptl/futex-internal.h:135
> #2 __pthread_barrier_wait (barrier=0x7fffffffcff0) at pthread_barrier_wait.c:184
> #3 rte_thread_init (arg=0x7fffffffcfe0)
> at ../dpdk/lib/librte_eal/common/eal_common_thread.c:160
> #4 start_thread (arg=0x7ffff6ecf700) at pthread_create.c:333
> #5 clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
>
> Through analysis, we find the barrier defined on the stack could be the
> root cause. This patch will change to use heap memory as the barrier.
>
> Fixes: d651ee4919cd ("eal: set affinity for control threads")
Shreyansh (Cc'ed) is seeing some bugs with this patch too.
More information about the dev
mailing list