Skip to content

lockless pagecache 2

Nick Piggin lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest7 patches 8 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/7mm: remove PageReserved rolluparch/ppc64/kernel/vdso.c drivers/scsi/sg.c drivers/scsi/st.c +17 more+204 -1190 replies
2/7mm: PG_free flaginclude/linux/page-flags.h mm/page_alloc.c+15 -80 replies
3/7mm: speculative get_pageinclude/linux/page-flags.h include/linux/pagemap.h mm/bootmem.c +3 more+85 -110 replies
4/7radix-tree: lookup_slotinclude/linux/radix-tree.h lib/radix-tree.c+33 -90 replies
5/7radix-tree: lockless readsideinclude/linux/radix-tree.h lib/radix-tree.c+90 -244 replies
6/7mm: lockless pagecacheinclude/linux/page-flags.h include/linux/pagemap.h include/linux/pagevec.h +6 more+112 -524 replies
7/7mm: spinlock tree_lockdrivers/mtd/devices/block2mtd.c fs/buffer.c fs/inode.c +9 more+46 -460 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [patch 0/7] lockless pagecache 2

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 ;)

Signature · 3 lines
SUSE Labs, Novell Inc.

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