From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephen Hemminger Subject: Re: [PATCH] eal: fix threads block on barrier Date: Fri, 27 Apr 2018 10:39:45 -0700 Message-ID: <20180427103945.511a118e@xeon-e3> References: <1524847302-88110-1-git-send-email-jianfeng.tan@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: Jianfeng Tan , "dev@dpdk.org" , "thomas@monjalon.net" , Olivier Matz , Anatoly Burakov To: Shreyansh Jain Return-path: Received: from mail-pg0-f67.google.com (mail-pg0-f67.google.com [74.125.83.67]) by dpdk.org (Postfix) with ESMTP id A9E45AAF5 for ; Fri, 27 Apr 2018 19:39:48 +0200 (CEST) Received: by mail-pg0-f67.google.com with SMTP id i6-v6so2080825pgv.3 for ; Fri, 27 Apr 2018 10:39:48 -0700 (PDT) In-Reply-To: List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Fri, 27 Apr 2018 17:36:56 +0000 Shreyansh Jain wrote: > > -----Original Message----- > > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Jianfeng Tan > > Sent: Friday, April 27, 2018 10:12 PM > > To: dev@dpdk.org > > Cc: thomas@monjalon.net; Jianfeng Tan ; Olivier > > Matz ; Anatoly Burakov > > > > Subject: [dpdk-dev] [PATCH] eal: fix threads block on barrier > > > > 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") > > > > Cc: Olivier Matz > > Cc: Anatoly Burakov > > > > Signed-off-by: Jianfeng Tan > > Though I have seen Stephen's comment on this (possibly a library bug), this at least fixes an issue which was dogging dpaa and dpaa2 - generating bus errors and futex errors with variation in core masks provided to applications. > > Thanks a lot for this. > > Acked-by: Shreyansh Jain Could you verify there is not a use after free by using valgrind or some library that poisons memory on free.