tech-kern archive

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

Re: Change vnode free lists to lru lists



In article <1F2C31E0-C86E-4BA7-9CC3-848DF5A5CCDB%eis.cs.tu-bs.de@localhost>,
J. Hannken-Illjes <hannken%eis.cs.tu-bs.de@localhost> wrote:
>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?

LGTM.

christos



Home | Main Index | Thread Index | Old Index