SWIOTLB allocates unneeded 64 MB buffer in guests

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi, kvm land,

The Linux SWIOTLB runs by default in our guest images (and likely all
Linux guests in any cloud), even though SWIOTLB will never actually be
used.  By default, the SWIOTLB allocates a 64 MB bounce buffer in
contiguous low memory that is never used, so that RAM is wasted.  I'd
like to gather opinions on how to tell guests not to bother wasting
that RAM.


Possible solutions that we've discussed internally:
 - We could have an explicit detection that the guest can use to
decide to not allocate the SWIOTLB.
    - The easiest is a hypervisor leaf CPUID bit.
    - However, ACPI is arguably a more appropriate place for this kind
of platform information.  ACPI is a bit more involved to implement in
guest and BIOS; is it worth the trouble?
 - Let the guest infer that no SWIOTLB is needed, perhaps by detecting
the absence of ACPI hotplug slots, and (at late boot) all known PCIe
devices have DMA masks capable of addressing all of RAM.

The timing is nice; we'll see if there's interest in holding a short
BoF at this week's KVM forum.

Thanks,
Ben
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux