Skip to content

RFC CART Implementation ver 2

[email protected] linux-mm 1 version New

Get series with b4
b4 am 20050829043132.908007000@twins

Versions newest first

  1. v1 RFC Latest6 patches 0 repliesNew

Changes from the cover letter

- Changed the hash algo. for the nonresident buckets It is worse now, so it has to change again :-(
- Made the nonresident code blank out a paged in cookie.
- Rewrote the cart code (yet again) to work on temp lists much like refill_inactive and co.

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/6CART Implementation ver 2include/linux/swap.h init/main.c mm/Makefile +1 more+293 -10 replies
2/6CART Implementation ver 2fs/proc/proc_misc.c mm/nonresident.c+86 -00 replies
3/6CART Implementation ver 2include/linux/mm_inline.h include/linux/mmzone.h include/linux/page-flags.h +4 more+541 -60 replies
4/6CART Implementation ver 2fs/proc/proc_misc.c mm/cart.c+101 -00 replies
5/6CART Implementation ver 2mm/filemap.c mm/shmem.c mm/swap.c +2 more+8 -650 replies
6/6CART Implementation ver 2fs/exec.c include/linux/swap.h mm/memory.c +3 more+30 -3000 replies

Reviews trailers per patch

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

Read the v1 thread

Cover letter [RFC][patch 0/6] CART Implementation ver 2

Hi All,

Marcelo was ofcourse right, and I needed to do scary stuff to avoid calling page_referenced() while holding zone->lru_lock. Thanks Rik for making my thik head see that :-)

So here is an update of my code.

Changes:
- Changed the hash algo. for the nonresident buckets It is worse now, so it has to change again :-(
- Made the nonresident code blank out a paged in cookie.
- Rewrote the cart code (yet again) to work on temp lists much like refill_inactive and co.

I put all that code in cart.c instead of swap.c to get a clearer distinction on what was general page reclaim logic and what was part of the page cache.

Just before mailing (and ofcourse untested) I changed the calls to cart_rebalance_*() to take nr_dst/2 + 1 as target because I got too much OOMs, no idea if this solved it. When i put nr_scan = sc->swap_cluster_max (in shrink_cache) I go no OOMs, work left there.

Kind regards,

Peter Zijlstra

--
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to [email protected]. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"[email protected]"> [email protected] </a>