From: mathieu.desnoyers@efficios.com (Mathieu Desnoyers)
Subject: [lttng-dev] urcu stack and queues updates and documentation
Date: Tue, 23 Oct 2012 08:50:05 -0400 [thread overview]
Message-ID: <20121023125005.GA21311@Krystal> (raw)
In-Reply-To: <20121023122926.GA20944@Krystal>
* Mathieu Desnoyers (mathieu.desnoyers at efficios.com) wrote:
> * Mathieu Desnoyers (mathieu.desnoyers at efficios.com) wrote:
> > * Paul E. McKenney (paulmck at linux.vnet.ibm.com) wrote:
> > > On Wed, Oct 17, 2012 at 11:19:46AM -0400, Mathieu Desnoyers wrote:
> > > > * Paul E. McKenney (paulmck at 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 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 stack/queue
> > > > > API seems to be in flux. ;-)
> > > >
> > > > That sounds like a wise decision ;-)
> > > >
> > > > > > 1) I would like to deprecate, at some point, rculfqueue, wfqueue, and
> > > > > > rculfstack.
> > > > > >
> > > > > > 2) For wfqueue, we replace it by wfcqueue, currently in the urcu master
> > > > > > branch.
> > > > > >
> > > > > > 3) For rculfstack, we replace it by lfstack available here (volatile
> > > > > > branch):
> > > > > >
> > > > > > git://git.dorsal.polymtl.ca/~compudj/userspace-rcu
> > > > > > branch: urcu/lfstack
> > > > >
> > > > > I probably have to document them to have any chance of having an opinion,
> > > > > other than my usual advice to avoid disrupting users of the old interfaces.
> > > >
> > > > My general plan is to leave the old interfaces in place, marking them as
> > > > "deprecated" by adding a __attribute__((deprecated("This interface is deprecated. Please refer to urcu/xxxqueue.h for its replacement."))).
> > > > Then we'll be able to drop the deprecated interfaces in a couple of
> > > > versions.
> > >
> > > Fair enough. Should enough users protest, we can of course leave them
> > > in place.
> >
> > OK.
FYI, wfqueue and rculfstack are now deprecated:
commit 147485105cf7b5c8ea96d7f68df973b9c5a94e8e
Author: Mathieu Desnoyers <mathieu.desnoyers at efficios.com>
Date: Tue Oct 23 08:43:33 2012 -0400
Deprecate wfqueue
Replaced by "wfcqueue", which has a semantic that allows placing head
and tail on different cache lines, and does not allocate memory
internally. wfqueue users can easily migrate to wfcqueue.
We choose to deprecate wfqueue rather than reimplementing it on top of
wfcqueue to ensure we keep strong ABI compatibility for existing wfqueue
users.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers at efficios.com>
commit d89ec7629b8cafdc12e619cf5f07ceb5b0279275
Author: Mathieu Desnoyers <mathieu.desnoyers at efficios.com>
Date: Tue Oct 23 08:36:42 2012 -0400
Deprecate rculfstack
Replaced by "lfstack", which has a less restrictive semantic, and covers
rculfstack completely.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers at efficios.com>
wfstack is kept as-is (and has been recently extended with pop_all(),
iterators, and empty() APIs). rculfqueue needs more work. I'd be tempted
not to detail rculfqueue in the upcoming LWN article, but detailing
wfqueue, wfstack and lfstack should be fine.
Thanks!
Mathieu
--
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com
prev parent reply other threads:[~2012-10-23 12:50 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-10-14 17:53 Mathieu Desnoyers
2012-10-16 21:37 ` Paul E. McKenney
2012-10-17 15:19 ` Mathieu Desnoyers
2012-10-22 17:44 ` Paul E. McKenney
2012-10-23 2:12 ` Mathieu Desnoyers
2012-10-23 12:29 ` Mathieu Desnoyers
2012-10-23 12:50 ` Mathieu Desnoyers [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20121023125005.GA21311@Krystal \
--to=mathieu.desnoyers@efficios.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox