lkml.org 
[lkml]   [2010]   [Dec]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    SubjectRe: [PATCH 6/6] mm: kswapd: Use the classzone idx that kswapd was using for sleeping_prematurely()
    From
    On Thu, Dec 9, 2010 at 8:18 PM, Mel Gorman <mel@csn.ul.ie> wrote:
    > When kswapd is woken up for a high-order allocation, it takes account of
    > the highest usable zone by the caller (the classzone idx). During
    > allocation, this index is used to select the lowmem_reserve[] that
    > should be applied to the watermark calculation in zone_watermark_ok().
    >
    > When balancing a node, kswapd considers the highest unbalanced zone to be the
    > classzone index. This will always be at least be the callers classzone_idx
    > and can be higher. However, sleeping_prematurely() always considers the
    > lowest zone (e.g. ZONE_DMA) to be the classzone index. This means that
    > sleeping_prematurely() can consider a zone to be balanced that is unusable
    > by the allocation request that originally woke kswapd. This patch changes
    > sleeping_prematurely() to use a classzone_idx matching the value it used
    > in balance_pgdat().
    >
    > Signed-off-by: Mel Gorman <mel@csn.ul.ie>
    Reviewed-by: Minchan Kim <minchan.kim@gmail.com>

    Nice catch! and it does make sense to me.

    --
    Kind regards,
    Minchan Kim


    \
     
     \ /
      Last update: 2010-12-10 03:41    [W:3.187 / U:0.272 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site