userspace-rcu.git
11 years agorcuja: remove "free_node_cb" from destroy
Mathieu Desnoyers [Fri, 7 Jun 2013 14:23:40 +0000 (10:23 -0400)] 
rcuja: remove "free_node_cb" from destroy

It is now up to the caller to ensure that the Judy array is emptied
before destroying it.

For instance, if nodes are accessible through another data structure
than the Judy array, it may very well be valid to destroy the Judy array
without freeing memory associated to those nodes.

Destroy still takes care of freeing memory used for Judy internal nodes.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja: for each key iteration
Mathieu Desnoyers [Fri, 7 Jun 2013 14:11:43 +0000 (10:11 -0400)] 
rcuja: for each key iteration

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja: cleanup
Mathieu Desnoyers [Fri, 7 Jun 2013 13:30:45 +0000 (09:30 -0400)] 
rcuja: cleanup

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja: below/equal result key
Mathieu Desnoyers [Fri, 7 Jun 2013 13:29:30 +0000 (09:29 -0400)] 
rcuja: below/equal result key

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja tests: test above or equal
Mathieu Desnoyers [Fri, 7 Jun 2013 12:36:38 +0000 (08:36 -0400)] 
rcuja tests: test above or equal

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja: below equal/above equal
Mathieu Desnoyers [Fri, 7 Jun 2013 12:31:25 +0000 (08:31 -0400)] 
rcuja: below equal/above equal

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja: update destroy comment
Mathieu Desnoyers [Fri, 7 Jun 2013 02:38:08 +0000 (22:38 -0400)] 
rcuja: update destroy comment

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja: document destroy requirement
Mathieu Desnoyers [Fri, 7 Jun 2013 00:11:10 +0000 (20:11 -0400)] 
rcuja: document destroy requirement

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja tests: free node cb does not need to wait for Q.S. in destroy
Mathieu Desnoyers [Thu, 6 Jun 2013 23:43:56 +0000 (19:43 -0400)] 
rcuja tests: free node cb does not need to wait for Q.S. in destroy

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja: document that destroy free_node_cb does not need to wait for Q.S.
Mathieu Desnoyers [Thu, 6 Jun 2013 23:43:37 +0000 (19:43 -0400)] 
rcuja: document that destroy free_node_cb does not need to wait for Q.S.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja: extend API documentation
Mathieu Desnoyers [Thu, 6 Jun 2013 23:22:48 +0000 (19:22 -0400)] 
rcuja: extend API documentation

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja: rename new_node to node in add functions
Mathieu Desnoyers [Thu, 6 Jun 2013 23:22:36 +0000 (19:22 -0400)] 
rcuja: rename new_node to node in add functions

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja API: document lookup
Mathieu Desnoyers [Thu, 6 Jun 2013 19:16:57 +0000 (15:16 -0400)] 
rcuja API: document lookup

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja fix: pointer type warning
Mathieu Desnoyers [Thu, 6 Jun 2013 19:04:24 +0000 (15:04 -0400)] 
rcuja fix: pointer type warning

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja testpop: cleanup distribution output
Mathieu Desnoyers [Thu, 6 Jun 2013 17:40:53 +0000 (13:40 -0400)] 
rcuja testpop: cleanup distribution output

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja testpop: update accounting
Mathieu Desnoyers [Thu, 6 Jun 2013 16:54:00 +0000 (12:54 -0400)] 
rcuja testpop: update accounting

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja: fix 8-bit overflow in 1d/2d distribution sum
Mathieu Desnoyers [Thu, 6 Jun 2013 16:43:59 +0000 (12:43 -0400)] 
rcuja: fix 8-bit overflow in 1d/2d distribution sum

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja: testpop update for 2d distribution
Mathieu Desnoyers [Thu, 6 Jun 2013 16:30:39 +0000 (12:30 -0400)] 
rcuja: testpop update for 2d distribution

Update testpop population test program according to 2d distribution
calculation updates in rcuja.c.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja: 2d distribution sum improvement
Mathieu Desnoyers [Thu, 6 Jun 2013 15:59:16 +0000 (11:59 -0400)] 
rcuja: 2d distribution sum improvement

