Re: [PATCH v2] arch/cacheflush: Introduce flush_all_caches()

From: Davidlohr Bueso
Date: Mon Aug 22 2022 - 10:11:39 EST


On Sun, 21 Aug 2022, Christoph Hellwig wrote:

On Fri, Aug 19, 2022 at 10:10:24AM -0700, Davidlohr Bueso wrote:
index b192d917a6d0..ac4d4fd4e508 100644
--- a/arch/x86/include/asm/cacheflush.h
+++ b/arch/x86/include/asm/cacheflush.h
@@ -10,4 +10,8 @@

void clflush_cache_range(void *addr, unsigned int size);

+/* see comments in the stub version */
+#define flush_all_caches() \
+ do { wbinvd_on_all_cpus(); } while(0)

Yikes. This is just a horrible, horrible name and placement for a bad
hack that should have no generic relevance.

Why does this have no generic relevance? There's already been discussions
on how much wbinv is hated[0].

Please fix up the naming to make it clear that this function is for a
very specific nvdimm use case, and move it to a nvdimm-specific header
file.

Do you have any suggestions for a name? And, as the changelog describes,
this is not nvdimm specific anymore, and the whole point of all this is
volatile memory components for cxl, hence nvdimm namespace is bogus.

[0] https://lore.kernel.org/all/Yvtc2u1J%2Fqip8za9@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/

Thanks,
Davidlohr