On Tue, Mar 28, 2017 at 07:13:49PM +1100, Alexey Kardashevskiy wrote: > 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: Alexey Kardashevskiy <[email protected]> > --- > > This follow-up for "exec, spapr_pci: Advertise huge IOMMU pages". > Instead of silently changing PHB properties+behaviour for better > performance if huge pages are detected, this simply warns the user > if IOMMU page mask needs to be adjusted. Since the user chooses > huge pages in the first place, the user can also supply additional > page masks as well.
Applied to ppc-for-2.10.
>
>
> ---
> hw/ppc/spapr_pci.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/hw/ppc/spapr_pci.c b/hw/ppc/spapr_pci.c
> index 98c52e411f..097ebdd51d 100644
> --- a/hw/ppc/spapr_pci.c
> +++ b/hw/ppc/spapr_pci.c
> @@ -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) {
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
signature.asc
Description: PGP signature
