[Sheepdog] [PACH, RFC] sheep: use atomic for the vnode_info refcount outside the main thread

Christoph Hellwig hch at infradead.org
Tue May 8 10:05:20 CEST 2012


On Tue, May 08, 2012 at 04:03:01PM +0800, Liu Yuan wrote:
> On 05/08/2012 03:51 PM, Christoph Hellwig wrote:
> 
> > As said I'd love to take atomic from somewhere else.  I also thing using
> > RCU in an architecture like the sheep daemon is a bad idea, please
> > explain the use case for your queue, and why you think RCU is a good
> > fit.
> 
> 
> Fuse support async reads by using threads to send requests from read(),
> so sheepfs which export sheepfs volume as a file make use of this
> feature too and thus will get a high concurrent read requests in
> sheepfs_read() for volume. Every read() need a socket fd to transport
> data between the file and the sheep storage. I am planing to implement a
> socket pool to accelerate this process. So I want to implement this
> socket pool no top of a lock-free data structure.

That would be in a different daemon from "sheep", right? (Sorry, didn't
have time to read through The sheepfs patches yet).

Using RCU in a different daemon architecture is completely fine for me.
Using the urcu lib atomic in the sheep daemon if is also very welcome by
me if it doesn't drag the actual rcu implementation in.



More information about the sheepdog mailing list