Perform inner loop in 2 checks instead of 4.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja: implement ja_node_ptr fast path
Mathieu Desnoyers [Wed, 5 Jun 2013 21:43:49 +0000 (17:43 -0400)] 
rcuja: implement ja_node_ptr fast path

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja API: remove dependency on hlist
Mathieu Desnoyers [Wed, 5 Jun 2013 20:48:30 +0000 (16:48 -0400)] 
rcuja API: remove dependency on hlist

- introduce cds_ja_for_each_duplicate_rcu()

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorculist: identify stores to shared pointers
Mathieu Desnoyers [Wed, 5 Jun 2013 19:24:00 +0000 (15:24 -0400)] 
rculist: identify stores to shared pointers

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja: API change: move rcu_head to user code
Mathieu Desnoyers [Wed, 5 Jun 2013 15:00:28 +0000 (11:00 -0400)] 
rcuja: API change: move rcu_head to user code

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoqsbr example: add missing return 0
Mathieu Desnoyers [Mon, 3 Jun 2013 20:25:47 +0000 (16:25 -0400)] 
qsbr example: add missing return 0

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoAdd Wall to qsbr examples makefile
Mathieu Desnoyers [Mon, 3 Jun 2013 20:25:35 +0000 (16:25 -0400)] 
Add Wall to qsbr examples makefile

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoAdd QSBR minimal example
Mathieu Desnoyers [Mon, 3 Jun 2013 20:18:34 +0000 (16:18 -0400)] 
Add QSBR minimal example

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja: document attach role in no dead-end guarantees
Mathieu Desnoyers [Mon, 3 Jun 2013 13:53:40 +0000 (09:53 -0400)] 
rcuja: document attach role in no dead-end guarantees

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja: lookup lower equal cannot reach dead-end
Mathieu Desnoyers [Mon, 3 Jun 2013 06:48:29 +0000 (02:48 -0400)] 
rcuja: lookup lower equal cannot reach dead-end

Thanks to the guarantees provided by ja_detach_node(), lookups can
_never_ see a branch that would lead to a dead-end. Therefore, lookup
lower/equal never needs to retry, and we thus have a bounded number of
operations for cds_ja_lookup_lower_equal().

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja: lower equal: handle concurrent removal with retry
Mathieu Desnoyers [Mon, 3 Jun 2013 05:42:45 +0000 (01:42 -0400)] 
rcuja: lower equal: handle concurrent removal with retry

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja: remove unneeded endian.h
Mathieu Desnoyers [Mon, 3 Jun 2013 05:09:55 +0000 (01:09 -0400)] 
rcuja: remove unneeded endian.h

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja: remove unneeded bitfield.h
Mathieu Desnoyers [Mon, 3 Jun 2013 05:07:12 +0000 (01:07 -0400)] 
rcuja: remove unneeded bitfield.h

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja tests: test lookup lower equal for 8-bit and 16-bit judy arrays
Mathieu Desnoyers [Mon, 3 Jun 2013 04:42:59 +0000 (00:42 -0400)] 
rcuja tests: test lookup lower equal for 8-bit and 16-bit judy arrays

