[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