tech-kern archive

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

Change vnode free lists to lru lists



Vnodes are kept on freelists which means every vget() has to remove
them from the list and the last vrele() has to put them back.

Changing the lists to lrulists removes the operation from vget()
and speeds up namei() on cached vnodes by ~3 percent.

Diff is split into three parts for better readability and to help
possible bisection:

1) Remove the redundant argument from vfs_drainvnodes() and merge
   vrele_flush() into vfs_drainvnodes().

2) Rename the freelist members to lrulist members and move them
   to "struct vnode_impl".

3) Actually change the freelists to lrulists, merge vrele_thread()
   into vdrain_thread() and adapt vfs_drainvnodes().

Diffs are here: https://www.netbsd.org/~hannken/lrulist/

Comments or objections anyone?

--
J. Hannken-Illjes - hannken%eis.cs.tu-bs.de@localhost - TU Braunschweig (Germany)



Home | Main Index | Thread Index | Old Index