• David Hildenbrand's avatar
    virtio-mem: Big Block Mode (BBM) - basic memory hotunplug · 269ac938
    David Hildenbrand authored
    Let's try to unplug completely offline big blocks first. Then, (if
    enabled via unplug_offline) try to offline and remove whole big blocks.
    
    No locking necessary - we can deal with concurrent onlining/offlining
    just fine.
    
    Note1: This is sub-optimal and might be dangerous in some environments: we
    could end up in an infinite loop when offlining (e.g., long-term pinnings),
    similar as with DIMMs. We'll introduce safe memory hotunplug via
    fake-offlining next, and use this basic mode only when explicitly enabled.
    
    Note2: Without ZONE_MOVABLE, memory unplug will be extremely unreliable
    with bigger block sizes.
    
    Cc: "Michael S. Tsirkin" <mst@redhat.com>
    Cc: Jason Wang <jasowang@redhat.com>
    Cc: Pankaj Gupta <pankaj.gupta.linux@gmail.com>
    Cc: Michal Hocko <mhocko@kernel.org>
    Cc: Oscar Salvador <osalvador@suse.de>
    Cc: Wei Yang <richard.weiyang@linux.alibaba.com>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarDavid Hildenbrand <david@redhat.com>
    Link: https://lore.kernel.org/r/20201112133815.13332-29-david@redhat.comSigned-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
    269ac938
virtio_mem.c 70 KB