Re: [patch 16/52] fs: dcache RCU for multi-step operaitons

From: Peter Zijlstra
Date: Thu Jun 24 2010 - 03:58:19 EST


On Thu, 2010-06-24 at 13:02 +1000, npiggin@xxxxxxx wrote:
> plain text document attachment (fs-dcache_lock-multi-step.patch)
> The remaining usages for dcache_lock is to allow atomic, multi-step read-side
> operations over the directory tree by excluding modifications to the tree.
> Also, to walk in the leaf->root direction in the tree where we don't have
> a natural d_lock ordering.
>
> This could be accomplished by taking every d_lock, but this would mean a
> huge number of locks and actually gets very tricky.
>
> Solve this instead by using the rename seqlock for multi-step read-side
> operations. Insert operations are not serialised. Delete operations are
> tricky when walking up the directory our parent might have been deleted
> when dropping locks so also need to check and retry for that.
>
> XXX: hmm, we could of course just take the rename lock if there is any worry
> about livelock. Most of these are slow paths.


Ah, does this address John's issue?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/