Skip to content
  • Mel Gorman's avatar
    mm: fix page allocation for larger I/O segments · 81eabcbe
    Mel Gorman authored
    
    
    In some cases the IO subsystem is able to merge requests if the pages are
    adjacent in physical memory.  This was achieved in the allocator by having
    expand() return pages in physically contiguous order in situations were a
    large buddy was split.  However, list-based anti-fragmentation changed the
    order pages were returned in to avoid searching in buffered_rmqueue() for a
    page of the appropriate migrate type.
    
    This patch restores behaviour of rmqueue_bulk() preserving the physical
    order of pages returned by the allocator without incurring increased search
    costs for anti-fragmentation.
    
    Signed-off-by: default avatarMel Gorman <mel@csn.ul.ie>
    Cc: James Bottomley <James.Bottomley@steeleye.com>
    Cc: Jens Axboe <jens.axboe@oracle.com>
    Cc: Mark Lord <mlord@pobox.com
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    81eabcbe