Messages in this thread | | | Date | Fri, 16 Dec 2022 12:52:56 +0000 | Subject | Re: [6.2][regression] after commit ffcb754584603adf7039d7972564fbf6febdc542 all sound devices disappeared (due BUG at mm/page_alloc.c:3592!) | From | Robin Murphy <> |
| |
On 2022-12-16 12:15, Christoph Hellwig wrote: > On Fri, Dec 16, 2022 at 11:40:57AM +0000, Robin Murphy wrote: >> On 2022-12-16 06:46, Christoph Hellwig wrote: >>> Ok, it seems like the sound noncontig alloc code that I already >>> commented on as potentially bogus GFP_GOMP mapping trips this. I think >>> for now the right thing would be to revert the hunk in dma-iommu.c >>> (see patch below). The other thing to try would be to remove both >>> uses GFP_COMP in sound/core/memalloc.c, which should have the same >>> effect. >> >> Or we explicitly strip the flag in dma_alloc_noncontiguous() (and maybe >> dma_alloc_pages() as well) for consistency with dma_alloc_attrs(). That >> seems like it might be the most robust option. > > In the long run warning there and returning an error seems like the > right thing to do, yes. I'm just a little worried doing this right now > after the merge window.
Fair point, I guess nobody else actually implements dma_alloc_noncontiguous(), and dma_alloc_pages() seems a bit of a grey area since it is more of an explicit page allocator. So yeah, just restoring iommu-dma (perhaps with a mild VM_WARN_ON?) seems like a sufficiently safe and sensible fix for the short term. You can have my pre-emptive ack for that.
Cheers, Robin.
| |