[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <tencent_651BC4D11C9730062064ACB186AF4A904005@qq.com>
Date: Tue, 9 Jul 2024 19:39:29 +0800
From: Yangyu Chen <cyy@...self.name>
To: Christoph Hellwig <hch@....de>
Cc: iommu@...ts.linux.dev,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Marek Szyprowski <m.szyprowski@...sung.com>,
Robin Murphy <robin.murphy@....com>
Subject: Re: [PATCH -fixes] dma-mapping: add default implementation to
arch_dma_{set|clear}_uncached
> On Jul 9, 2024, at 19:19, Christoph Hellwig <hch@....de> wrote:
>
> On Tue, Jul 09, 2024 at 05:25:29PM +0800, Yangyu Chen wrote:
>> Currently, we have some code in kernel/dma/direct.c which references
>> arch_dma_set_uncached and arch_dma_clear_uncached. However, many
>> architectures do not provide these symbols, and the code currently
>> relies on compiler optimization to cut the unnecessary code. When the
>> compiler fails to optimize it, the code will reference the symbol and
>> cause a link error. I found this bug when developing some new extensions
>> for RISC-V on LLVM. The error message is shown below:
>
> Same comment as for the last one. I think your compiler misbehaves,
> and the typical reason for that would be if you disable all
> optimizations.
>
The reason is that some optimizations failed to apply after adding
some passes. I will fix the compiler later. Whatever, we should not
rely on this optimization to get the code being successfully compiled.
Powered by blists - more mailing lists