On Wed, 6 Oct 2021 15:10:43 +0200 Gerald Schaefer <gerald.schaefer@xxxxxxxxxxxxx> wrote: > On Fri, 1 Oct 2021 14:52:56 +0200 > Gerald Schaefer <gerald.schaefer@xxxxxxxxxxxxx> wrote: > > > On Thu, 30 Sep 2021 15:37:33 +0200 > > Karsten Graul <kgraul@xxxxxxxxxxxxx> wrote: > > > > > On 14/09/2021 17:45, Ioana Ciornei wrote: > > > > On Wed, Sep 08, 2021 at 10:33:26PM -0500, Jeremy Linton wrote: > > > >> +DPAA2, netdev maintainers > > > >> Hi, > > > >> > > > >> On 5/18/21 7:54 AM, Hamza Mahfooz wrote: > > > >>> Since, overlapping mappings are not supported by the DMA API we should > > > >>> report an error if active_cacheline_insert returns -EEXIST. > > > >> > > > >> It seems this patch found a victim. I was trying to run iperf3 on a > > > >> honeycomb (5.14.0, fedora 35) and the console is blasting this error message > > > >> at 100% cpu. So, I changed it to a WARN_ONCE() to get the call trace, which > > > >> is attached below. > > > >> > > > > > > > > These frags are allocated by the stack, transformed into a scatterlist > > > > by skb_to_sgvec and then DMA mapped with dma_map_sg. It was not the > > > > dpaa2-eth's decision to use two fragments from the same page (that will > > > > also end un in the same cacheline) in two different in-flight skbs. > > > > > > > > Is this behavior normal? > > > > > > > > > > We see the same problem here and it started with 5.15-rc2 in our nightly CI runs. > > > The CI has panic_on_warn enabled so we see the panic every day now. > > > > Adding a WARN for a case that be detected false-positive seems not > > acceptable, exactly for this reason (kernel panic on unaffected > > systems). > > > > So I guess it boils down to the question if the behavior that Ioana > > described is legit behavior, on a system that is dma coherent. We > > are apparently hitting the same scenario, although it could not yet be > > reproduced with debug printks for some reason. > > > > If the answer is yes, than please remove at lease the WARN, so that > > it will not make systems crash that behave valid, and have > > panic_on_warn set. Even a normal printk feels wrong to me in that > > case, it really sounds rather like you want to fix / better refine > > the overlap check, if you want to report anything here. > > Dan, Christoph, any opinion? > > So far it all looks a lot like a false positive, so could you please > see that those patches get reverted? I do wonder a bit why this is > not an issue for others, we surely cannot be the only ones running > CI with panic_on_warn. For reference, we are talking about these commits: 2b4bbc6231d7 ("dma-debug: report -EEXIST errors in add_dma_entry") 510e1a724ab1 ("dma-debug: prevent an error message from causing runtime problems") The latter introduced the WARN (through err_printk usage), and should be reverted if it can be false-positive, but both seem wrong in that case.