[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