Re: [lttng-dev] [rp] [RFC PATCH] RCU lock-free hash table: implement cds_lfht_is_node_deleted()

2012-02-21 Thread Paul E. McKenney
t; mutex_unlock(&mynode->mutex); > rcu_read_unlock() > call_rcu(free, mynode); > > To perform this efficiently, we need an API function to return whether > the node previously looked-up has been deleted since then. My first thought was that the user can do this with a flag

Re: [lttng-dev] [rp] [commit] rculfhash: document linearizability guarantees

2012-04-19 Thread Paul E. McKenney
On Thu, Apr 19, 2012 at 08:02:57PM -0400, Mathieu Desnoyers wrote: > * Paul E. McKenney (paul...@linux.vnet.ibm.com) wrote: > > On Wed, Apr 18, 2012 at 04:10:17PM -0400, Mathieu Desnoyers wrote: > > > Hi, > > > > > > FYI, I pushed extra documentation of the RCU

Re: [lttng-dev] [rp] [commit] rculfhash: document linearizability guarantees

2012-04-23 Thread Paul E. McKenney
On Mon, Apr 23, 2012 at 03:17:45PM -0400, Mathieu Desnoyers wrote: > Hi Paul, > > * Paul E. McKenney (paul...@linux.vnet.ibm.com) wrote: > > On Thu, Apr 19, 2012 at 08:02:57PM -0400, Mathieu Desnoyers wrote: > > > * Paul E. McKenney (paul...@linux.vnet.ibm.com) wrote: >

Re: [lttng-dev] [rp] rculfhash ordering guarantees

2012-04-23 Thread Paul E. McKenney
On Mon, Apr 23, 2012 at 03:45:32PM -0400, Mathieu Desnoyers wrote: > Hi Paul, > > Here is the updated text I plan for the next update. Comments are > welcome, thanks ! Looks much improved! The inevitable questions and comments interspersed.

Re: [lttng-dev] [rp] rculfhash ordering guarantees

2012-04-23 Thread Paul E. McKenney
On Mon, Apr 23, 2012 at 10:54:54PM -0400, Mathieu Desnoyers wrote: > * Paul E. McKenney (paul...@linux.vnet.ibm.com) wrote: > > On Mon, Apr 23, 2012 at 03:45:32PM -0400, Mathieu Desnoyers wrote: > > > Hi Paul, > > > > > > Here is the updated text I pl

Re: [lttng-dev] [rp] [RFC] Readiness for URCU release with RCU lock-free hash table

2012-05-01 Thread Paul E. McKenney
On Tue, May 01, 2012 at 10:16:09AM -0400, Mathieu Desnoyers wrote: > Hi! > > After 1 year of development, with the last 6-7 months spent polishing > the API and testing the implementation, I think it is getting about time > to release the RCU lock-free hash table in a new Userspace RCU version > (

Re: [lttng-dev] [rp] [RFC] Readiness for URCU release with RCU lock-free hash table

2012-05-01 Thread Paul E. McKenney
On Tue, May 01, 2012 at 11:12:15AM -0400, Mathieu Desnoyers wrote: > * Paul E. McKenney (paul...@linux.vnet.ibm.com) wrote: > > On Tue, May 01, 2012 at 10:16:09AM -0400, Mathieu Desnoyers wrote: > > > Hi! > > > > > > After 1 year of development, with the last

Re: [lttng-dev] [rp] [RFC] Readiness for URCU release with RCU lock-free hash table

2012-05-01 Thread Paul E. McKenney
On Tue, May 01, 2012 at 11:21:44AM -0400, Mathieu Desnoyers wrote: > * Mathieu Desnoyers (mathieu.desnoy...@efficios.com) wrote: > > * Paul E. McKenney (paul...@linux.vnet.ibm.com) wrote: > > > On Tue, May 01, 2012 at 10:16:09AM -0400, Mathieu Desnoyers wrote: > > > >

Re: [lttng-dev] [rp] [RFC] Readiness for URCU release with RCU lock-free hash table

2012-05-01 Thread Paul E. McKenney
On Tue, May 01, 2012 at 01:41:36PM -0400, Mathieu Desnoyers wrote: > * Paul E. McKenney (paul...@linux.vnet.ibm.com) wrote: > > On Tue, May 01, 2012 at 11:21:44AM -0400, Mathieu Desnoyers wrote: > > > * Mathieu Desnoyers (mathieu.desnoy...@efficios.com) wrote: > > >

Re: [lttng-dev] [rp] [RFC] Readiness for URCU release with RCU lock-free hash table

2012-05-01 Thread Paul E. McKenney
On Tue, May 01, 2012 at 05:02:06PM -0400, Mathieu Desnoyers wrote: > * Paul E. McKenney (paul...@linux.vnet.ibm.com) wrote: > > On Tue, May 01, 2012 at 01:41:36PM -0400, Mathieu Desnoyers wrote: > > > * Paul E. McKenney (paul...@linux.vnet.ibm.com) wrote: > > > > On T

Re: [lttng-dev] [rp] [RFC] Readiness for URCU release with RCU lock-free hash table

2012-05-02 Thread Paul E. McKenney
On Wed, May 02, 2012 at 12:16:39AM -0400, Mathieu Desnoyers wrote: > * Paul E. McKenney (paul...@linux.vnet.ibm.com) wrote: > > On Tue, May 01, 2012 at 05:02:06PM -0400, Mathieu Desnoyers wrote: > > > * Paul E. McKenney (paul...@linux.vnet.ibm.com) wrote: > > > > On T

Re: [lttng-dev] [rp] [RFC] Readiness for URCU release with RCU lock-free hash table

2012-05-03 Thread Paul E. McKenney
On Thu, May 03, 2012 at 01:13:30PM -0400, Mathieu Desnoyers wrote: > * Paul E. McKenney (paul...@linux.vnet.ibm.com) wrote: > > On Wed, May 02, 2012 at 12:16:39AM -0400, Mathieu Desnoyers wrote: > > > * Paul E. McKenney (paul...@linux.vnet.ibm.com) wrote: > > > > On T

Re: [lttng-dev] [rp] [RFC] Readiness for URCU release with RCU lock-free hash table

2012-05-04 Thread Paul E. McKenney
On Fri, May 04, 2012 at 12:53:12PM -0400, Mathieu Desnoyers wrote: > * Paul E. McKenney (paul...@linux.vnet.ibm.com) wrote: > > On Thu, May 03, 2012 at 01:13:30PM -0400, Mathieu Desnoyers wrote: > > > * Paul E. McKenney (paul...@linux.vnet.ibm.com) wrote: > [...] > > &

Re: [lttng-dev] [rp] [RFC] Readiness for URCU release with RCU lock-free hash table

2012-05-06 Thread Paul E. McKenney
On Sat, May 05, 2012 at 02:22:12PM -0400, Mathieu Desnoyers wrote: > * Paul E. McKenney (paul...@linux.vnet.ibm.com) wrote: > > On Fri, May 04, 2012 at 12:53:12PM -0400, Mathieu Desnoyers wrote: > > > * Paul E. McKenney (paul...@linux.vnet.ibm.com) wrote: > > > > On T

Re: [lttng-dev] [rp] [RFC] Readiness for URCU release with RCU lock-free hash table

2012-05-08 Thread Paul E. McKenney
On Mon, May 07, 2012 at 12:10:55PM -0400, Mathieu Desnoyers wrote: > > * Paul E. McKenney (paul...@linux.vnet.ibm.com) wrote: > > On Fri, May 04, 2012 at 12:53:12PM -0400, Mathieu Desnoyers wrote: > [...] > > Just to make sure I understand -- the reason that the "del&quo

Re: [lttng-dev] [rp] [RFC] Readiness for URCU release with RCU lock-free hash table

2012-05-08 Thread Paul E. McKenney
On Tue, May 08, 2012 at 02:48:27PM -0400, Mathieu Desnoyers wrote: > * Paul E. McKenney (paul...@linux.vnet.ibm.com) wrote: > > On Mon, May 07, 2012 at 12:10:55PM -0400, Mathieu Desnoyers wrote: > > > > > > * Paul E. McKenney (paul...@linux.vnet.ibm.com) wrote: > &g

Re: [lttng-dev] [RFC PATCH urcu] Document uatomic operations

2012-05-14 Thread Paul E. McKenney
gt; diff --git a/doc/uatomic-api.txt b/doc/uatomic-api.txt > new file mode 100644 > index 000..3605acf > --- /dev/null > +++ b/doc/uatomic-api.txt > @@ -0,0 +1,80 @@ > +Userspace RCU Atomic Operations API > +by Mathieu Desnoyers and Paul E. McKenney > + > + > +Th

Re: [lttng-dev] [rp] [RFC PATCH urcu] document concurrent data structures

2012-05-14 Thread Paul E. McKenney
On Mon, May 14, 2012 at 11:36:04PM -0400, Mathieu Desnoyers wrote: > Document the concurrent data structures provided by the userspace RCU > library. Looks good to me! Reviewed-by: Paul E. McKenney > Signed-off-by: Mathieu Desnoyers > --- > diff --git a/doc/cds-api.txt b/doc/cd

Re: [lttng-dev] [RFC PATCH urcu] Document uatomic operations

2012-05-16 Thread Paul E. McKenney
On Tue, May 15, 2012 at 08:10:03AM -0400, Mathieu Desnoyers wrote: > * Paul E. McKenney (paul...@linux.vnet.ibm.com) wrote: > > On Mon, May 14, 2012 at 10:39:01PM -0400, Mathieu Desnoyers wrote: > > > Document each atomic operation provided by urcu/uatomic.h, along with > >

Re: [lttng-dev] [RFC PATCH urcu] Implement urcu/tls-compat.h

2012-05-16 Thread Paul E. McKenney
On Wed, May 16, 2012 at 09:56:58AM -0400, Mathieu Desnoyers wrote: > Suggested-by: Marek Vavruša > Signed-off-by: Mathieu Desnoyers Interesting! Jeffrey Yasskin of Google was suggesting use of pthread_get_specific() over __thread even where __thread was available. His justification is that pthr

Re: [lttng-dev] [rp] [RFC PATCH urcu] Document uatomic operations

2012-05-16 Thread Paul E. McKenney
On Wed, May 16, 2012 at 02:17:42PM -0400, Mathieu Desnoyers wrote: > * Paul E. McKenney (paul...@linux.vnet.ibm.com) wrote: > > On Tue, May 15, 2012 at 08:10:03AM -0400, Mathieu Desnoyers wrote: > > > * Paul E. McKenney (paul...@linux.vnet.ibm.com) wrote: > > > > On M

Re: [lttng-dev] [rp] [RFC PATCH urcu] Document uatomic operations

2012-05-16 Thread Paul E. McKenney
On Wed, May 16, 2012 at 11:45:39AM -0700, Josh Triplett wrote: > On Wed, May 16, 2012 at 11:32:38AM -0700, Paul E. McKenney wrote: > > On Wed, May 16, 2012 at 02:17:42PM -0400, Mathieu Desnoyers wrote: > > > * Paul E. McKenney (paul...@linux.vnet.ibm.com) wrote: > > > &

Re: [lttng-dev] [rp] [RFC PATCH urcu] Document uatomic operations

2012-05-17 Thread Paul E. McKenney
On Thu, May 17, 2012 at 01:59:43PM -0400, Mathieu Desnoyers wrote: > * Paul E. McKenney (paul...@linux.vnet.ibm.com) wrote: > > On Wed, May 16, 2012 at 11:45:39AM -0700, Josh Triplett wrote: > > > On Wed, May 16, 2012 at 11:32:38AM -0700, Paul E. McKenney wrote: > > > &

Re: [lttng-dev] [rp] [RFC PATCH urcu] Document uatomic operations

2012-05-17 Thread Paul E. McKenney
On Thu, May 17, 2012 at 06:04:13PM -0400, Mathieu Desnoyers wrote: > * Paul E. McKenney (paul...@linux.vnet.ibm.com) wrote: > > On Thu, May 17, 2012 at 01:59:43PM -0400, Mathieu Desnoyers wrote: > > > * Paul E. McKenney (paul...@linux.vnet.ibm.com) wrote: > > > > On W

Re: [lttng-dev] [sheepdog] [PATCH] configure: exit if urcu/uatomic.h is not found

2012-05-20 Thread Paul E. McKenney
On Sun, May 20, 2012 at 11:28:29AM -0400, Mathieu Desnoyers wrote: > * Christoph Hellwig (h...@infradead.org) wrote: > > We could have a local include/uatomic.h that includes either based on > > which one is available, still erroring out if none is present. > > > > I've cced the LTTng list to se i

Re: [lttng-dev] [RFC] Userspace RCU library internal error handling

2012-06-21 Thread Paul E. McKenney
On Thu, Jun 21, 2012 at 12:41:13PM -0400, Mathieu Desnoyers wrote: > Hi, > > Currently, liburcu calls "exit(-1)" upon internal consistency error. > This is not pretty, and usually frowned upon in libraries. > > One example of failure path where we use this is if pthread_mutex_lock() > would happe

Re: [lttng-dev] [PATCH 2/2] urcu: new wfqueue implementation

2012-08-10 Thread Paul E. McKenney
; --- a/urcu/static/wfqueue.h > +++ b/urcu/static/wfqueue.h > @@ -10,6 +10,7 @@ > * dynamically with the userspace rcu library. > * > * Copyright 2010 - Mathieu Desnoyers > + * Copyright 2011-2012 - Lai Jiangshan > * > * This library is free software; you can redistribute it

Re: [lttng-dev] [PATCH 2/2] urcu: add notice to URCU_TLS() for it is not async-signal-safe

2012-08-10 Thread Paul E. McKenney
On Fri, Aug 10, 2012 at 10:16:15AM -0400, Mathieu Desnoyers wrote: > (for the records: this discussion is about userspace RCU tls-compat.h, > which uses TLS on systems supporting it, and fall back to > pthread_key_create/getspecific/setspecific if not. The culprit of the > issue is that we want to

[lttng-dev] [PATCH] Ensure that read-side functions meet 10-line LGPL criterion

2012-09-01 Thread Paul E. McKenney
This commit ensures that all read-side functions meet the 10-line LGPL criterion that permits them to be expanded directly into non-LGPL code, without function-call instructions. It also documents this as the intent. Signed-off-by: Paul E. McKenney diff --git a/urcu/static/urcu-bp.h b/urcu

Re: [lttng-dev] [rp] [PATCH] Ensure that read-side functions meet 10-line LGPL criterion

2012-09-02 Thread Paul E. McKenney
On Sat, Sep 01, 2012 at 10:13:55PM -0700, Josh Triplett wrote: > On Sat, Sep 01, 2012 at 05:59:11PM -0700, Paul E. McKenney wrote: > > This commit ensures that all read-side functions meet the 10-line LGPL > > criterion that permits them to be expanded directly into non-LGPL co

Re: [lttng-dev] [PATCH] Ensure that read-side functions meet 10-line LGPL criterion

2012-09-04 Thread Paul E. McKenney
On Mon, Sep 03, 2012 at 02:03:00PM -0400, Mathieu Desnoyers wrote: > * Paul E. McKenney (paul...@linux.vnet.ibm.com) wrote: > > This commit ensures that all read-side functions meet the 10-line LGPL > > criterion that permits them to be expanded directly into non-LGPL code, >

Re: [lttng-dev] [rp] [URCU PATCH 0/3] wait-free concurrent queues (wfcqueue)

2012-10-03 Thread Paul E. McKenney
On Tue, Oct 02, 2012 at 10:13:07AM -0400, Mathieu Desnoyers wrote: > Implement wait-free concurrent queues, with a new API different from > wfqueue.h, which is already provided by Userspace RCU. The advantage of > splitting the head and tail objects of the queue into different > arguments is to all

Re: [lttng-dev] [rp] [URCU PATCH 0/3] wait-free concurrent queues (wfcqueue)

2012-10-04 Thread Paul E. McKenney
On Wed, Oct 03, 2012 at 05:04:36PM -0400, Mathieu Desnoyers wrote: > * Paul E. McKenney (paul...@linux.vnet.ibm.com) wrote: > > On Tue, Oct 02, 2012 at 10:13:07AM -0400, Mathieu Desnoyers wrote: > > > Implement wait-free concurrent queues, with a new API different from > &g

Re: [lttng-dev] [URCU PATCH 3/3] call_rcu: use wfcqueue, eliminate false-sharing

2012-10-08 Thread Paul E. McKenney
On Mon, Oct 08, 2012 at 10:49:16AM -0400, Mathieu Desnoyers wrote: > * Lai Jiangshan (la...@cn.fujitsu.com) wrote: > > On 10/02/2012 10:16 PM, Mathieu Desnoyers wrote: > > > Eliminate false-sharing between call_rcu (enqueuer) and worker threads > > > on the queue head and tail. > > > > > > Signed-

Re: [lttng-dev] rculfstack bug

2012-10-10 Thread Paul E. McKenney
I expect that commit > > commit 5161f31e09ce33dd79afad8d08a2372fbf1c4fbe > Author: Mathieu Desnoyers > Date: Tue Sep 25 10:50:49 2012 -0500 > > call_rcu: use wfcqueue, eliminate false-sharing > > Eliminate false-sharing between call_rcu (enqueuer)

Re: [lttng-dev] [RFC] re-document rculfstack and even rename it

2012-10-10 Thread Paul E. McKenney
On Wed, Oct 10, 2012 at 03:52:08PM +0800, Lai Jiangshan wrote: > rculfstack is not really require RCU-only. > > 1) cds_lfs_push_rcu() don't need any lock, don't need RCU nor other locks. > > 2) cds_lfs_pop_rcu() don't only one of the following synchronization(not only > RCU): > A) use rcu_

