Recent Filesystem Optimisations in FreeBSD

Ian Dowse <iedowse@freebsd.org>

In this paper we summarise four recent optimisations to the FFS implementation in FreeBSD: soft updates, dirpref, vmiodir and dirhash. We then give a detailed exposition of dirhash’s implementation. Finally we study these optimisations under a variety of benchmarks and look at their interactions. Under micro-benchmarks, combinations of these optimisations can offer improvements of over two orders of magnitude. Even real-world workloads see improvements by a factor of 2-10.