[patch 0/7] lockless pagecache 2

Nick Piggin
2005-08-11T12:18:32Z

This is my second attempt at a lockless pagecache.

Patches are against 2.6.13-rc6, and have had reasonable
stressing (albeit on small SMPs).

Main changes since last seen:
* Code clarity and commenting improvement.

* Fix race where multiple concurrent failed speculative
reference takers could be confused into thinking a free
page wasn't free, due to the elevated refcounts.

* Convert radix tree node freeing over to RCU. I completely
missed this problem in my first attempt. (My first real
RCU attempt - completely wrong?).

* page_cache_get_speculative previously used only preempt_
disable to stop the current CPU from entering the page
allocator. Needs to turn off interrupts too.

Paul picked this bug up without seeing the code, just a
vague description of what I was trying to do. All I
picked up was my jaw from the ground ;)

--
SUSE Labs, Novell Inc.

Send instant messages to your online friends http://au.messenger.yahoo.com