Re: [lttng-dev] rculfstack bug

2012-10-10 Thread Paul E. McKenney
On Wed, Oct 10, 2012 at 01:53:04PM -0400, Mathieu Desnoyers wrote: > * Mathieu Desnoyers (mathieu.desnoy...@efficios.com) wrote: > > * Paul E. McKenney (paul...@linux.vnet.ibm.com) wrote: > > > On Wed, Oct 10, 2012 at 07:42:15AM -0400, Mathieu Desnoyers wrote: > >

Re: [lttng-dev] rculfstack bug

2012-10-10 Thread Paul E. McKenney
On Thu, Oct 11, 2012 at 09:31:01AM +0800, Lai Jiangshan wrote: > On 10/11/2012 03:50 AM, Paul E. McKenney wrote: > > On Wed, Oct 10, 2012 at 01:53:04PM -0400, Mathieu Desnoyers wrote: > >> * Mathieu Desnoyers (mathieu.desnoy...@efficios.com) wrote: > >>

Re: [lttng-dev] urcu stack and queues updates and documentation

2012-10-16 Thread Paul E. McKenney
On Sun, Oct 14, 2012 at 01:53:32PM -0400, Mathieu Desnoyers wrote: > Hi Paul! > > I know you are currently looking at documentation of urcu data > structures. I did quite a bit of work in that area these past days. Here > is my plan: Actually, I diverted to the atomic operations, given that the s

