[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <407997cd-dfa0-7b36-fa12-2baebdfcfff7@nxp.com>
Date: Fri, 11 Jun 2021 13:59:36 +0300
From: Horia Geantă <horia.geanta@....com>
To: Konrad Rzeszutek Wilk <konrad.wilk@...cle.com>,
Christoph Hellwig <hch@....de>,
Dominique MARTINET <dominique.martinet@...ark-techno.com>,
Linus Torvalds <torvalds@...ux-foundation.org>,
jianxiong Gao <jxgao@...gle.com>
Cc: "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Lukas Hartmann <lukas@...mn.com>,
Aymen Sghaier <aymen.sghaier@....com>,
Herbert Xu <herbert@...dor.apana.org.au>,
"David S. Miller" <davem@...emloft.net>,
"linux-crypto@...r.kernel.org" <linux-crypto@...r.kernel.org>,
"iommu@...ts.linux-foundation.org" <iommu@...ts.linux-foundation.org>,
Bumyong Lee <bumyong.lee@...sung.com>,
Chanho Park <chanho61.park@...sung.com>
Subject: Re: swiotlb/caamjr regression (Was: [GIT PULL] (swiotlb)
stable/for-linus-5.12)
On 6/11/2021 1:35 PM, Konrad Rzeszutek Wilk wrote:
> On Fri, Jun 11, 2021 at 08:21:53AM +0200, Christoph Hellwig wrote:
>> On Thu, Jun 10, 2021 at 05:52:07PM +0300, Horia Geantă wrote:
>>> I've noticed the failure also in v5.10 and v5.11 stable kernels,
>>> since the patch set has been backported.
>>
>> FYI, there has been a patch on the list that should have fixed this
>> for about a month:
>>
>> https://lore.kernel.org/linux-iommu/20210510091816.GA2084@lst.de/T/#m0d0df6490350a08dcc24c9086c8edc165b402d6f
>>
>> but it seems like it never got picked up.
>
> Yikes!
>
> Dominique,
>
> Would you be up to testing the attached (and inline) patch please?
>
> 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)?
>
Both patches work for my case.
However, there's yet another, possibly significant, difference b/w the two:
offset = (tlb_addr - mem->start) & (IO_TLB_SIZE - 1);
vs.
offset = (tlb_addr & (IO_TLB_SIZE - 1)) -
swiotlb_align_offset(dev, orig_addr);
I think accounting for the alignment offset (swiotlb_align_offset())
has to be kept.
Horia
Powered by blists - more mailing lists