[lttng-dev] [RFC] Feedback on 2 development branches: wfstack and lfstack
Lai Jiangshan
laijs at cn.fujitsu.com
Sun Oct 14 23:00:17 EDT 2012
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
>
>
More information about the lttng-dev
mailing list