Re: the new VMt

From: yodaiken@fsmlabs.com
Date: Mon Sep 25 2000 - 11:52:47 EST


On Mon, Sep 25, 2000 at 04:42:49PM +0100, Stephen C. Tweedie wrote:
> Hi,
>
> On Mon, Sep 25, 2000 at 04:16:56PM +0100, Alan Cox wrote:
> >
> > Unless Im missing something here think about this case
> >
> > 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.
> Progress is made, clean pages are discarded and dirty ones queued for
> write, memory becomes free again and the world is a better place.
>
> Or so goes the theory, at least.

from fs/select.c

   walk = out;
        while(nfds > 0) {
                poll_table *tmp = (poll_table *) __get_free_page(GFP_KERNEL);
                if (!tmp) {
                        while(out != NULL) {
                                tmp = out->next;
                                free_page((unsigned long)out);
                                out = tmp;
                        }
                        return NULL;
                }
                tmp->nr = 0;
                tmp->entry = (struct poll_table_entry *)(tmp + 1);
                tmp->next = NULL;
                walk->next = tmp;
                walk = tmp;
                nfds -=__MAX_POLL_TABLE_ENTRIES;
        }

>
> --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/

-- 
---------------------------------------------------------
Victor Yodaiken 
Finite State Machine Labs: The RTLinux Company.
 www.fsmlabs.com  www.rtlinux.com

- 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