[RFC 0/2] Use HighAtomic against long-term fragmentation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Current HighAtomic just to handle the high atomic page alloc.
But I found that use it handle the normal unmovable continuous page
alloc will help to against long-term fragmentation.

Use highatomic as normal page alloc is odd.  But I really got some good
results with our internal test and mmtests.

Do you think it is worth to work on it?

The patches was tested with mmtests stress-highalloc modified to do
GFP_KERNEL order-4 allocations, on 4.14.0-rc1+ 2 cpus Vbox 1G memory.
                                  orig          ch
Minor Faults                  45659477    43315623
Major Faults                       319         371
Swap Ins                             0           0
Swap Outs                            0           0
Allocation stalls                    0           0
DMA allocs                       93518       18345
DMA32 allocs                  42395699    40406865
Normal allocs                        0           0
Movable allocs                       0           0
Direct pages scanned              7056       16232
Kswapd pages scanned            946174      961750
Kswapd pages reclaimed          945077      942821
Direct pages reclaimed            7022       16170
Kswapd efficiency                  99%         98%
Kswapd velocity               1576.352    1567.977
Direct efficiency                  99%         99%
Direct velocity                 11.755      26.464
Percentage direct scans             0%          1%
Zone normal velocity          1588.108    1594.441
Zone dma32 velocity              0.000       0.000
Zone dma velocity                0.000       0.000
Page writes by reclaim           0.000       0.000
Page writes file                     0           0
Page writes anon                     0           0
Page reclaim immediate             405       16429
Sector Reads                   2027848     2109324
Sector Writes                  3386260     3299388
Page rescued immediate               0           0
Slabs scanned                   867805      877005
Direct inode steals                337        2072
Kswapd inode steals              33911       41777
Kswapd skipped wait                  0           0
THP fault alloc                     30          84
THP collapse alloc                 188         244
THP splits                           0           0
THP fault fallback                  67          51
THP collapse fail                    6           4
Compaction stalls                  111          49
Compaction success                  81          35
Compaction failures                 30          14
Page migrate success             57962       43921
Page migrate failure                67         183
Compaction pages isolated       117473       88823
Compaction migrate scanned       75548       50403
Compaction free scanned        1454638      672310
Compaction cost                     62          47
NUMA alloc hit                42129493    40018326
NUMA alloc miss                      0           0
NUMA interleave hit                  0           0
NUMA alloc local              42129493    40018326
NUMA base PTE updates                0           0
NUMA huge PMD updates                0           0
NUMA page range updates              0           0
NUMA hint faults                     0           0
NUMA hint local faults               0           0
NUMA hint local percent            100         100
NUMA pages migrated                  0           0
AutoNUMA cost                       0%          0%

Hui Zhu (2):
Try to use HighAtomic if try to alloc umovable page that order is not 0
Change limit of HighAtomic from 1% to 10%

 page_alloc.c |    8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]
  Powered by Linux