name cache cont.

Igor Shmukler shmukler at mail.ru
Mon Mar 28 17:05:25 PST 2005


Bruce,

Thank you for your reply. If you could email me a tarball, I would appreciate it.
I don't have that much practical experience with FreeBSD name cache. However, I had 
some expeirence with other systems.
I think the big question here do other developers agree that name cache could use 
some work.

Obviously everything here is IMHO. Solaris has a very straightforward scalable 
cache. The FreeBSD cache is not bad, but as far as I understand issues I mentioned 
are a side-effect of design desicions aiming to lower pressure on the cache. 
I would very much be interested to know what Jeff and everyone else thinks about 
this. Is there a desire within the people who have hands-on expereience maintaining 
this part of FreeBSD to change the cache.

I need d_path() like functionality for a specific kernel module. Right now, to get 
away, a secondary cache is implemented by intercepting open(2)/close(2). To minimize 
the amount of memory this cache needs (and keep to code simple) a dedicated kernel 
thread gc'es duplicate names from this cache, i.e. if vn_fullpath() works delete 
name from secondary cache). It's ugly, but it works for now.

I would rather FreeBSD takes care of this for us. I am willing to contribute if 
folks who know VFS well, think it's a worthy cause.

Igor.

> 
> On Mon, Mar 28, 2005 at 05:42:52PM +0400, Igor Shmukler wrote:
> > For my purposes the Linux/DragonFly functionality is needed.
> > 
> > Is there a way to know that once a patch that correctly resolves corner cases 
for 
> > vn_fullpath() (including name cache changes) exists it will be committed to 
the 5.x 
> > branch?
> 
> Hey, I did some of this work quite some time ago. It is still floating
> around in the archives. I'm more than happy for people with more vfs
> knowledge than I to pick it up, review it, and commit it, but I don't
> have free time to do this right now.
> 
> BMS


More information about the freebsd-hackers mailing list