* Mathieu Desnoyers ([email protected]) wrote: > * Mathieu Desnoyers ([email protected]) wrote: > > * Paul E. McKenney ([email protected]) wrote: > > > On Wed, Oct 17, 2012 at 11:19:46AM -0400, Mathieu Desnoyers wrote: > > > > * Paul E. McKenney ([email protected]) 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 <[email protected]> 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 <[email protected]> commit d89ec7629b8cafdc12e619cf5f07ceb5b0279275 Author: Mathieu Desnoyers <[email protected]> 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 <[email protected]> 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 _______________________________________________ lttng-dev mailing list [email protected] http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
