On Mon, Oct 21, 2024 at 03:53:04PM -0400, Olivier Dion wrote:
> Hi Paul,
>
> In liburcu, `rcu_dereference()' is either implemented with volatile
> access with `CMM_LOAD_SHARED()' followed by a memory barrier depends, or
> a atomic load with CONSUME memory ordering (configurable by users on a
> com
On Mon, Aug 21, 2023 at 11:43:32AM -0400, Mathieu Desnoyers wrote:
> On 8/15/23 08:38, Mathieu Desnoyers via lttng-dev wrote:
> > On 8/14/23 17:05, Olivier Dion via lttng-dev wrote:
> > >
> > > After discussing it with Mathieu, we agree on the following 3 phases for
> > > deprecating the signal fl
On Wed, Jul 05, 2023 at 03:03:21PM -0400, Olivier Dion wrote:
> On Wed, 05 Jul 2023, "Paul E. McKenney" wrote:
> > On Tue, Jul 04, 2023 at 10:43:21AM -0400, Olivier Dion wrote:
> >> On Wed, 21 Jun 2023, "Paul E. McKenney" wrote:
> >> > On Wed, Ju
On Tue, Jul 04, 2023 at 10:43:21AM -0400, Olivier Dion wrote:
> On Wed, 21 Jun 2023, "Paul E. McKenney" wrote:
> > On Wed, Jun 07, 2023 at 02:53:51PM -0400, Olivier Dion wrote:
> >
> > Same question here on loss of volatile semantics.
>
> This apply to all r
On Thu, Jun 29, 2023 at 12:49:00PM -0400, Olivier Dion wrote:
> On Wed, 21 Jun 2023, "Paul E. McKenney" wrote:
> > On Wed, Jun 07, 2023 at 02:53:52PM -0400, Olivier Dion wrote:
> >> -#ifdef __URCU_DEREFERENCE_USE_ATOMIC_CONSUME
> >> -# def
On Thu, Jun 22, 2023 at 03:53:33PM -0400, Olivier Dion wrote:
> On Thu, 22 Jun 2023, "Paul E. McKenney" wrote:
>
> > I suggest C11 volatile atomic load/store. Load/store fusing is permitted
> > for non-volatile atomic loads and stores, and such fusing can rui
On Thu, Jun 22, 2023 at 11:55:55AM -0400, Mathieu Desnoyers wrote:
> On 6/21/23 19:19, Paul E. McKenney wrote:
> [...]
> > > diff --git a/include/urcu/uatomic/builtins-generic.h
> > > b/include/urcu/uatomic/builtins-generic.h
> > > new file mode 100644
> >
On Wed, Jun 21, 2023 at 09:48:10PM -0400, Mathieu Desnoyers wrote:
> On 6/21/23 20:53, Olivier Dion wrote:
> > On Wed, 21 Jun 2023, "Paul E. McKenney" wrote:
> > > On Mon, May 15, 2023 at 04:17:11PM -0400, Olivier Dion wrote:
> > > >
On Wed, Jun 07, 2023 at 02:53:55PM -0400, Olivier Dion wrote:
> Global states accesses were protected via memory barriers. Use the
> uatomic API with the CMM memory model so that TSAN can understand the
> ordering imposed by the synchronization flags.
>
> Change-Id: I1bf5702c5ac470f308c478effe39e4
On Wed, Jun 07, 2023 at 02:53:54PM -0400, Olivier Dion wrote:
> Global states accesses were protected via memory barriers. Use the
> uatomic API with the CMM memory model so that TSAN does not warns about
"does not warn", for whatever that is worth.
> none atomic concurrent accesses.
>
> Also, t
On Mon, May 15, 2023 at 04:17:09PM -0400, Olivier Dion wrote:
> Implement uatomic in term of atomic builtins if configured to do so.
>
> Change-Id: I5814494c62ee507fd5d381c3ba4ccd0a80c4f4e3
> Co-authored-by: Mathieu Desnoyers
> Signed-off-by: Olivier Dion
> ---
> include/Makefile.am
On Wed, Jun 07, 2023 at 02:53:52PM -0400, Olivier Dion wrote:
> Introducing the CMM memory model with the following new primitives:
>
> - uatomic_load(addr, memory_order)
>
> - uatomic_store(addr, value, memory_order)
> - uatomic_and_mo(addr, mask, memory_order)
> - uatomic_or_mo(addr, ma
On Wed, Jun 07, 2023 at 02:53:51PM -0400, Olivier Dion wrote:
> If configured to use atomic builtins, use them for implementing the
> CMM_LOAD_SHARED and CMM_STORE_SHARED macros.
>
> Change-Id: I3ef0d26c47aced6e94b40fd59c7b8baa6272
> Co-authored-by: Mathieu Desnoyers
> Signed-off-by: Olivier
On Mon, May 15, 2023 at 04:17:11PM -0400, Olivier Dion wrote:
> If configured to use atomic builtins, implement SMP memory barriers in
> term of atomic builtins if the architecture does not implement its own
> version.
>
> Change-Id: Iddc4283606e0fce572e104d2d3f03b5c0d9926fb
> Co-authored-by: Math
On Wed, May 10, 2023 at 05:10:27PM -0400, Olivier Dion wrote:
> Hi all,
>
> We have the intention of deprecating the urcu-signal flavor in the
> future. We are asking users of URCU for _feedback_ on this before
> going any further.
>
> Part of this decision is that we are adding support for TSAN
On Wed, Mar 22, 2023 at 09:57:25AM -0400, Mathieu Desnoyers wrote:
> On 2023-03-22 07:08, Ondřej Surý via lttng-dev wrote:
> > Hi,
> >
> > the documentation is pretty silent on this, and asking here is probably
> > going to be faster
> > than me trying to use the source to figure this out.
> >
>
On Wed, Feb 16, 2022 at 03:53:20PM -0500, Mathieu Desnoyers wrote:
> - On Feb 16, 2022, at 2:35 AM, lttng-dev lttng-dev@lists.lttng.org wrote:
>
> > It is enough to have three values of rcu_gp.ctr, 00 for INACTIVE,
> > 01 or 11 for ACTIVE. So it is possible to replace add operation
> > with xo
On Wed, May 05, 2021 at 10:46:58AM -0400, Mathieu Desnoyers wrote:
> - On May 5, 2021, at 3:54 AM, Martin Wilck mwi...@suse.com wrote:
>
> > On Fri, 2021-04-30 at 14:41 -0400, Mathieu Desnoyers wrote:
> >> - On Apr 29, 2021, at 9:49 AM, lttng-dev
> >> lttng-dev@lists.lttng.org wrote:
> >>
On Fri, Apr 16, 2021 at 03:30:53PM -0400, Mathieu Desnoyers wrote:
> - On Apr 16, 2021, at 3:02 PM, paulmck paul...@kernel.org wrote:
> [...]
> >
> > If it can be done reasonably, I suggest also having some way for the
> > person building userspace RCU to say "I know what I am doing, so do
> >
On Fri, Apr 16, 2021 at 02:40:08PM -0400, Mathieu Desnoyers wrote:
> - On Apr 16, 2021, at 12:01 PM, paulmck paul...@kernel.org wrote:
>
> > On Fri, Apr 16, 2021 at 05:17:11PM +0200, Peter Zijlstra wrote:
> >> On Fri, Apr 16, 2021 at 10:52:16AM -0400, Mathieu Desnoyers wrote:
> >> > Hi Paul, W
On Fri, Apr 16, 2021 at 05:17:11PM +0200, Peter Zijlstra wrote:
> On Fri, Apr 16, 2021 at 10:52:16AM -0400, Mathieu Desnoyers wrote:
> > Hi Paul, Will, Peter,
> >
> > I noticed in this discussion https://lkml.org/lkml/2021/4/16/118 that LTO
> > is able to break rcu_dereference. This seems to be ta
m ARM that has undoubtedly
changed over time, so...
> Signed-off-by: Michael Jeanson
> Cc: Paul E. McKenney
Acked-by: Paul E. McKenney
> Change-Id: I1d1bb5cc0fa0be8f8b1d6a9ad7bf063809be1aef
> ---
> configure.ac | 4
> 1 file changed, 4 deletions(-)
>
> diff --
system where this was reported.
> >
> > Signed-off-by: Michael Jeanson
> > Cc: Paul E. McKenney
> > Change-Id: Ib3cb5d8cb4515e6f626be33c2685fa38cb081782
> > ---
> > tests/common/api.h | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
>
threads are created and exit repeatedly,
and make a per-thread call_rcu() worker in the meantime..
Thoughts?
Thanx, Paul
[1] git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/perfbook.git
> Thanks,
>
> Mathieu
>
> [1]
ned-off-by: Paul E. McKenney
Cc: Mathieu Desnoyers
Cc: Stephen Hemminger
Cc: Alan Stern
Cc: Lai Jiangshan
Cc:
Cc:
---
urcu-call-rcu-impl.h |7 +--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/src/urcu-call-rcu-impl.h b/src/urcu-call-rcu-impl.h
index b6ec6ba..18fd
On Mon, Jan 27, 2020 at 10:38:05AM -0500, Mathieu Desnoyers wrote:
> - On Jan 23, 2020, at 7:19 PM, lttng-dev lttng-dev@lists.lttng.org wrote:
>
> > Hi,
> >
> > I recently installed knot dns for a very small FreeBSD server. I noticed
> > that it uses a surprising amount of CPU, even when ther
On Sun, Dec 15, 2019 at 05:10:11PM -0500, Yuxin Ren wrote:
> On Sun, Dec 15, 2019 at 3:30 PM Paul E. McKenney wrote:
>
> > On Sat, Dec 14, 2019 at 01:31:31AM -0500, Yuxin Ren wrote:
> > > Hi Paul
> > >
> > > On Sat, Dec 7, 2019 at 5:42 PM Paul E. McKenney
On Sat, Dec 14, 2019 at 01:31:31AM -0500, Yuxin Ren wrote:
> Hi Paul
>
> On Sat, Dec 7, 2019 at 5:42 PM Paul E. McKenney wrote:
>
> > On Sat, Dec 07, 2019 at 03:04:42PM -0500, Yuxin Ren wrote:
> > > Thanks a lot for your help. I have some questions below.
> > &g
On Sat, Dec 07, 2019 at 03:04:42PM -0500, Yuxin Ren wrote:
> Thanks a lot for your help. I have some questions below.
>
> On Sat, Dec 7, 2019 at 1:37 AM Paul E. McKenney wrote:
>
> > On Fri, Dec 06, 2019 at 07:00:13PM -0500, Yuxin Ren wrote:
> > > Thanks so much f
te
inconsistency, which opens the door to things like RCU.
Thanx, Paul
> Thanks
> Yuxin
>
> On Fri, Dec 6, 2019 at 11:30 AM Paul E. McKenney wrote:
>
> > On Fri, Dec 06, 2019 at 10:59:05AM -0500, Mathieu Desnoyers wrot
not designed for
> > linearizability, and it is totally acceptable that RCU is not linearizable.
> > However, I am curious how to accurately/formally Characterize RCU
> > consistency
> > model/guarantees
>
> Adding Paul E. McKenney in CC.
>
> I am referring to the
BTW, your expedited commit hit mainline earlier this week. Here is
hoping! ;-)
Thanx, Paul
On Wed, Sep 06, 2017 at 08:23:40PM +, Mathieu Desnoyers wrote:
> - On Sep 6, 2017, at 3:57 PM, Mathieu Desnoyers
> mathieu.desnoy...@effici
On Tue, May 30, 2017 at 05:10:18PM -0400, Mathieu Desnoyers wrote:
> The RCU lock-free hash table currently requires that the destroy
> function should not be called from within RCU read-side critical
> sections. This is caused by the lazy resize, which uses the call_rcu
> worker thread, even thoug
y question could be stupid.
> Many thanks for your time
> Yuxin
>
> On Thu, May 11, 2017 at 4:23 PM, Paul E. McKenney
> wrote:
> > On Thu, May 11, 2017 at 04:05:45PM -0400, Yuxin Ren wrote:
> >> Hi,
> >>
> >> I am learning U-RCU no
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
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,
> >>
> >
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__
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,
> >>
>
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
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
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
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
> 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
> 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.
> >>
> >
> >
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
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
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
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!!
> >>
>
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
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
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
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
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 +++
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
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
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
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
> +
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
.
>
> 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
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:
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,
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
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
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
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
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
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
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
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
>
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
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
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:
> >
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
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
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
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:
>
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(
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)
> > > +
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.
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-
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
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
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
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:
> > >
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
[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
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
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
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
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
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
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
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
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
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
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
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:
> >>
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:
> >
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_
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)
1 - 100 of 134 matches
Mail list logo