On 2022-03-25 18:15, Toke Høiland-Jørgensen wrote:
Christoph Hellwig hch@lst.de writes:
On Thu, Mar 24, 2022 at 07:02:16PM +0100, Halil Pasic wrote:
If ddbd89deb7d3 alone turns out to work OK then I'd be inclined to try a partial revert of just that one hunk.
I'm not against being pragmatic and doing the partial revert. But as explained above, I do believe for correctness of swiotlb we ultimately do need that change. So if the revert is the short term solution, what should be our mid-term road-map?
Unless I'm misunderstanding this thread we found the bug in ath9k and have a fix for that now?
According to Maxim's comment on the other subthread, that ath9k patch wouldn't work on all platforms (and constitutes a bit of a violation of the DMA API ownership abstraction). So not quite, I think?
Indeed, it would potentially stand to pose the same problem as the SWIOTLB change, but on the scale of individual cache lines touched by ath9k_hw_process_rxdesc_edma() rather than the whole buffer. However, that might represent a less severe impact on a smaller number of users (maybe the MIPS systems? I'm not sure...) so perhaps it's an acceptable tourniquet? Note that the current code is already a violation of the DMA API (because the device keeps writing even when it doesn't have ownership), so there's not a very strong argument in that regard.
Thanks, Robin.