On Mon, 29 Jun 2026 16:58:34 +0800 kernel test robot <[email protected]> wrote:

> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-new
> head:   88cefc306c43b58d9bb65c9e96e284306710d961
> commit: 80c453511b6ee1af0e4db83c3db0020215c4eaf0 [59/142] mm/vmalloc: map 
> contiguous pages in batches for vmap() if possible
> config: csky-allnoconfig 
> (https://download.01.org/0day-ci/archive/20260629/[email protected]/config)
> compiler: csky-linux-gcc (GCC) 16.1.0
> reproduce (this is a W=1 build): 
> (https://download.01.org/0day-ci/archive/20260629/[email protected]/reproduce)
> 
> If you fix the issue in a separate patch/commit (i.e. not just a new version 
> of
> the same patch/commit), kindly add following tags
> | Reported-by: kernel test robot <[email protected]>
> | Closes: 
> https://lore.kernel.org/oe-kbuild-all/[email protected]/
> 
> All warnings (new ones prefixed by >>):
> 
>    mm/vmalloc.c: In function 'vmap_batched':
> >> mm/vmalloc.c:3590:23: warning: unused variable 'start' [-Wunused-variable]
>     3590 |         unsigned long start = addr, map_addr = addr;
>          |                       ^~~~~

Sigh.

        unsigned long start = addr, map_addr = addr;
        ...
        flush_cache_vmap(start, end);

See, this is our punishment for writing kernel code in CPP rather than
in C.

I'll queue (and test) the below.  It should be OK -
arch/csky/abiv1/inc/abi/cacheflush.h directly includes asm/cache.h
which declares cache_wbinv_all().


From: Andrew Morton <[email protected]>
Subject: csky: implement flush_cache_vmap() in C
Date: Mon Jun 29 05:07:51 PM PDT 2026

To avoid getting an unused-var warning from

        unsigned long start = something;
        ...
        flush_cache_vmap(start, ...);

Cc: Guo Ren <[email protected]>
Cc: Andrew Donnellan <[email protected]>
Cc: Anshuman Khandual <[email protected]>
Cc: "Barry Song (Xiaomi)" <[email protected]>
Cc: Catalin Marinas <[email protected]>
Cc: David Hildenbrand <[email protected]>
Cc: Dev Jain <[email protected]>
Cc: Leo Yan <[email protected]>
Cc: Mike Rapoport <[email protected]>
Cc: Ryan Roberts <[email protected]>
Cc: Uladzislau Rezki <[email protected]>
Cc: Wen Jiang <[email protected]>
Cc: Wen Jiang <[email protected]>
Cc: Will Deacon <[email protected]>
Cc: Xueyuan Chen <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
---

 arch/csky/abiv1/inc/abi/cacheflush.h |    7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

--- a/arch/csky/abiv1/inc/abi/cacheflush.h~csky-implement-flush_cache_vmap-in-c
+++ a/arch/csky/abiv1/inc/abi/cacheflush.h
@@ -42,7 +42,12 @@ static inline void flush_anon_page(struc
  * Use cache_wbinv_all() here and need to be improved in future.
  */
 extern void flush_cache_range(struct vm_area_struct *vma, unsigned long start, 
unsigned long end);
-#define flush_cache_vmap(start, end)           cache_wbinv_all()
+
+static inline void flush_cache_vmap(unsigned long start, unsigned long end)
+{
+       cache_wbinv_all();
+}
+
 #define flush_cache_vmap_early(start, end)     do { } while (0)
 #define flush_cache_vunmap(start, end)         cache_wbinv_all()
 
_


Reply via email to