Commit a01f3432 authored by Alexey Kardashevskiy's avatar Alexey Kardashevskiy Committed by David Gibson
Browse files

spapr_pci: Warn when RAM page size is not enabled in IOMMU page mask



If a page size used by QEMU is not enabled in the PHB IOMMU page mask,
in-kernel acceleration of TCE handling won't be enabled and performance
might be slower than expected.

This prints a warning if system page size is not enabled. This should
print a warning if huge pages are enabled but sphb.pgsz still uses
the default value of 4K|64K.

Signed-off-by: default avatarAlexey Kardashevskiy <aik@ozlabs.ru>
Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
parent 3dc410ae
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -1771,6 +1771,12 @@ static void spapr_phb_realize(DeviceState *dev, Error **errp)
    }

    /* DMA setup */
    if ((sphb->page_size_mask & qemu_getrampagesize()) == 0) {
        error_report("System page size 0x%lx is not enabled in page_size_mask "
                     "(0x%"PRIx64"). Performance may be slow",
                     qemu_getrampagesize(), sphb->page_size_mask);
    }

    for (i = 0; i < windows_supported; ++i) {
        tcet = spapr_tce_new_table(DEVICE(sphb), sphb->dma_liobn[i]);
        if (!tcet) {