[lkml]   [2002]   [Mar]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: 2.4.19pre1aa1
    On Tue, 5 Mar 2002, Andrea Arcangeli wrote:

    > > Suppose that (1) we are low on memory in ZONE_NORMAL and
    > > (2) we have enough free memory in ZONE_HIGHMEM and (3) the
    > > memory in ZONE_NORMAL is for a large part taken by buffer
    > > heads belonging to pages in ZONE_HIGHMEM.
    > >
    > > In that case, none of the VMs will bother freeing the buffer
    > > heads associated with the highmem pages and kswapd will have
    > wrong, classzone will do that, both for NORMAL and HIGHMEM allocations.

    Let me explain it to you again:

    1) ZONE_NORMAL + ZONE_DMA is low on free memory

    2) the memory is taken by buffer heads, these
    buffer heads belong to pagecache pages that
    live in highmem

    3) the highmem zone has enough free memory

    As you probably know, shrink_caches() has the following line
    of code to make sure it won't try to free highmem pages:

    if (!memclass(page->zone, classzone))

    Of course, this line of code also means it will not take
    away the buffer heads from highmem pages, so the ZONE_NORMAL
    and ZONE_DMA memory USED BY THE BUFFER HEADS will not be


    Will hack the VM for food.

    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    More majordomo info at
    Please read the FAQ at

     \ /
      Last update: 2005-03-22 13:24    [W:0.024 / U:10.004 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site