[Sheepdog] [PATCH 0/5] stop grabbing vnode_info references outside the main thread

Liu Yuan namei.unix at gmail.com
Wed May 9 15:49:29 CEST 2012


On 05/09/2012 07:10 PM, Christoph Hellwig wrote:

> On Wed, May 09, 2012 at 05:11:53PM +0800, Liu Yuan wrote:
>> > I am still not convinced to run away from RCU-based mechanism or data
>> > structure.
> I hope I have stated clearly enough that I don't want to "run away",
> I just don't think it's a very good fit.  If we have a reall good
> argument for adding it, and have the house in order before adding these
> complexities it's all fine with me.
> 
>> > For the new patch set, it seems that 1) we can't avoid to share vnode
>> > info between main and threads, and 2) get a difficult-to-use API:
>> > grab/get/put 
> It's a very simple refcount API, basically the simples way to manage
> object lifetimes.
> 


I am more fond of binary tuple of get/put, instead of triple tuple API.
With RCU, we could get this finer API back and it's also a very simple
solution.

>> > 3) need to pass vnode_info everywhere and change internal
>> > API a lot.
> It's not all that much of a change.  In fact I'd like to do bigger
> changes eventually to pass proper objects down the cluster OP path
> instead of the current high number of individually passed arguments.
> 


Okay, it's better for us to see the whole picture. Actually, I am most
concerned of extra argument to pass vnode_info everywhere, If we can get
a more reasonable argument structure, I'll calm down about it.

Thanks,
Yuan



More information about the sheepdog mailing list