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 #swlhttp://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/
This archive was generated by hypermail 2b29 : Mon Jan 07 2002 - 21:00:17 EST