Re: [lttng-dev] urcu stack and queues updates and documentation

2012-10-22 Thread Paul E. McKenney
On Wed, Oct 17, 2012 at 11:19:46AM -0400, Mathieu Desnoyers wrote: > * Paul E. McKenney (paul...@linux.vnet.ibm.com) wrote: > > On Sun, Oct 14, 2012 at 01:53:32PM -0400, Mathieu Desnoyers wrote: > > > Hi Paul! > > > > > > I know you are currently l

[lttng-dev] Fw: Re: [PATCH v2] epoll: Support for disabling items, and a self-test app.

2012-10-29 Thread Paul E. McKenney
FYI, userspace RCU proposed to solve an issue with epoll. Thanx, Paul - Forwarded message from Matt Helsley - Date: Fri, 26 Oct 2012 14:52:42 -0700 From: Matt Helsley To: "Michael Kerrisk (man-pages)" Cc: "Paton J. Lewis" , Alexa

[lttng-dev] [PATCH] wfcqueue: Fix lock and unlock functions

2012-11-15 Thread Paul E. McKenney
The current implementation of cds_wfcq_dequeue_lock() and cds_wfcq_dequeue_unlock() entails mutually assured recursion. Redirect to _cds_wfcq_dequeue_lock() and _cds_wfcq_dequeue_unlock(), respectively. Signed-off-by: Paul E. McKenney diff --git a/wfcqueue.c b/wfcqueue.c index 3474ee0..90b810e

Re: [lttng-dev] userspace rcu flavor improvements

2012-11-19 Thread Paul E. McKenney
On Mon, Nov 19, 2012 at 03:52:18PM +0800, Lai Jiangshan wrote: > On 11/18/2012 12:16 AM, Mathieu Desnoyers wrote: > > Here are a couple of improvements for all userspace RCU flavors. Many > > thanks to Alan Stern for his suggestions. > > It makes urcu like SRCU. (sync_rcu = check zero + flip + che

Re: [lttng-dev] [PATCH 14/16] urcu-qsbr: batch concurrent synchronize_rcu()

2012-11-22 Thread Paul E. McKenney
r. > >>> With 4 readers, single updater: > >>> > >>> * Serialized grace periods : > >>> > >>> ./test_urcu_qsbr 4 1 20 > >>> SUMMARY ./test_urcu_qsbr testdur 20 nr_readers 4 > >>> rdur 0 wdur 0 n

Re: [lttng-dev] [PATCH] urcu: avoid false sharing for rcu_gp_ctr

2012-12-10 Thread Paul E. McKenney
On Fri, Dec 07, 2012 at 12:22:52PM -0500, Mathieu Desnoyers wrote: > * Lai Jiangshan (eag0...@gmail.com) wrote: > > On Saturday, December 8, 2012, Mathieu Desnoyers wrote: > > > > > * Lai Jiangshan (eag0...@gmail.com ) wrote: > > > > we can define rcu_gp_ctr and registry with aligned attribute, bu

Re: [lttng-dev] [PATCH] urcu: avoid false sharing for rcu_gp_ctr

2012-12-10 Thread Paul E. McKenney
On Mon, Dec 10, 2012 at 01:01:12PM -0500, Mathieu Desnoyers wrote: > * Paul E. McKenney (paul...@linux.vnet.ibm.com) wrote: > > On Fri, Dec 07, 2012 at 12:22:52PM -0500, Mathieu Desnoyers wrote: > > > * Lai Jiangshan (eag0...@gmail.com) wrote: > > > > On Satur

Re: [lttng-dev] [RFC PATCH urcu] Add "last" output parameter to pop/dequeue

2012-12-14 Thread Paul E. McKenney
On Thu, Dec 13, 2012 at 06:44:56AM -0500, Mathieu Desnoyers wrote: > I noticed that in addition to having: > > - push/enqueue returning whether the stack/queue was empty prior to the > operation, > - pop_all/splice, by nature, emptying the stack/queue, > > it can be interesting to make pop/dequ

[lttng-dev] [PATCH] Add ACCESS_ONCE() to avoid compiler splitting assignments

2013-01-15 Thread Paul E. McKenney
tore be volatile keeps gcc from splitting. This commit therefore applies ACCESS_ONCE() to CMM_STORE_SHARED(), which is the underlying primitive used by rcu_assign_pointer(). Signed-off-by: Paul E. McKenney diff --git a/urcu/system.h b/urcu/system.h index 2a45f22..7a1887e 100644 --- a/urcu/syst

Re: [lttng-dev] [rp] [RFC PATCH urcu] Add "last" output parameter to pop/dequeue

2013-01-15 Thread Paul E. McKenney
[Sorry for the delay, finally getting back to this.] On Mon, Dec 17, 2012 at 09:40:09AM -0500, Mathieu Desnoyers wrote: > * Paul E. McKenney (paul...@linux.vnet.ibm.com) wrote: > > On Thu, Dec 13, 2012 at 06:44:56AM -0500, Mathieu Desnoyers wrote: > > > I noticed that in

Re: [lttng-dev] [PATCH] Add ACCESS_ONCE() to avoid compiler splitting assignments

2013-01-19 Thread Paul E. McKenney
On Wed, Jan 16, 2013 at 07:50:54AM -0500, Mathieu Desnoyers wrote: > * Mathieu Desnoyers (mathieu.desnoy...@efficios.com) wrote: > > * Paul E. McKenney (paul...@linux.vnet.ibm.com) wrote: > > > As noted by Konstantin Khlebnikov, gcc can split assignment of > > > constan

Re: [lttng-dev] [PATCH] Add ACCESS_ONCE() to avoid compiler splitting assignments

2013-01-25 Thread Paul E. McKenney
On Sun, Jan 20, 2013 at 03:51:31PM -0500, Mathieu Desnoyers wrote: > * Paul E. McKenney (paul...@linux.vnet.ibm.com) wrote: > > On Wed, Jan 16, 2013 at 07:50:54AM -0500, Mathieu Desnoyers wrote: > > > * Mathieu Desnoyers (mathieu.desnoy...@efficios.com) wrote: > > >

Re: [lttng-dev] [rp] [PATCH urcu] rculfhash: add assertions on node alignment

2013-02-14 Thread Paul E. McKenney
On Thu, Feb 14, 2013 at 11:19:33AM -0500, Mathieu Desnoyers wrote: > I've had a report of someone running into issues with the RCU lock-free > hash table by embedding the struct cds_lfht_node into a packed structure > by mistake, thus not respecting alignment requirements stated in > urcu/rculfhash

Re: [lttng-dev] [urcu commit] list: implement cds_list_for_each_safe()

2013-03-13 Thread Paul E. McKenney
snoyers Reviewed-by: Paul E. McKenney > diff --git a/urcu/list.h b/urcu/list.h > index 5d04394..1d1c7b5 100644 > --- a/urcu/list.h > +++ b/urcu/list.h > @@ -140,12 +140,17 @@ cds_list_splice (struct cds_list_head *add, struct > cds_list_head *head) > #define cds_list_f

Re: [lttng-dev] Quick questions about liburcu and RCU in general

2013-05-07 Thread Paul E. McKenney
On Tue, May 07, 2013 at 07:59:14AM -0400, Mathieu Desnoyers wrote: > Hi Richard, > > * Richard Braun (rbr...@sceen.net) wrote: > > Hello, > > > > I'm currently studying RCU/URCU, and I have a few questions that I wasn't > > sure where to ask. > > > > 1/ Why use poll instead of sched_yield in e.g

Re: [lttng-dev] Quick questions about liburcu and RCU in general

2013-05-07 Thread Paul E. McKenney
On Tue, May 07, 2013 at 04:51:12PM +0200, Richard Braun wrote: > On Tue, May 07, 2013 at 07:23:52AM -0700, Paul E. McKenney wrote: > > Yes, LGPLv2+ allows you to migrate to LGPLv3+, which is compatible with > > GPLv3+. So as long as you derive the code from lttng's userspace-

Re: [lttng-dev] [RFC PATCH urcu] Implement rcu_barrier()

2013-06-05 Thread Paul E. McKenney
On Fri, May 31, 2013 at 11:35:17AM -0400, Mathieu Desnoyers wrote: > Awaits for all in-flight call_rcu handlers to complete execution before > returning. > > Signed-off-by: Mathieu Desnoyers One suggestion below, looks good in general.

Re: [lttng-dev] [RFC PATCH urcu] Implement rcu_barrier()

2013-06-12 Thread Paul E. McKenney
On Wed, Jun 05, 2013 at 09:32:10AM -0400, Mathieu Desnoyers wrote: > * Paul E. McKenney (paul...@linux.vnet.ibm.com) wrote: > > On Fri, May 31, 2013 at 11:35:17AM -0400, Mathieu Desnoyers wrote: > [...] > > > + > > > + if (work_count != count) > > > +

Re: [lttng-dev] [RFC] adding into middle of RCU list

2013-08-23 Thread Paul E. McKenney
lization or cleanup, so it is OK for it to update pointers in an unsafe-for-RCU-readers manner. This commit therefore creates an INIT_LIST_HEAD_RCU() that uses ACCESS_ONCE() to make the updates reader-safe. The reason that we can use ACCESS_ONCE() instead of the more typical rcu_assign_pointer(

Re: [lttng-dev] [RFC] adding into middle of RCU list

2013-08-23 Thread Paul E. McKenney
On Fri, Aug 23, 2013 at 12:09:56PM -0700, Stephen Hemminger wrote: > On Fri, 23 Aug 2013 13:16:53 -0400 > Mathieu Desnoyers wrote: > > > * Paul E. McKenney (paul...@linux.vnet.ibm.com) wrote: > > > On Thu, Aug 22, 2013 at 09:33:18PM -0700, Stephen Hemminger wrote: >

Re: [lttng-dev] [RFC] adding into middle of RCU list

2013-08-23 Thread Paul E. McKenney
On Fri, Aug 23, 2013 at 01:16:53PM -0400, Mathieu Desnoyers wrote: > * Paul E. McKenney (paul...@linux.vnet.ibm.com) wrote: > > On Thu, Aug 22, 2013 at 09:33:18PM -0700, Stephen Hemminger wrote: > > > I needed to add into the middle of an RCU list, do

Re: [lttng-dev] [RFC] adding into middle of RCU list

2013-08-29 Thread Paul E. McKenney
On Fri, Aug 23, 2013 at 02:08:22PM -0700, Paul E. McKenney wrote: > On Fri, Aug 23, 2013 at 01:16:53PM -0400, Mathieu Desnoyers wrote: > > * Paul E. McKenney (paul...@linux.vnet.ibm.com) wrote: > > > On Thu, Aug 22, 2013 at 09:33:18PM -0700, Steph

Re: [lttng-dev] [RFC] adding into middle of RCU list

2013-08-31 Thread Paul E. McKenney
On Thu, Aug 29, 2013 at 07:16:37PM -0700, Josh Triplett wrote: > On Thu, Aug 29, 2013 at 05:57:33PM -0700, Paul E. McKenney wrote: > > On Fri, Aug 23, 2013 at 02:08:22PM -0700, Paul E. McKenney wrote: > > > On Fri, Aug 23, 2013 at 01:16:53PM -0400, Mathieu Desnoyers wrot

Re: [lttng-dev] [RFC] adding into middle of RCU list

2013-09-01 Thread Paul E. McKenney
On Sun, Sep 01, 2013 at 01:42:10PM -0700, Josh Triplett wrote: > On Sat, Aug 31, 2013 at 02:32:28PM -0700, Paul E. McKenney wrote: > > On Thu, Aug 29, 2013 at 07:16:37PM -0700, Josh Triplett wrote: > > > On Thu, Aug 29, 2013 at 05:57:33PM -0700, Paul E. McKenney wrote: > >

Re: [lttng-dev] [PATCH] rcu: Make rcu_assign_pointer's assignment volatile and type-safe

2013-09-01 Thread Paul E. McKenney
On Sun, Sep 01, 2013 at 04:42:52PM -0700, Josh Triplett wrote: > rcu_assign_pointer needs to use ACCESS_ONCE to make the assignment to > the destination pointer volatile, to protect against compilers too > clever for their own good. > > In addition, since rcu_assign_pointer force-casts the source

Re: [lttng-dev] [RFC PATCH] timekeeping: introduce timekeeping_is_busy()

2013-09-11 Thread Paul E. McKenney
On Wed, Sep 11, 2013 at 02:54:41PM -0400, Mathieu Desnoyers wrote: > * John Stultz (john.stu...@linaro.org) wrote: > > On 09/11/2013 08:08 AM, Mathieu Desnoyers wrote: > [...] > > Now focusing on features (the fix discussion is in a separate > sub-thread): > > > > > > LTTng uses ktime to have th

Re: [lttng-dev] bug in urcu

2013-11-02 Thread Paul E. McKenney
On Fri, Nov 01, 2013 at 01:55:14PM +, Mathieu Desnoyers wrote: > - Original Message - > > From: "Mathieu Desnoyers" > > To: "Vladimir Nikulichev" > > Cc: "Paul E. McKenney" > > Sent: Friday, November 1, 2013 9:42:16 AM >

Re: [lttng-dev] bug in urcu

2013-11-03 Thread Paul E. McKenney
On Fri, Nov 01, 2013 at 08:18:59PM +, Mathieu Desnoyers wrote: > - Original Message - > > From: "Mathieu Desnoyers" > > To: "Vladimir Nikulichev" > > Cc: lttng-dev@lists.lttng.org, "Paul E. McKenney" > > > > Sent: Frida

Re: [lttng-dev] bug in urcu

2013-11-04 Thread Paul E. McKenney
On Sun, Nov 03, 2013 at 02:13:52PM +, Mathieu Desnoyers wrote: > - Original Message - > > From: "Paul E. McKenney" > > To: "Mathieu Desnoyers" > > Cc: "Vladimir Nikulichev" , lttng-dev@lists.lttng.org > > Sent: Sunday, Novemb

Re: [lttng-dev] Xeon Phi memory barriers

2013-12-06 Thread Paul E. McKenney
s > > > > Hello there, > > Hi Simon, > > While reading this reply, please keep in mind that I'm in a > mindset where I've been in a full week of meeting, and it's late on > Friday evening here. So YMMV ;-) I'm CCing Paul E. McKenney, so he can > debu

Re: [lttng-dev] Xeon Phi memory barriers

2013-12-09 Thread Paul E. McKenney
On Sat, Dec 07, 2013 at 05:58:54AM +, Mathieu Desnoyers wrote: > - Original Message - > > From: "Paul E. McKenney" > > To: "Mathieu Desnoyers" > > Cc: "Simon Marchi" , lttng-dev@lists.lttng.org > > Sent: Friday, December

Re: [lttng-dev] Alternative to signals/sys_membarrier() in liburcu

2015-03-12 Thread Paul E. McKenney
On Thu, Mar 12, 2015 at 08:56:00PM +, Mathieu Desnoyers wrote: > (sorry for re-send, my mail client tricked me into posting HTML > to lkml) > > Hi, > > Michael Sullivan proposed a clever hack abusing mprotect() to > perform the same effect as sys_membarrier() I submitted a few > years ago

Re: [lttng-dev] Alternative to signals/sys_membarrier() in liburcu

2015-03-13 Thread Paul E. McKenney
On Fri, Mar 13, 2015 at 09:07:43AM +0100, Ingo Molnar wrote: > > * Mathieu Desnoyers wrote: > > > - Original Message - > > > From: "Linus Torvalds" > > > To: "Mathieu Desnoyers" > > > Cc: "Michael Sullivan" , lttn

Re: [lttng-dev] Deadlock between call_rcu thread and RCU-bp thread doing registration in rcu_read_lock()

2015-04-17 Thread Paul E. McKenney
On Fri, Apr 17, 2015 at 12:23:46PM +0300, Eugene Ivanov wrote: > Hi Mathieu, > > On 04/10/2015 11:26 PM, Mathieu Desnoyers wrote: > >- Original Message - > >>Hi, > >> > >>I use rcu-bp (0.8.6) and get deadlock between call_rcu thread and > >>threads willing to do rcu_read_lock(): > >>1. Som

Re: [lttng-dev] Deadlock between call_rcu thread and RCU-bp thread doing registration in rcu_read_lock()

2015-04-17 Thread Paul E. McKenney
On Fri, Apr 17, 2015 at 07:18:18AM -0700, Paul E. McKenney wrote: > On Fri, Apr 17, 2015 at 12:23:46PM +0300, Eugene Ivanov wrote: > > Hi Mathieu, > > > > On 04/10/2015 11:26 PM, Mathieu Desnoyers wrote: > > >- Original Message - > > >>Hi,

Re: [lttng-dev] [PATCH] Fix: deadlock when thread join is issued in read-side C.S. (v2)

2015-04-25 Thread Paul E. McKenney
egistration/unregistration to complete even though synchronize_rcu is > awaiting for RCU read-side critical sections to complete. > > Changes since v1: > - Hold both rcu_gp_lock and rcu_registry_lock across fork in urcu-bp. > > Signed-off-by: Mathieu Desnoyers Reviewed-by:

Re: [lttng-dev] [PATCH] Fix: call_rcu_thread() affinity failure

2015-06-29 Thread Paul E. McKenney
. > > Reported-by: Michael Jeanson > Suggested-by: Paul E. McKenney > Signed-off-by: Mathieu Desnoyers A couple of issues, but otherwise good. (They might even be issues with your code rather than my eyes, you never know!) Tha

Re: [lttng-dev] [PATCH] Fix: call_rcu_thread() affinity failure

2015-06-29 Thread Paul E. McKenney
On Mon, Jun 29, 2015 at 11:06:15PM +, Mathieu Desnoyers wrote: > - On Jun 29, 2015, at 7:01 PM, Paul E. McKenney > paul...@linux.vnet.ibm.com wrote: > > > On Mon, Jun 29, 2015 at 06:56:34PM -0400, Mathieu Desnoyers wrote: > >> Make call_rcu_thread() affine

Re: [lttng-dev] [RFC PATCH urcu] Fix: dynamic fallback to compat futex on sys_futex ENOSYS

2015-09-13 Thread Paul E. McKenney
ust one. Looks like a reasonable approach to me. Acked-by: Paul E. McKenney > Signed-off-by: Mathieu Desnoyers > CC: Paul E. McKenney > CC: Michael Jeanson > CC: Jon Bernard > --- > Makefile.am | 2 -- > urcu/futex.h | 70 > +

Re: [lttng-dev] [rp] [RFC PATCH urcu] urcu_ref_get: API change: return boolean

2016-01-21 Thread Paul E. McKenney
On Thu, Jan 21, 2016 at 05:06:09PM +, Mathieu Desnoyers wrote: > - On Jan 21, 2016, at 11:59 AM, Josh Triplett j...@joshtriplett.org wrote: > > > On Thu, Jan 21, 2016 at 04:45:20PM +, Mathieu Desnoyers wrote: > >> - On Jan 19, 2016, at 3:57 PM, Mathieu Desnoyers > >> mathieu.desnoy

Re: [lttng-dev] [RFC PATCH urcu 00/01] Introduce-rcu_barrier_finalize()

2016-01-22 Thread Paul E. McKenney
On Fri, Jan 22, 2016 at 12:22:02PM -0500, Jérémie Galarneau wrote: > Following a prior discussion on this mailing list [1], I am proposing > the introduction of rcu_barrier_finalize() in liburcu. > > *** Use Case *** > > As pointed out in the e-mail thread, some applications are nesting > liburcu

[lttng-dev] Horrible hack to make C++ link to liburcu

2016-03-04 Thread Paul E. McKenney
Hello! Still working with the C++ standards committee to add RCU to C++, and of course one step on that path is to make C++ programs build against liburcu. The following hack-patch makes this work by disabling C++ access to wfcqueue and by making C++ see the rcu_head ->next field as a void *. Th

Re: [lttng-dev] [RFC PATCH urcu 2/2] wfcqueue: add C++ compatibility API

2016-03-08 Thread Paul E. McKenney
fcq_head and struct __cds_wfcq_head pointers to > cds_wfcq_head_ptr_t. > > Signed-off-by: Mathieu Desnoyers Good stuff!!! Reviewed-by: Paul E. McKenney Tested-by: Paul E. McKenney > --- > urcu/static/wfcqueue.h | 16 +--- > urcu/wfcqueue.h| 40 +++

Re: [lttng-dev] [RFC PATCH urcu 1/2] Fix: CDS_WFCQ_WOULDBLOCK typing for c++

2016-03-08 Thread Paul E. McKenney
On Mon, Mar 07, 2016 at 07:33:43PM -0500, Mathieu Desnoyers wrote: > Signed-off-by: Mathieu Desnoyers Reviewed-by: Paul E. McKenney Tested-by: Paul E. McKenney > --- > urcu/wfcqueue.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/urcu/wfcqueue.h

Re: [lttng-dev] [RFC PATCH urcu 2/2] wfcqueue: add C++ compatibility API

2016-03-08 Thread Paul E. McKenney
On Tue, Mar 08, 2016 at 05:20:25PM +, Mathieu Desnoyers wrote: > - On Mar 8, 2016, at 12:11 PM, Paul E. McKenney > paul...@linux.vnet.ibm.com wrote: > > > On Mon, Mar 07, 2016 at 07:33:44PM -0500, Mathieu Desnoyers wrote: > >> Introduce __cds_wfcq_head_cast an

Re: [lttng-dev] real time Userspace RCU

2016-03-11 Thread Paul E. McKenney
know real time system focus on predictability on both timing and > > memory consumption. > > So how does real time urcu support predictability? > > Could you provide me some papers, documents or any materials about any > > aspect of real time urcu? > > Adding Paul E. McKen

Re: [lttng-dev] real time Userspace RCU

2016-03-31 Thread Paul E. McKenney
this work on -rt Linux. Thanx, Paul > Thanks again. > > On Fri, Mar 11, 2016 at 10:00 PM, Mathieu Desnoyers > wrote: > > ----- On Mar 11, 2016, at 6:45 AM, Paul E. McKenney > > paul...@linux.vnet.ibm.com wrote: > > > >> On Thu, Mar 10, 2016 at 08

Re: [lttng-dev] real time Userspace RCU

2016-04-15 Thread Paul E. McKenney
tation deal with this problem? > And if so, how does it solve this? > > Thanks > Yuxin > > On Thu, Mar 31, 2016 at 7:22 AM, Paul E. McKenney > wrote: > > On Thu, Mar 31, 2016 at 09:20:07AM +0800, Yuxin Ren wrote: > >> Thank you all!! > >> >

Re: [lttng-dev] Question about lock in synchronize_rcu implementation of URCU

2016-04-27 Thread Paul E. McKenney
On Wed, Apr 27, 2016 at 09:34:16PM -0400, Yuxin Ren wrote: > Hi, > > I am learning the URCU code. > > Why do we need rcu_gp_lock in synchronize_rcu? > https://github.com/urcu/userspace-rcu/blob/master/urcu.c#L401 > > In the comment, it says this lock ensures mutual exclusion between > threads ca

Re: [lttng-dev] Question about lock in synchronize_rcu implementation of URCU

2016-04-27 Thread Paul E. McKenney
n't currently perform grace period, why do we use the rcu_gp_lock? > > Thank you. > Yuxin > > On Wed, Apr 27, 2016 at 10:08 PM, Paul E. McKenney > wrote: > > On Wed, Apr 27, 2016 at 09:34:16PM -0400, Yuxin Ren wrote: > >> Hi, > >> > >> I am l

Re: [lttng-dev] Question about lock in synchronize_rcu implementation of URCU

2016-04-28 Thread Paul E. McKenney
On Thu, Apr 28, 2016 at 08:44:01PM +0800, Boqun Feng wrote: > Hi Paul and Yuxin, > > On Wed, Apr 27, 2016 at 09:23:27PM -0700, Paul E. McKenney wrote: > > Try building without it and see what happens when you run the tests. > > > > I've run a 'regtest&#x

Re: [lttng-dev] Question about lock in synchronize_rcu implementation of URCU

2016-04-28 Thread Paul E. McKenney
> On Thu, Apr 28, 2016 at 8:44 AM, Boqun Feng wrote: > > Hi Paul and Yuxin, > > > > On Wed, Apr 27, 2016 at 09:23:27PM -0700, Paul E. McKenney wrote: > >> Try building without it and see what happens when you run the tests. > >> > > > >

Re: [lttng-dev] Question about lock in synchronize_rcu implementation of URCU

2016-04-28 Thread Paul E. McKenney
> Thanks again!! > > Yuxin > > > > On Thu, Apr 28, 2016 at 8:44 AM, Boqun Feng wrote: > >> Hi Paul and Yuxin, > >> > >> On Wed, Apr 27, 2016 at 09:23:27PM -0700, Paul E. McKenney wrote: > >>> Try building without it and see what

Re: [lttng-dev] question about rcu_bp_exit()

2016-05-19 Thread Paul E. McKenney
On Wed, May 18, 2016 at 06:40:03PM +, Mathieu Desnoyers wrote: > - On May 18, 2016, at 5:44 AM, songxin wrote: > > > Hi, > > Now I get a crash because receiving signal SIGSEGV as below. > > > #0 arena_alloc (arena=) at > > /usr/src/debug/liburcu/0.9.1+git5fd33b1e5003ca316bd314ec3fd1447f

[lttng-dev] FYI, another paper checking URCU correctness

2016-06-13 Thread Paul E. McKenney
Hello! On the off chance that this is new news of interest... https://arxiv.org/pdf/1606.01400v1.pdf "Operational Aspects of C/C++ Concurrency", Anton Podkopaev, Ilya Sergey, Aleksandar Nanevski. At first glance, they seem to be using a combination of formal verification and testing, using a si

Re: [lttng-dev] RCU on non-cache-coherent memory

2016-08-04 Thread Paul E. McKenney
e? > > Not only RCU, any other synchronization technique on top of > > non-cache-coherent multi-core > > is also helpful. > > CCing Paul E. McKenney, who might know more on this topic. > > Back in 2009 when I started the liburcu.org project, I > planned to eventuall

Re: [lttng-dev] High memory consumption issue on RCU side

2016-09-24 Thread Paul E. McKenney
On Sat, Sep 24, 2016 at 10:42:24AM +0300, Evgeniy Ivanov wrote: > Hi Mathieu, > > On Sat, Sep 24, 2016 at 12:59 AM, Mathieu Desnoyers > wrote: > > - On Sep 22, 2016, at 3:14 PM, Evgeniy Ivanov lolkaanti...@gmail.com > > wrote: > > > >> Hi all, > >> > >> I'm investigating high memory usage of

Re: [lttng-dev] High memory consumption issue on RCU side

2016-09-24 Thread Paul E. McKenney
On Sat, Sep 24, 2016 at 03:34:47PM +, Mathieu Desnoyers wrote: > - On Sep 24, 2016, at 11:22 AM, Paul E. McKenney > paul...@linux.vnet.ibm.com wrote: > > > On Sat, Sep 24, 2016 at 10:42:24AM +0300, Evgeniy Ivanov wrote: > >> Hi Mathieu, > >> >

Re: [lttng-dev] liburcu rcu_xchg_pointer and rcu_cmpxchg_pointer ARM32 barriers

2016-12-05 Thread Paul E. McKenney
On Mon, Dec 05, 2016 at 02:14:47PM +, Mathieu Desnoyers wrote: > Hi Paul, > > So about the liburcu rcu_xchg_pointer() barriers, here is the current > situation: > > rcu_xchg_pointer is implemented as: > > #define _rcu_xchg_pointer(p, v) \ > __extension__

Re: [lttng-dev] liburcu rcu_xchg_pointer and rcu_cmpxchg_pointer ARM32 barriers

2016-12-05 Thread Paul E. McKenney
On Mon, Dec 05, 2016 at 11:01:10PM +, Mathieu Desnoyers wrote: > - On Dec 5, 2016, at 5:35 PM, Paul E. McKenney paul...@linux.vnet.ibm.com > wrote: > > > On Mon, Dec 05, 2016 at 02:14:47PM +, Mathieu Desnoyers wrote: > >> Hi Paul, > >> > >

Re: [lttng-dev] question about the RCU variant in CITRUS tree paper

2017-05-11 Thread Paul E. McKenney
On Thu, May 11, 2017 at 04:05:45PM -0400, Yuxin Ren wrote: > Hi, > > I am learning U-RCU now. > And I read paper Concurrent Updates with RCU: Search Tree as an Example > ( > https://pdfs.semanticscholar.org/73e4/cd29273cf9d98d35bc184330e694ba798987.pdf > ) > > In this paper, the authors present

  1   2   >