![]() | |||||||||||||
Messages in this thread |
On Wed, 2 Jan 2002 brian@worldcontrol.com wrote: > I tried rmap-10 new VM and under my typical load my desktop machine > froze repeatedly. Seemed the memory pool was going down the drain > before the freeze. Meaning apps were failing and getting stuck in > various odd states. There's a stupid logic inversion bug in rmap-10, which is fixed in rmap-10a. Andrew Morton tracked it down about an hour after I released rmap-10. Basically in wakeup_kswapd() user processes go to sleep if the pressure on the VM is _really_ high *and* the user process has all the same GFP options set as kswapd itself, so the process can sleep on kswapd. if ((gfp_mask & GFP_KSWAPD) == GFP_KSWAPD) return; Thinking about it, rmap-10a doesn't do the right thing, either, releasing patches at 4 am isn't the right thing ;) In vmscan.c, line 707 _should_ be: if ((gfp_mask & GFP_KSWAPD) != GFP_KSWAPD) return; This way tasks which cannot safely sleep on kswapd will return immediately, allowing only tasks which _can_ sleep on kswapd to go for a break. Oh well, time for testing and releasing rmap-11 ;) regards, Rik -- Shortwave goes a long way: irc.starchat.net #swl http://www.surriel.com/ http://distro.conectiva.com/ - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ | ||||||||||||
| Last update: 2005-03-22 12:15 [from the cache] ©2003-2008 | |||||||||||||