• David Hildenbrand's avatar
    mm/page_alloc: tweak comments in has_unmovable_pages() · c9c510dc
    David Hildenbrand authored
    Patch series "mm / virtio-mem: support ZONE_MOVABLE", v5.
    
    When introducing virtio-mem, the semantics of ZONE_MOVABLE were rather
    unclear, which is why we special-cased ZONE_MOVABLE such that partially
    plugged blocks would never end up in ZONE_MOVABLE.
    
    Now that the semantics are much clearer (and are documented in patch #6),
    let's support partially plugged memory blocks in ZONE_MOVABLE, allowing
    partially plugged memory blocks to be online to ZONE_MOVABLE and also
    unplugging from such memory blocks.  This avoids surprises when onlining
    of memory blocks suddenly fails, just because they are not completely
    populated by virtio-mem (yet).
    
    This is especially helpful for testing, but also paves the way for
    virtio-mem optimizations, allowing more memory to get reliably unplugged.
    
    Cleanup has_unmovable_pages() and set_migratetype_isolate(), providing
    better documentation of how ZONE_MOVABLE interacts with different kind of
    unmovable pages (memory offlining vs.  alloc_contig_range()).
    
    This patch (of 6):
    
    Let's move the split comment regarding bootmem allocations and memory
    holes, especially in the context of ZONE_MOVABLE, to the PageReserved()
    check.
    Signed-off-by: default avatarDavid Hildenbrand <david@redhat.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Reviewed-by: default avatarBaoquan He <bhe@redhat.com>
    Cc: Michal Hocko <mhocko@suse.com>
    Cc: Michael S. Tsirkin <mst@redhat.com>
    Cc: Mike Kravetz <mike.kravetz@oracle.com>
    Cc: Pankaj Gupta <pankaj.gupta.linux@gmail.com>
    Cc: Jason Wang <jasowang@redhat.com>
    Cc: Mike Rapoport <rppt@kernel.org>
    Cc: Qian Cai <cai@lca.pw>
    Link: http://lkml.kernel.org/r/20200816125333.7434-1-david@redhat.com
    Link: http://lkml.kernel.org/r/20200816125333.7434-2-david@redhat.comSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    c9c510dc
page_alloc.c 243 KB