On 6/4/19 12:51 PM, Stefano Stabellini wrote: > On Mon, 3 Jun 2019, Boris Ostrovsky wrote: >> On 6/3/19 2:25 PM, Stefano Stabellini wrote: >>> On Tue, 28 May 2019, Boris Ostrovsky wrote: >>>> On 5/28/19 6:48 PM, Stefano Stabellini wrote: >>>>> From: Stefano Stabellini <stefa...@xilinx.com> >>>>> >>>>> On arm64 swiotlb is often (not always) already initialized by mem_init. >>>>> We don't want to initialize it twice, which would trigger a second >>>>> memory allocation. Moreover, the second memory pool is typically made of >>>>> high pages and ends up replacing the original memory pool of low pages. >>>>> As a side effect of this change, it is possible to have low pages in >>>>> swiotlb-xen on arm64. >>>>> >>>>> Signed-off-by: Stefano Stabellini <stefa...@xilinx.com> >>>> Has this been tested on x86? >>> Yes, I managed to test it using QEMU. There are no effects on x86, as >>> the check io_tlb_start != 0 returns false. >> I wonder though whether this is always the case. When we are called >> from pci_xen_swiotlb_init_late() for example. > In that case, pci_xen_swiotlb_init_late() is called by > pcifront_connect_and_init_dma, which does: > > if (!err && !swiotlb_nr_tbl()) { > err = pci_xen_swiotlb_init_late(); > if (err) > dev_err(&pdev->xdev->dev, "Could not setup SWIOTLB!\n"); > } > > pci_xen_swiotlb_init_late() is only called when swiotlb_nr_tbl() returns > 0. If swiotlb_nr_tbl() returns 0, certainly the swiotlb has not been > allocated yet, and the io_tlb_start != 0 check at the beginning of > xen_swiotlb_init will also fail. The code will take the normal > route, same as today. In short, there should be no effects on x86.
OK, thanks. Reviewed-by: Boris Ostrovsky <boris.ostrov...@oracle.com> _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel