[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v2] xen/swiotlb: don't initialize swiotlb twice on arm64
On 13.06.19 16:23, Konrad Rzeszutek Wilk wrote: On Wed, Jun 05, 2019 at 04:24:06PM +0200, Juergen Gross wrote:On 05.06.19 16:13, Konrad Rzeszutek Wilk wrote:On Tue, Jun 04, 2019 at 03:41:40PM -0400, Boris Ostrovsky wrote: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 <stefanos@xxxxxxxxxx> 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 <stefanos@xxxxxxxxxx>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.ostrovsky@xxxxxxxxxx>Pushed in devel/for-linus-5.2 and will eventually move it to stable and push to Linus next-week. Are there any other patches I should pick up?I think at least the first two patches from my series: https://patchew.org/Xen/20190529090407.1225-1-jgross@xxxxxxxx/ are ready to go in.#2 patch says: "> To be symmetric with setting the flag only after having made the region > contiguous, and to avoid (perhaps just theoretical) races, wouldn't it be > better to clear the flag before calling xen_destroy_contiguous_region()? > Even better would be a TestAndClear...() operation. I like that idea. " ? I was hoping for a clarification regarding the Xen specific page flag names before posting V3. As Christoph didn't react when I posted possible solutions I think I'll just modify patch 3 according to Jan's comment and post V3. Juergen _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |