Messages in this thread | | | From | Linus Torvalds <> | Date | Fri, 11 Jun 2021 09:21:42 -0700 | Subject | Re: swiotlb/caamjr regression (Was: [GIT PULL] (swiotlb) stable/for-linus-5.12) |
| |
On Fri, Jun 11, 2021 at 3:35 AM Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> wrote: > > Linus, > > Would you be terribly offended if I took your code (s/unsigned > long/unsigned int), and used Chanho's description of the problem (see below)?
No offense to that at all - that looks like the right solution. See my answer to Christoph: I do think my patch does the right one, but I can't test it and my knowledge of the swiotlb code is not complete enough to really do anything else than "this looks right".
And adding my sign-off to the patch is fine, but I don't necessarily need the authorship credit - mine was a throw-away patch just looking at what the bisection report said. All the real effort was by the reporters (and for the commit message, Bumyong Lee & co).
Finally - looking at the two places that do have that swiotlb_align_offset(), my reaction is "I don't understand what that code is doing".
The index does that
index = find_slots(dev, orig_addr, alloc_size + offset);
so that offset does seem to depend on how the find_slots code works. Which in turn does use the same dma_get_min_align_mask() thing that swiotlb_align_offset() uses. So the offsets do seem to match, but find_slots(dev() does a lot of stuff that I don't know. so...
IOW, it does reinforce my "I don't know this code AT ALL". Which just makes me more convinced that I shouldn't get authorship of the patch because if something goes wrong with it, I can't help.
So at most maybe a "Suggested-by:".
My patch really was based on very little context and "this is the calculation that makes sense given the other calculations in the function".
Linus
| |