tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Vnode API change: add global vnode cache

On 07 Apr 2014, at 17:44, Mindaugas Rasiukevicius <> 

> "J. Hannken-Illjes" <> wrote:
>> Currently all file systems have to implement their own cache of
>> vnode / fs node pairs.  Most file systems use a copy and pasted
>> version of ufs_ihash.
>> So add a global vnode cache with lookup and remove:
>> <...>
>> Diff implementing this for file systems sharing ufs_ihash and replacing
>> VFS_VGET()/VOP_UNLOCK() sequences with vcache_lookup() is here:
>> Comments or objections anyone?
> I like this step a lot!
> One concern though: can you benchmark ./ on a machine with 8 or
> more CPUs?  I fear that vcache.lock might be a bit contended and we ought
> to figure out how much.

I don't have such a setup.  Contention should be the same as before as
ufs_ihash did exactly the same.

> If the contention is not significant, it should
> be fine for now.  In the longer term, it should be moved to a different,
> preferably lockless, data structure (something I am working on).  For this,
> the global should be replaced with either per-node cv or perhaps
> just a kpause, so we would be prepared now rather than later.

Let's change things when we need it.  Not a big job as it is no longer
copy'n'pasted code.

J. Hannken-Illjes - - TU Braunschweig 

Home | Main Index | Thread Index | Old Index