Re: [vpp-dev] TLS half open lock

2018-08-28 Thread via Lists.Fd.Io
Hi Ping, I’ve already posted a comment ☺ Florin From: "Yu, Ping" Date: Tuesday, August 28, 2018 at 8:20 AM To: Florin Coras Cc: "Florin Coras (fcoras)" , "vpp-dev@lists.fd.io" , "Yu, Ping" Subject: RE: [vpp-dev] TLS half open lock Yes, this is

Re: [vpp-dev] TLS half open lock

2018-08-28 Thread Yu, Ping
Cc: Florin Coras (fcoras) ; vpp-dev@lists.fd.io Subject: Re: [vpp-dev] TLS half open lock Yes, this probably happens because free is called by a different thread. As mentioned in my previous reply, could you try protecting with clib_rwlock_reader_lock (&tm->half_open_rwlock); the branch th

Re: [vpp-dev] TLS half open lock

2018-08-28 Thread Florin Coras
2018 5:29 PM > To: Florin Coras mailto:fcoras.li...@gmail.com>> > Cc: Florin Coras (fcoras) mailto:fco...@cisco.com>>; > vpp-dev@lists.fd.io <mailto:vpp-dev@lists.fd.io>; Yu, Ping <mailto:ping...@intel.com>> > Subject: Re: [vpp-dev] TLS half open lock >

Re: [vpp-dev] TLS half open lock

2018-08-28 Thread Florin Coras
; thread 0: alloc: 146 > thread 2 free: 153 > thread 0: alloc: 144 > thread 0: alloc: 153 > thread 0: alloc: 124 > thread 3 free: 25 > thread 0: alloc: 25 > > From: Florin Coras [mailto:fcoras.li...@gmail.com] > Sent: Tuesday, August 28, 2018 10:24 AM > To: Yu, Pin

Re: [vpp-dev] TLS half open lock

2018-08-28 Thread Yu, Ping
28, 2018 5:29 PM To: Florin Coras Cc: Florin Coras (fcoras) ; vpp-dev@lists.fd.io; Yu, Ping Subject: Re: [vpp-dev] TLS half open lock Hi, Florin, Yes, you are right, and all alloc operation is performed by thread 0. An interesting thing is that if running “test echo clients nclients 300 uri tl

Re: [vpp-dev] TLS half open lock

2018-08-28 Thread Yu, Ping
: 153 thread 0: alloc: 124 thread 3 free: 25 thread 0: alloc: 25 From: Florin Coras [mailto:fcoras.li...@gmail.com] Sent: Tuesday, August 28, 2018 10:24 AM To: Yu, Ping Cc: Florin Coras (fcoras) ; vpp-dev@lists.fd.io Subject: Re: [vpp-dev] TLS half open lock Hi Ping, The expectation is that all

Re: [vpp-dev] TLS half open lock

2018-08-27 Thread Florin Coras
-dev@lists.fd.io [mailto:vpp-dev@lists.fd.io] On Behalf Of Florin > Coras > Sent: Tuesday, August 28, 2018 12:51 AM > To: Yu, Ping > Cc: Florin Coras (fcoras) ; vpp-dev@lists.fd.io > Subject: Re: [vpp-dev] TLS half open lock > > Hi Ping, > > The current implementati

Re: [vpp-dev] TLS half open lock

2018-08-27 Thread Yu, Ping
@lists.fd.io] On Behalf Of Florin Coras Sent: Tuesday, August 28, 2018 12:51 AM To: Yu, Ping Cc: Florin Coras (fcoras) ; vpp-dev@lists.fd.io Subject: Re: [vpp-dev] TLS half open lock Hi Ping, The current implementation only locks the half-open pool if the pool is about to expand. This is done to

Re: [vpp-dev] TLS half open lock

2018-08-27 Thread Florin Coras
Hi Ping, The current implementation only locks the half-open pool if the pool is about to expand. This is done to increase speed by avoiding unnecessary locking, i.e., if pool is not about to expand, it should be safe to get a new element from it without affecting readers. Now the thing to fig

[vpp-dev] TLS half open lock

2018-08-27 Thread Yu, Ping
Hello, all Recently I found that the TLS half open lock is not well implemented, and if enabling multiple thread, there are chances to get the following core dump info in debug mode. (gdb) where #0 0x7f7a0848e428 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54