I wonder if it may not be better to use a seqlock for the tree_lock? A seqlock requires no writes at all if the tree has not been changed. RCU still requires the incrementing of a (local) counter.
Using seqlocks would require reworking the readers so that they can retry. Seqlocks provide already a verification that no update took place while the operation was in process. Thus we would be using an established framework that insures that the speculation was successful. The problem is then though to guarantee that the radix trees are always traversable since the seqlock's retry rather than block. This would require sequencing of inserts and pose a big problem for deletes and updates. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/