Are you sure RCU is even needed? AFAIK all delayed freeing
on page table level is already handled by the standard free-after-flush
mmu code.
iirc quicklists were just to avoid rezeroing pages which are known to
be zero at free time (in theory __GFP_ZERO should handle that at
page_alloc.c level, but it doesn't) and to get a little private fast path
for the page allocator (might actually predate the current page_alloc
fast paths)
-Andi
--