Re: [PATCH 2.6.13] lockless pagecache 5/7

Christoph Lameter
2005-09-09T05:36:33Z

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.