Sanity tests.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja: implement lookup_lower_equal
Mathieu Desnoyers [Mon, 3 Jun 2013 04:42:44 +0000 (00:42 -0400)] 
rcuja: implement lookup_lower_equal

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja tests: fix sanity test printout
Mathieu Desnoyers [Mon, 3 Jun 2013 04:40:07 +0000 (00:40 -0400)] 
rcuja tests: fix sanity test printout

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja test: add specific free_node()
Mathieu Desnoyers [Fri, 31 May 2013 17:50:33 +0000 (13:50 -0400)] 
rcuja test: add specific free_node()

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja test: cleanup
Mathieu Desnoyers [Fri, 31 May 2013 17:48:04 +0000 (13:48 -0400)] 
rcuja test: cleanup

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja.sh: add node leak detection
Mathieu Desnoyers [Fri, 31 May 2013 17:26:00 +0000 (13:26 -0400)] 
rcuja.sh: add node leak detection

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja tests: node leak detection
Mathieu Desnoyers [Fri, 31 May 2013 17:23:49 +0000 (13:23 -0400)] 
rcuja tests: node leak detection

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoexpand runja.sh
Mathieu Desnoyers [Fri, 31 May 2013 17:09:46 +0000 (13:09 -0400)] 
expand runja.sh

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoja tests: add printout
Mathieu Desnoyers [Fri, 31 May 2013 17:09:33 +0000 (13:09 -0400)] 
ja tests: add printout

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja tests: add vs add unique
Mathieu Desnoyers [Fri, 31 May 2013 16:42:40 +0000 (12:42 -0400)] 
rcuja tests: add vs add unique

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorunja.sh: run sanity tests
Mathieu Desnoyers [Fri, 31 May 2013 16:31:49 +0000 (12:31 -0400)] 
runja.sh: run sanity tests

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja: return errors on destroy
Mathieu Desnoyers [Fri, 31 May 2013 16:31:38 +0000 (12:31 -0400)] 
rcuja: return errors on destroy

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja tests: return errors
Mathieu Desnoyers [Fri, 31 May 2013 16:31:25 +0000 (12:31 -0400)] 
rcuja tests: return errors

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja: add runja.sh
Mathieu Desnoyers [Fri, 31 May 2013 16:20:12 +0000 (12:20 -0400)] 
rcuja: add runja.sh

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja: cleanup destroy print output
Mathieu Desnoyers [Fri, 31 May 2013 16:10:27 +0000 (12:10 -0400)] 
rcuja: cleanup destroy print output

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja: move debugging info into judy array structure
Mathieu Desnoyers [Fri, 31 May 2013 16:00:43 +0000 (12:00 -0400)] 
rcuja: move debugging info into judy array structure

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja: use rcu_barrier in destroy
Mathieu Desnoyers [Fri, 31 May 2013 15:45:15 +0000 (11:45 -0400)] 
rcuja: use rcu_barrier in destroy

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoImplement rcu_barrier()
Mathieu Desnoyers [Fri, 31 May 2013 15:32:16 +0000 (11:32 -0400)] 
Implement rcu_barrier()

Awaits for all in-flight call_rcu handlers to complete execution before
returning.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja: tweak pigeon min child for 32-bit
Mathieu Desnoyers [Fri, 31 May 2013 02:51:22 +0000 (22:51 -0400)] 
rcuja: tweak pigeon min child for 32-bit

value 89 was causing 2% fallback node with random population. value 83
triggers only 0.01% fallback nodes.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja: tweak pigeon min child for 64-bit
Mathieu Desnoyers [Fri, 31 May 2013 02:27:13 +0000 (22:27 -0400)] 
rcuja: tweak pigeon min child for 64-bit

value 101 was causing 2% fallback node with random population. value 95
triggers only 0.01% fallback nodes.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja testing: add arbitrary wait
Mathieu Desnoyers [Fri, 31 May 2013 02:14:51 +0000 (22:14 -0400)] 
rcuja testing: add arbitrary wait

For testing purposes, wait for free to be performed.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja fix: perform lookup in attach node
Mathieu Desnoyers [Fri, 31 May 2013 02:10:38 +0000 (22:10 -0400)] 
rcuja fix: perform lookup in attach node

Handles case where the existing location is not yet reserved. Therefore,
a pointer check cannot be used to check if it has been concurrently
populated. A full-blown lookup is therefore required.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja: implement add unique
Mathieu Desnoyers [Thu, 30 May 2013 20:34:59 +0000 (16:34 -0400)] 
rcuja: implement add unique

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja: fixes and add redesign of "add"
Mathieu Desnoyers [Thu, 30 May 2013 20:06:23 +0000 (16:06 -0400)] 
rcuja: fixes and add redesign of "add"

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja test: destroy should be done online
Mathieu Desnoyers [Thu, 30 May 2013 20:05:51 +0000 (16:05 -0400)] 
rcuja test: destroy should be done online

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja: print info about allocated/freed/fallback nodes
Mathieu Desnoyers [Thu, 30 May 2013 11:08:35 +0000 (07:08 -0400)] 
rcuja: print info about allocated/freed/fallback nodes

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja fix: fix 2d distance calculation
Mathieu Desnoyers [Thu, 30 May 2013 10:57:43 +0000 (06:57 -0400)] 
rcuja fix: fix 2d distance calculation

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja fix: update 2d distance calculation
Mathieu Desnoyers [Thu, 30 May 2013 02:41:26 +0000 (22:41 -0400)] 
rcuja fix: update 2d distance calculation

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja: add same can use same fallback as add next
Mathieu Desnoyers [Thu, 30 May 2013 02:06:45 +0000 (22:06 -0400)] 
rcuja: add same can use same fallback as add next

