mirror of
https://github.com/cloud-hypervisor/cloud-hypervisor.git
synced 2025-02-22 03:12:27 +00:00
pci: vfio: naturally align bar
According to PCIe specification, a 64-bit MMIO BAR should be naturally aligned. In addition to being more compliant with the specification, natural aligned BARs are mapped with the largest possible page size by the host iommu driver, which should speed up boot time and reduce IOTLB thrashing for virtual machines with VFIO devices. Signed-off-by: Thomas Barrett <tbarrett@crusoeenergy.com> (cherry picked from commit c9f94be7ab996e63400c649f47a7809655be7309)
This commit is contained in:
parent
ed1b415bad
commit
b0dd4e72c5
@ -696,8 +696,11 @@ impl VfioCommon {
|
||||
.allocate(
|
||||
restored_bar_addr,
|
||||
region_size,
|
||||
// SAFETY: FFI call. Trivially safe.
|
||||
Some(unsafe { sysconf(_SC_PAGESIZE) as GuestUsize }),
|
||||
Some(std::cmp::max(
|
||||
// SAFETY: FFI call. Trivially safe.
|
||||
unsafe { sysconf(_SC_PAGESIZE) as GuestUsize },
|
||||
region_size,
|
||||
)),
|
||||
)
|
||||
.ok_or(PciDeviceError::IoAllocationFailed(region_size))?
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user