• David Hildenbrand's avatar
    virtio-mem: Big Block Mode (BBM) memory hotplug · 4ba50cd3
    David Hildenbrand authored
    Currently, we do not support device block sizes that exceed the Linux
    memory block size. For example, having a device block size of 1 GiB (e.g.,
    gigantic pages in the hypervisor) won't work with 128 MiB Linux memory
    blocks.
    
    Let's implement Big Block Mode (BBM), whereby we add/remove at least
    one Linux memory block at a time. With a 1 GiB device block size, a Big
    Block (BB) will cover 8 Linux memory blocks.
    
    We'll keep registering the online_page_callback machinery, it will be used
    for safe memory hotunplug in BBM next.
    
    Note: BBM is properly prepared for variable-sized Linux memory
    blocks that we might see in the future. So we won't care how many Linux
    memory blocks a big block actually spans, and how the memory notifier is
    called.
    
    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-26-david@redhat.comSigned-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
    4ba50cd3
virtio_mem.c 65.4 KB