Still need to figure out why this fallback is reached in add same.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja: implement 2d distribution
Mathieu Desnoyers [Thu, 30 May 2013 01:54:09 +0000 (21:54 -0400)] 
rcuja: implement 2d distribution

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja 1d distribution: cleanup
Mathieu Desnoyers [Wed, 29 May 2013 19:48:16 +0000 (15:48 -0400)] 
rcuja 1d distribution: cleanup

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja: implement 1 dimension pool distribution
Mathieu Desnoyers [Tue, 28 May 2013 13:29:00 +0000 (09:29 -0400)] 
rcuja: implement 1 dimension pool distribution

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoFix rcuja: fallback when adding element to full pool
Mathieu Desnoyers [Tue, 28 May 2013 03:58:39 +0000 (23:58 -0400)] 
Fix rcuja: fallback when adding element to full pool

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja test: fix -k option
Mathieu Desnoyers [Tue, 28 May 2013 03:49:11 +0000 (23:49 -0400)] 
rcuja test: fix -k option

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja: Add missing header
Mathieu Desnoyers [Mon, 27 May 2013 18:59:01 +0000 (14:59 -0400)] 
rcuja: Add missing header

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja test: print mul fact
Mathieu Desnoyers [Mon, 27 May 2013 18:53:00 +0000 (14:53 -0400)] 
rcuja test: print mul fact

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja test: add key multiplication factor
Mathieu Desnoyers [Mon, 27 May 2013 18:48:23 +0000 (14:48 -0400)] 
rcuja test: add key multiplication factor

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agotest rcuja: add ratio parameter
Mathieu Desnoyers [Mon, 27 May 2013 17:39:25 +0000 (13:39 -0400)] 
test rcuja: add ratio parameter

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja fix: list prev pointer vs recompaction
Mathieu Desnoyers [Mon, 27 May 2013 17:13:55 +0000 (13:13 -0400)] 
rcuja fix: list prev pointer vs recompaction

We should update the list prev pointer (for the first node) when a
recompaction changes the address of the list head. Currently a
work-around.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoFix rcuja: concurrency checks
Mathieu Desnoyers [Mon, 27 May 2013 17:12:44 +0000 (13:12 -0400)] 
Fix rcuja: concurrency checks

add/delete need to re-check that RCU lookups are still valid after
taking node locks.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja test: use poison_free
Mathieu Desnoyers [Mon, 27 May 2013 17:10:08 +0000 (13:10 -0400)] 
rcuja test: use poison_free

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja test: add missing rcu read unlock
Mathieu Desnoyers [Mon, 27 May 2013 17:09:38 +0000 (13:09 -0400)] 
rcuja test: add missing rcu read unlock

No impact for now, since we use QSBR.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja fix: handle add/removal/add concurrency
Mathieu Desnoyers [Thu, 23 May 2013 21:02:14 +0000 (17:02 -0400)] 
rcuja fix: handle add/removal/add concurrency

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja fix: del wrt concurrency
Mathieu Desnoyers [Thu, 23 May 2013 15:16:13 +0000 (11:16 -0400)] 
rcuja fix: del wrt concurrency

testing with:
test_urcu_ja 0 3 10 -v -M 1 -N 1 -O 1

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoFix urcu test: incorrect handling of del/free
Mathieu Desnoyers [Thu, 23 May 2013 15:15:49 +0000 (11:15 -0400)] 
Fix urcu test: incorrect handling of del/free

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agohlist: remove needless "member" parameter
Mathieu Desnoyers [Thu, 23 May 2013 14:33:39 +0000 (10:33 -0400)] 
hlist: remove needless "member" parameter

