[lkml]   [2001]   [May]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [PATCH] VM fixes against 2.4.4-ac6

    On Fri, 11 May 2001, Marcelo Tosatti wrote:

    > Hi,
    > The following patch addresses two issues:
    > - Buffer cache pages in the inactive lists are not getting their age
    > increased if they get touched by getblk (which will set the referenced bit
    > on the page). page_launder() simply cleans the referenced bit on such
    > pages and moves them to the active list. To resume: buffercache pages
    > suffer more pressure from VM than pagecache pages. That is horrible for
    > performance.
    > - When there is no memory available on the system for normal allocations
    > (GFP_KERNEL), the tasks may loop in try_to_free_pages() (which is here
    > called by __alloc_pages()) without blocking:
    > - GFP_BUFFER allocations will _never_ block on IO inside
    > try_to_free_pages(). They will keep looping inside __alloc_pages()
    > until they get a free page.
    > - __GFP_IO|__GFP_WAIT allocations may not find any way to block on
    > IO inside try_to_free_pages() in case we already have other tasks
    > inside there (kswapd will be there in such condition, for sure).

    Ah, one subtle issue here: if they loop, they'll probably bump
    memory_pressure a lot.

    That will result in a bigger inactive target, which means aggressive

    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 12:52    [W:0.021 / U:20.880 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site