For disk and network input/output operations, Confidential VM uses a specific area in memory called the Software Input Output Translation Lookaside Buffer (SWIOTLB), which has a default size of 64 MB. The SWIOTLB is part of the total available RAM on the guest.
To check if a Confidential VM instance has encountered the swiotlb buffer is full
error, connect to the instance and run the following command to query the
dmesg logs:
dmesg | grep 'swiotlb buffer is full'
To resolve this issue, increase the SWIOTLB size. Before increasing the size, ensure that the guest has enough RAM for the SWIOTLB and the operating system.
Increase the SWIOTLB size
To increase the size of the SWIOTLB, append the following line to
/etc/default/grub:GRUB_CMDLINE_LINUX_DEFAULT=".... swiotlb=SIZE_IN_BYTES"The following example shows how to increase the size of the SWIOTLB to 512 MB:
GRUB_CMDLINE_LINUX_DEFAULT=".... swiotlb=262144"Based on the Ubuntu version, you need to update the string in the
grubfile. For example, if you use Ubuntu 18.04, you need to update theGRUB_CMDLINE_LINUXstring instead of theGRUB_CMDLINE_LINUX_DEFAULTstring.Run the following command to regenerate
grub.cfg:Ubuntu
sudo update-grubOther distros
grubcfg="/etc/grub2-efi.cfg" cp $grubcfg $grubcfg.bak grub2-mkconfig -o $grubcfgReboot the VM.
For more information, see How to increase SWIOTLB limit.