• Andrew Morton's avatar
    [PATCH] separation of direct-reclaim and kswapd functions · bf3f607a
    Andrew Morton authored
    There is some lack of clarity in what kswapd does and what
    direct-reclaim tasks do; try_to_free_pages() tries to service both
    functions, and they are different.
    
    - kswapd's role is to keep all zones on its node at
    
    	zone->free_pages >= zone->pages_high.
    
      and to never stop as long as any zones do not meet that condition.
    
    - A direct reclaimer's role is to try to free some pages from the
      zones which are suitable for this particular allocation request, and
      to return when that has been achieved, or when all the relevant zones
      are at
    
    	zone->free_pages >= zone->pages_high.
    
    The patch explicitly separates these two code paths; kswapd does not
    run try_to_free_pages() any more.  kswapd should not be aware of zone
    fallbacks.
    bf3f607a
page_alloc.c 27.1 KB