* [RFC] some experimental VM code
@ 2001-06-06 0:31 Marcelo Tosatti
0 siblings, 0 replies; only message in thread
From: Marcelo Tosatti @ 2001-06-06 0:31 UTC (permalink / raw)
To: linux-mm
Hi people,
As you may know, the current behaviour of the kernel when it hits a
low memory condition is to allow each task to:
- Writeout data to free memory
- Unmap pte's/allocate swap space and age down pages
Until the task gets a free page.
I've been saying for sometime now that I think only kswapd should do
the page aging part. If we don't do it this way, heavy VM loads will make
each memory intensive task age down other processes pages, so we see
ourselves in a "unmapping/faulting" storm. Imagine what happens to
interactivity in such a case.
Trying to avoid that bad behaviour, I've experimented some code which
- Makes only kswapd age pages/unmap pte's.
- Tasks doing __GFP_IO allocations (non GFP_BUFFER allocations) wait on
the kswapd waitqueue when they are not able to do any progress trying
to free pages themselves.
- kswapd will not sleep until there is an inactive shortage or a free
shortage.
Plus some other tweaks.
The behaviour is far away from getting nice, but I believe this is a step
on the right direction.
I _really_ would like to receive reports on this patch --- interactivity
under high loads should be quite better with it.
http://bazar.conectiva.com.br/~marcelo/patches/v2.4/2.4.6pre1/2.4.6pre1-vm-mt.patch
--
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/
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2001-06-06 2:06 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-06-06 0:31 [RFC] some experimental VM code Marcelo Tosatti
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox