From: Mathieu Desnoyers Date: Tue, 12 Jul 2011 16:15:06 +0000 (-0400) Subject: rculfhash: document add lock-freedom X-Git-Tag: v0.7.0~43^2~193 X-Git-Url: https://git.liburcu.org/?p=urcu.git;a=commitdiff_plain;h=29e669f6bd2f5201a308c2cd24509e4a74507b6b rculfhash: document add lock-freedom Signed-off-by: Mathieu Desnoyers --- diff --git a/rculfhash.c b/rculfhash.c index 64875f6..15f56ef 100644 --- a/rculfhash.c +++ b/rculfhash.c @@ -77,6 +77,11 @@ * that is does not contain the "removed" node anymore, even if * concurrent delete/add operations are changing the structure of the * list concurrently. + * - The add operation performs gargage collection of buckets if it + * encounters nodes with removed flag set in the bucket where it wants + * to add its new node. This ensures lock-freedom of add operation by + * helping the remover unlink nodes from the list rather than to wait + * for it do to so. * - A RCU "order table" indexed by log2(hash index) is copied and * expanded by the resize operation. This order table allows finding * the "dummy node" tables.