Skip to content
  • Minchan Kim's avatar
    zram: use __GFP_MOVABLE for memory allocation · 9bc482d3
    Minchan Kim authored
    Zsmalloc is ready for page migration so zram can use __GFP_MOVABLE from
    now on.
    
    I did test to see how it helps to make higher order pages.  Test
    scenario is as follows.
    
    KVM guest, 1G memory, ext4 formated zram block device,
    
      for i in `seq 1 8`;
      do
              dd if=/dev/vda1 of=mnt/test$i.txt bs=128M count=1 &
      done
    
      wait `pidof dd`
    
      for i in `seq 1 2 8`;
      do
              rm -rf mnt/test$i.txt
      done
      fstrim -v mnt
    
      echo "init"
      cat /proc/buddyinfo
    
      echo "compaction"
      echo 1 > /proc/sys/vm/compact_memory
      cat /proc/buddyinfo
    
    old:
    
      init
      Node 0, zone      DMA    208    120     51     41     11      0      0      0      0      0      0
      Node 0, zone    DMA32  16380  13777   9184   3805    789     54      3      0      0      0      0
      compaction
      Node 0, zone      DMA    132     82     40     39     16      2      1      0      0      0      0
      Node 0, zone    DMA32   5219   5526   4969   3455   1831    677    139     15      0      0      0
    
    new:
    
      init
      Node 0, zone      DMA    379    115     97     19      2      0      0      0      0      0      0
      Node 0, zone    DMA32  18891  16774  10862   3947    637     21      0      0      0      0      0
      compaction
      Node 0, zone      DMA    214     66     87     29     10      3      0      0      0      0      0
      Node 0, zone    DMA32   1612   3139   3154   2469   1745    990    384     94      7      0      0
    
    As you can see, compaction made so many high-order pages. Yay!
    
    Link: http://lkml.kernel.org/r/1464736881-24886-13-git-send-email-minchan@kernel.org
    
    
    Signed-off-by: default avatarMinchan Kim <minchan@kernel.org>
    Reviewed-by: default avatarSergey Senozhatsky <sergey.senozhatsky@gmail.com>
    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>
    9bc482d3