On 10/14/2012 02:12 AM, Mathieu Desnoyers wrote:
> Hi!
> 
> I started modifying the stack APIs to reflect the changes we did for
> wfcqueue, and also add pop_all() and iterators.
> 
> The volatile dev branches are available at:
> 
> http://git.dorsal.polymtl.ca/~compudj?p=userspace-rcu;a=shortlog;h=refs/heads/urcu/lfstack

I don't see the value of introducing struct cds_lfs_head.
It can force the users to use for_each() for the return value of pop_all().
Is it its purpose?

thr_dequeuer() of a8edcc02a25328647f91b4bbe8207e8cdfd317d3 is too complicated.
( I don't see the value of @counter)

do {
        ...
        if (test_pop) {
                test_lfs_pop;
        }
        if (test_pop_all) {
                test_lfs_pop_all;
        }
        ...
} while();





> or 
> git://git.dorsal.polymtl.ca/~compudj/userspace-rcu
> branch: urcu/lfstack
> 
> http://git.dorsal.polymtl.ca/~compudj?p=userspace-rcu;a=shortlog;h=refs/heads/urcu/wfstack
> or
> git://git.dorsal.polymtl.ca/~compudj/userspace-rcu
> branch: urcu/wfstack
> 
> Sorry for not sending patches, I'm a bit time-constrained this weekend.
> I am sending these links right away for review, because I think it might
> be good to pull these commits into the master branch before we proceed
> to other changes. And I want to minimize the amount of duplicated effort
> between Lai and myself.
> 
> One of my next step will be to document the wfstack and lfstack APIs
> more thoroughly (similarly to what we did for wfcqueue).
> 
> Then, my following step will be to see if I can implement a lfcqueue
> API, derived from wfcqueue, but with lock-free enqueue semantic (a mix
> of wfcqueue and rculfqueue).
> 
> Feedback is welcome!
> 
> Thanks,
> 
> Mathieu
> 
> 


_______________________________________________
lttng-dev mailing list
[email protected]
http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev

Reply via email to