On Fri, Sep 28, 2018 at 04:45:39PM +1000, Alexey Kardashevskiy wrote: > The powernv platform maintains 2 TCE tables for VFIO - a hardware TCE > table and a table with userspace addresses; the latter is used for > marking pages dirty when corresponging TCEs are unmapped from > the hardware table. > > a68bd1267b72 ("powerpc/powernv/ioda: Allocate indirect TCE levels > on demand") enabled on-demand allocation of the hardware table, > however it missed the other table so it has still been fully allocated > at the boot time. This fixes the issue by allocating a single level, > just like we do for the hardware table. > > Fixes: a68bd1267b72 ("powerpc/powernv/ioda: Allocate indirect TCE levels on demand") > Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx> Reviewed-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> > --- > arch/powerpc/platforms/powernv/pci-ioda-tce.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/powerpc/platforms/powernv/pci-ioda-tce.c b/arch/powerpc/platforms/powernv/pci-ioda-tce.c > index fe96910..7639b21 100644 > --- a/arch/powerpc/platforms/powernv/pci-ioda-tce.c > +++ b/arch/powerpc/platforms/powernv/pci-ioda-tce.c > @@ -299,7 +299,7 @@ long pnv_pci_ioda2_table_alloc_pages(int nid, __u64 bus_offset, > if (alloc_userspace_copy) { > offset = 0; > uas = pnv_pci_ioda2_table_do_alloc_pages(nid, level_shift, > - levels, tce_table_size, &offset, > + tmplevels, tce_table_size, &offset, > &total_allocated_uas); > if (!uas) > goto free_tces_exit; -- 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
Attachment:
signature.asc
Description: PGP signature