• Nick Piggin's avatar
    [PATCH] mm: tune the page allocator thresholds · c07161d8
    Nick Piggin authored
    without patch:
          pages_min   pages_low   pages_high
    dma        4          8          12
    normal   234        468         702
    high     128        256         384
    
    with patch:
          pages_min   pages_low   pages_high
    dma       17         21          25
    normal   939       1173        1408
    high     128        160         192
    
    without patch:
                                 | GFP_KERNEL        | GFP_ATOMIC
    allocate immediately         |   9 dma, 469 norm |  9 dma, 469 norm
    allocate after waking kswapd |   5 dma, 234 norm |  3 dma,  88 norm
    allocate after synch reclaim |   5 dma, 234 norm |  n/a
    
    with patch:
                                 | GFP_KERNEL         | GFP_ATOMIC
    allocate immediately         |  22 dma, 1174 norm | 22 dma, 1174 norm
    allocate after waking kswapd |  18 dma,  940 norm |  6 dma,  440 norm
    allocate after synch reclaim |  18 dma,  940 norm |  n/a
    
    So the buffer between GFP_KERNEL and GFP_ATOMIC allocations is:
    
    2.6.8      | 465 dma, 117 norm, 582 tot = 2328K
    2.6.10-rc  |   2 dma, 146 norm, 148 tot =  592K
    patch      |  12 dma, 500 norm, 512 tot = 2048K
    
    Which is getting pretty good.
    
    kswap starts at:
    2.6.8     477 dma, 496 norm, 973 total
    2.6.10-rc   8 dma, 468 norm, 476 total
    patched    17 dma, 939 norm, 956 total
    
    So in terms of total pages, that's looking similar to 2.6.8.
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    c07161d8
page_alloc.c 51.4 KB