Re: the new VMt

From: Stephen C. Tweedie (sct@redhat.com)
Date: Mon Sep 25 2000 - 12:43:38 EST


Hi,

On Mon, Sep 25, 2000 at 05:51:49PM +0100, Alan Cox wrote:
> > > 2 active processes, no swap
> > >
> > > #1 #2
> > > kmalloc 32K kmalloc 16K
> > > OK OK
> > > kmalloc 16K kmalloc 32K
> > > block block
> > >
> >
> > ... and we get two wakeup_kswapd()s. kswapd has PF_MEMALLOC and so is
> > able to eat memory which processes #1 and #2 are not allowed to touch.
>
> 'no swap'

kswapd is perfectly capable of evicting clean pages and triggering any
necessary writeback of dirty filesystem data at this point, even if
there is no swap. If there is truly nothing kswapd can do to recover
here, then we are truly OOM. Otherwise, kswapd should be able to free
the required memory, providing that the PF_MEMALLOC flag allows it to
eat into a reserved set of free pages which nobody else can allocate
once physical free pages gets below a certain threshold.

--Stephen
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sat Sep 30 2000 - 21:00:15 EST