On Wed, Jun 30, 2021 at 9:43 AM Nathan Chancellor nathan@kernel.org wrote:
On Thu, Jun 24, 2021 at 11:55:20PM +0800, Claire Chang wrote:
Propagate the swiotlb_force into io_tlb_default_mem->force_bounce and use it to determine whether to bounce the data or not. This will be useful later to allow for different pools.
Signed-off-by: Claire Chang tientzu@chromium.org Reviewed-by: Christoph Hellwig hch@lst.de Tested-by: Stefano Stabellini sstabellini@kernel.org Tested-by: Will Deacon will@kernel.org Acked-by: Stefano Stabellini sstabellini@kernel.org
This patch as commit af452ec1b1a3 ("swiotlb: Use is_swiotlb_force_bounce for swiotlb data bouncing") causes my Ryzen 3 4300G system to fail to get to an X session consistently (although not every single time), presumably due to a crash in the AMDGPU driver that I see in dmesg.
I have attached logs at af452ec1b1a3 and f127c9556a8e and I am happy to provide any further information, debug, or test patches as necessary.
Are you using swiotlb=force? or the swiotlb_map is called because of !dma_capable? (https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/ker...)
`BUG: unable to handle page fault for address: 00000000003a8290` and the fact it crashed at `_raw_spin_lock_irqsave` look like the memory (maybe dev->dma_io_tlb_mem) was corrupted? The dev->dma_io_tlb_mem should be set here (https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/dri...) through device_initialize.
I can't tell what happened from the logs, but maybe we could try KASAN to see if it provides more clue.
Thanks, Claire
Cheers, Nathan