Registration

Register
Login

Content

Call For Papers
Schedule
Presentations
Tutorials
BOFS

Event Info

Venue
Travel
FAQ
Link Us

Additional Info

Sponsors
Special Events Contact Us
Media
Archives
Home



Concurrent Pagecache

Peter Zijlstra (a.p.zijlstra@chello.nl)

In this paper we present a concurrent pagecache for Linux, which is a continuation of the existing lockless pagecache work (N. Piggin OLS'06).

Currently the pagecache is protected by a reader/writer lock. The lockless pagecache work focusses on removing the reader lock, however, this paper presents a method to break the write side of the lock. Firstly, since the pagecache is centered around the radix tree, it is necessary to alter the radix tree in order to support concurrent modifications of the data structure. Secondly, we adapt the pagecache, by removing all non-radix tree consumers of the lock's protection, and extend the pageflag, introduced by the lockless pagecache, into a second per page lock. Then we can fully utilize the radix tree's new functionality to obtain a concurrent pagecache. Finally, we analyze the improvements in performance and scalability.