Improved Linux File System Hashing
Skip to main content
eScholarship
Open Access Publications from the University of California

Improved Linux File System Hashing

Abstract

The Linux kernel utilizes caches to speed up accesses to the high-usage objects that are normally stored on disks, such as data cache pages for files, inodes, and directory entries. These cache data types are implemented using separate chaining. In our experience, we found that some of the hash functions used in th circa 2000 Linux kernel can results, for certain access patterns, in very skewed data distributions over the chains. Better hash functions are desirable. In this paper, we analyze the data distribution and run-time efficiencies of a set of hash function for Linux inode and directory caches. Our analysis utilizes data traces from both an industry standard benchmark and two real world computing environments. Although some of the results were anticipated by Lever, who has carried out a similar study, we show that his results can be further improved.

Pre-2018 CSE ID: CS2001-0680

Main Content
For improved accessibility of PDF content, download the file to your device.
Current View