[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20231016131716.GA26484@lst.de>
Date: Mon, 16 Oct 2023 15:17:16 +0200
From: Christoph Hellwig <hch@....de>
To: Conor Dooley <conor.dooley@...rochip.com>
Cc: Christoph Hellwig <hch@....de>, Greg Ungerer <gerg@...ux-m68k.org>,
iommu@...ts.linux.dev, Paul Walmsley <paul.walmsley@...ive.com>,
Palmer Dabbelt <palmer@...belt.com>,
Conor Dooley <conor@...nel.org>,
Geert Uytterhoeven <geert+renesas@...der.be>,
Magnus Damm <magnus.damm@...il.com>,
Robin Murphy <robin.murphy@....com>,
Marek Szyprowski <m.szyprowski@...sung.com>,
Geert Uytterhoeven <geert@...ux-m68k.org>,
Wei Fang <wei.fang@....com>, Shenwei Wang <shenwei.wang@....com>,
Clark Wang <xiaoning.wang@....com>,
NXP Linux Team <linux-imx@....com>, linux-m68k@...ts.linux-m68k.org,
netdev@...r.kernel.org, linux-riscv@...ts.infradead.org,
linux-renesas-soc@...r.kernel.org,
Jim Quinlan <james.quinlan@...adcom.com>
Subject: Re: [PATCH 01/12] riscv: RISCV_NONSTANDARD_CACHE_OPS shouldn't
depend on RISCV_DMA_NONCOHERENT
On Mon, Oct 16, 2023 at 01:49:41PM +0100, Conor Dooley wrote:
> Hey,
>
> On Mon, Oct 16, 2023 at 07:47:43AM +0200, Christoph Hellwig wrote:
> > RISCV_NONSTANDARD_CACHE_OPS is also used for the pmem cache maintenance
> > helpers, which are built into the kernel unconditionally.
>
> You surely have better insight than I do here, but is this actually
> required?
> This patch seems to allow creation of a kernel where the cache
> maintenance operations could be used for pmem, but would be otherwise
> unavailable, which seems counter intuitive to me.
>
> Why would someone want to provide the pmem helpers with cache
> maintenance operations, but not provide them generally?
>
Even if all your periphals are cache coherent (very common on server
class hardware) you still need cache maintenance for pmem. No need
to force the extra text size and runtime overhead for non-coherent DMA.
> I also don't really understand what the unconditional nature of the pmem
> helpers has to do with anything, as this patch does not unconditionally
> provide any cache management operations, only relax the conditions under
> which the non-standard cache management operations can be provided.
They simply were broken if a platform had non-standard cache mem but
only coherent DMA before. That's probably more a theoretical than
practial case, but still worth fixing.
Powered by blists - more mailing lists