Linux 5.11 Adding VirtIO-MEM "Big Block Mode"
The Red Hat led feature work was sent in today as part of Linux 5.11 virtIO updates. This is about overcoming a current limitation that the VirtIO-MEM driver can only support device block sizes up to the size of a single Linux memory block. The Big Block Mode allows for any device block size for any Linux virtual machine even if it's larger than a Linux memory block size of the running system.
Red Hat's David Hildenbrand summed up the VirtIO-MEM Big Block Mode work as:
virtio-mem currently only supports device block sizes that span at most a single Linux memory block. For example, gigantic pages in the hypervisor result on x86-64 in a device block size of 1 GiB - when the Linux memory block size is 128 MiB, we cannot support such devices (we fail loading the driver). Of course, we want to support any device block size in any Linux VM.
Bigger device block sizes will become especially important once supporting VFIO in QEMU - each device block has to be mapped separately, and the maximum number of mappings for VFIO is 64k. So we usually want blocks in the gigabyte range when wanting to grow the VM big.
BBM is now being mainlined for the Linux 5.11 kernel cycle due out around February 2021.