linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/03] Unmapped: Separate unmapped and mapped pages
@ 2006-03-10  3:44 Magnus Damm
  2006-03-10  3:44 ` [PATCH 01/03] Unmapped: Implement two LRU:s Magnus Damm
                   ` (6 more replies)
  0 siblings, 7 replies; 25+ messages in thread
From: Magnus Damm @ 2006-03-10  3:44 UTC (permalink / raw)
  To: Linux Kernel, linux-mm; +Cc: Magnus Damm

Unmapped patches - Use two LRU:s per zone.

These patches break out the per-zone LRU into two separate LRU:s - one for
mapped pages and one for unmapped pages. The patches also introduce guarantee 
support, which allows the user to set how many percent of all pages per node
that should be kept in memory for mapped or unmapped pages. This guarantee 
makes it possible to adjust the VM behaviour depending on the workload.

Reasons behind the LRU separation:

- Avoid unnecessary page scanning.
  The current VM implementation rotates mapped pages on the active list
  until the number of mapped pages are high enough to start unmap and page out.
  By using two LRU:s we can avoid this scanning and shrink/rotate unmapped 
  pages only, not touching mapped pages until the threshold is reached.

- Make it possible to adjust the VM behaviour.
  In some cases the user might want to guarantee that a certain amount of 
  pages should be kept in memory, overriding the standard behaviour. Separating
  pages into mapped and unmapped LRU:s allows guarantee with low overhead.

I've performed many tests on a Dual PIII machine while varying the amount of
RAM available. Kernel compiles on a 64MB configuration gets a small speedup, 
but the impact on other configurations and workloads seems to be unaffected.

Apply on top of 2.6.16-rc5.

Comments?

/ magnus

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

^ permalink raw reply	[flat|nested] 25+ messages in thread

end of thread, other threads:[~2006-03-15 15:32 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-03-10  3:44 [PATCH 00/03] Unmapped: Separate unmapped and mapped pages Magnus Damm
2006-03-10  3:44 ` [PATCH 01/03] Unmapped: Implement two LRU:s Magnus Damm
2006-03-10 19:16   ` Christoph Lameter
2006-03-11 12:14     ` Magnus Damm
2006-03-10  3:44 ` [PATCH 02/03] Unmapped: Modify LRU behaviour Magnus Damm
2006-03-10  3:44 ` [PATCH 03/03] Unmapped: Add guarantee code Magnus Damm
2006-03-10  4:57   ` Nick Piggin
2006-03-10  6:04     ` Magnus Damm
2006-03-10 15:41       ` Chandra Seetharaman
2006-03-11 12:29         ` Magnus Damm
2006-03-15 15:32           ` Chandra Seetharaman
2006-03-10  4:55 ` [PATCH 00/03] Unmapped: Separate unmapped and mapped pages Nick Piggin
2006-03-10  5:55   ` Magnus Damm
2006-03-10  7:52 ` Arjan van de Ven
2006-03-10 13:19   ` Magnus Damm
2006-03-10 14:05     ` Arjan van de Ven
2006-03-11 11:52       ` Magnus Damm
2006-03-11 20:58     ` Peter Zijlstra
2006-03-13  2:28       ` Magnus Damm
2006-03-10 12:22 ` Peter Zijlstra
2006-03-10 13:38   ` Magnus Damm
2006-03-11 21:08     ` Peter Zijlstra
2006-03-13  3:05       ` Magnus Damm
2006-03-10 19:12 ` Christoph Lameter
2006-03-11 11:56   ` Magnus Damm

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox