• Joonsoo Kim's avatar
    mm/thp: don't count ZONE_MOVABLE as the target for freepage reserving · b7d349c7
    Joonsoo Kim authored
    There was a regression report for "mm/cma: manage the memory of the CMA
    area by using the ZONE_MOVABLE" [1] and I think that it is related to
    this problem.  CMA patchset makes the system use one more zone
    (ZONE_MOVABLE) and then increases min_free_kbytes.  It reduces usable
    memory and it could cause regression.
    
    ZONE_MOVABLE only has movable pages so we don't need to keep enough
    freepages to avoid or deal with fragmentation.  So, don't count it.
    
    This changes min_free_kbytes and thus min_watermark greatly if
    ZONE_MOVABLE is used.  It will make the user uses more memory.
    
    System:
      22GB ram, fakenuma, 2 nodes. 5 zones are used.
    
    Before:
      min_free_kbytes: 112640
    
      zone_info (min_watermark):
      Node 0, zone      DMA
              min      19
      Node 0, zone    DMA32
              min      3778
      Node 0, zone   Normal
              min      10191
      Node 0, zone  Movable
              min      0
      Node 0, zone   Device
              min      0
      Node 1, zone      DMA
              min      0
      Node 1, zone    DMA32
              min      0
      Node 1, zone   Normal
              min      14043
      Node 1, zone  Movable
              min      127
      Node 1, zone   Device
              min      0
    
    After:
      min_free_kbytes: 90112
    
      zone_info (min_watermark):
      Node 0, zone      DMA
              min      15
      Node 0, zone    DMA32
              min      3022
      Node 0, zone   Normal
              min      8152
      Node 0, zone  Movable
              min      0
      Node 0, zone   Device
              min      0
      Node 1, zone      DMA
              min      0
      Node 1, zone    DMA32
              min      0
      Node 1, zone   Normal
              min      11234
      Node 1, zone  Movable
              min      102
      Node 1, zone   Device
              min      0
    
    [1] (lkml.kernel.org/r/20180102063528.GG30397%20()%20yexl-desktop)
    
    Link: http://lkml.kernel.org/r/1522913236-15776-1-git-send-email-iamjoonsoo.kim@lge.comSigned-off-by: default avatarJoonsoo Kim <iamjoonsoo.kim@lge.com>
    Cc: Michal Hocko <mhocko@kernel.org>
    Cc: "Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>
    Cc: Mel Gorman <mgorman@suse.de>
    Cc: Vlastimil Babka <vbabka@suse.cz>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    b7d349c7
khugepaged.c 48.9 KB