cds_hlist_for_each_rcu and cds_hlist_first_rcu don't need to "member"
parameter at all.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoFix rcuja: chain/unchain locking vs retry
Mathieu Desnoyers [Thu, 23 May 2013 13:54:24 +0000 (09:54 -0400)] 
Fix rcuja: chain/unchain locking vs retry

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoFix rcuja: delete last node
Mathieu Desnoyers [Thu, 23 May 2013 00:46:47 +0000 (20:46 -0400)] 
Fix rcuja: delete last node

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja fix: get the right node
Mathieu Desnoyers [Sat, 18 May 2013 17:19:09 +0000 (19:19 +0200)] 
rcuja fix: get the right node

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoFix rcuja: handle concurrent updates
Mathieu Desnoyers [Sat, 18 May 2013 15:18:52 +0000 (17:18 +0200)] 
Fix rcuja: handle concurrent updates

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja: Add debug output
Mathieu Desnoyers [Sat, 18 May 2013 15:18:31 +0000 (17:18 +0200)] 
rcuja: Add debug output

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja test: add rcu_ prefix to debug_yield_read
Mathieu Desnoyers [Tue, 14 May 2013 15:03:31 +0000 (17:03 +0200)] 
rcuja test: add rcu_ prefix to debug_yield_read

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja: allow non-power of 2 keys
Mathieu Desnoyers [Wed, 29 Aug 2012 05:17:15 +0000 (22:17 -0700)] 
rcuja: allow non-power of 2 keys

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja: add multithread test
Mathieu Desnoyers [Wed, 29 Aug 2012 05:13:24 +0000 (22:13 -0700)] 
rcuja: add multithread test

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoFix: rcuja: typo
Mathieu Desnoyers [Wed, 29 Aug 2012 05:12:56 +0000 (22:12 -0700)] 
Fix: rcuja: typo

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja: test duplicate node/key support
Mathieu Desnoyers [Sun, 26 Aug 2012 00:57:59 +0000 (20:57 -0400)] 
rcuja: test duplicate node/key support

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja: fix duplicate node/key support
Mathieu Desnoyers [Sun, 26 Aug 2012 00:57:43 +0000 (20:57 -0400)] 
rcuja: fix duplicate node/key support

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agohlist: implement non-entry API
Mathieu Desnoyers [Sun, 26 Aug 2012 00:57:24 +0000 (20:57 -0400)] 
hlist: implement non-entry API

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja: fix delete
Mathieu Desnoyers [Sun, 26 Aug 2012 00:12:00 +0000 (20:12 -0400)] 
rcuja: fix delete

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja: free all leaf nodes at destruction
Mathieu Desnoyers [Fri, 24 Aug 2012 21:30:02 +0000 (17:30 -0400)] 
rcuja: free all leaf nodes at destruction

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agohlist: implement cds_hlist_first_entry_rcu
Mathieu Desnoyers [Fri, 24 Aug 2012 21:29:52 +0000 (17:29 -0400)] 
hlist: implement cds_hlist_first_entry_rcu

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja: implement delete function
Mathieu Desnoyers [Fri, 24 Aug 2012 17:22:13 +0000 (13:22 -0400)] 
rcuja: implement delete function

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agohlist: implement cds_hlist_empty
Mathieu Desnoyers [Fri, 24 Aug 2012 17:21:49 +0000 (13:21 -0400)] 
hlist: implement cds_hlist_empty

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja: partial implementation of cds_ja_del
Mathieu Desnoyers [Thu, 23 Aug 2012 19:31:06 +0000 (15:31 -0400)] 
rcuja: partial implementation of cds_ja_del

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja: implement ja_node_clear_nth
Mathieu Desnoyers [Wed, 22 Aug 2012 16:58:17 +0000 (12:58 -0400)] 
rcuja: implement ja_node_clear_nth

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja: extend tests, more fixes
Mathieu Desnoyers [Tue, 21 Aug 2012 21:38:27 +0000 (17:38 -0400)] 
rcuja: extend tests, more fixes

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja: fix max depth test
Mathieu Desnoyers [Tue, 21 Aug 2012 14:42:38 +0000 (10:42 -0400)] 
rcuja: fix max depth test

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja: swap key
Mathieu Desnoyers [Tue, 21 Aug 2012 14:40:44 +0000 (10:40 -0400)] 
rcuja: swap key

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorcuja: add fallback nodes
Mathieu Desnoyers [Tue, 21 Aug 2012 13:08:46 +0000 (09:08 -0400)] 
rcuja: add fallback nodes

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
This page took 0.039038 seconds and 4 git commands to generate.