[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <d30a890a-f64e-4082-8d8e-864bfb3c3800@efficios.com>
Date: Wed, 31 Jan 2024 09:58:21 -0500
From: Mathieu Desnoyers <mathieu.desnoyers@...icios.com>
To: Dave Chinner <david@...morbit.com>
Cc: Dan Williams <dan.j.williams@...el.com>,
Vishal Verma <vishal.l.verma@...el.com>, Dave Jiang <dave.jiang@...el.com>,
linux-kernel@...r.kernel.org, Andrew Morton <akpm@...ux-foundation.org>,
Linus Torvalds <torvalds@...ux-foundation.org>, linux-mm@...ck.org,
linux-arch@...r.kernel.org, Matthew Wilcox <willy@...radead.org>,
Arnd Bergmann <arnd@...db.de>, Russell King <linux@...linux.org.uk>,
linux-cxl@...r.kernel.org, nvdimm@...ts.linux.dev, linux-xfs@...r.kernel.org
Subject: Re: [RFC PATCH v2 7/8] Introduce dcache_is_aliasing() across all
architectures
On 2024-01-30 21:48, Dave Chinner wrote:
> On Tue, Jan 30, 2024 at 11:52:54AM -0500, Mathieu Desnoyers wrote:
>> Introduce a generic way to query whether the dcache is virtually aliased
>> on all architectures. Its purpose is to ensure that subsystems which
>> are incompatible with virtually aliased data caches (e.g. FS_DAX) can
>> reliably query this.
>>
>> For dcache aliasing, there are three scenarios dependending on the
>> architecture. Here is a breakdown based on my understanding:
>>
>> A) The dcache is always aliasing:
>>
>> * arc
>> * csky
>> * m68k (note: shared memory mappings are incoherent ? SHMLBA is missing there.)
>> * sh
>> * parisc
>
> /me wonders why the dentry cache aliasing has problems on these
> systems.
>
> Oh, dcache != fs/dcache.c (the VFS dentry cache).
>
> Can you please rename this function appropriately so us dumb
> filesystem people don't confuse cpu data cache configurations with
> the VFS dentry cache aliasing when we read this code? Something like
> cpu_dcache_is_aliased(), perhaps?
Good point, will do. I'm planning go rename as follows for v3 to
eliminate confusion with dentry cache (and with "page cache" in
general):
ARCH_HAS_CACHE_ALIASING -> ARCH_HAS_CPU_CACHE_ALIASING
dcache_is_aliasing() -> cpu_dcache_is_aliasing()
I noticed that you suggested "aliased" rather than "aliasing",
but I followed what arm64 did for icache_is_aliasing(). Do you
have a strong preference one way or another ?
Thanks,
Mathieu
--
Mathieu Desnoyers
EfficiOS Inc.
https://www.efficios.com
Powered by blists - more mailing lists