[PATCH v3] riscv: Call secondary mmu notifier when flushing the tlb

kernel test robot lkp at intel.com
Thu Jan 9 06:03:04 PST 2025


Hi Alexandre,

kernel test robot noticed the following build warnings:

[auto build test WARNING on linus/master]
[also build test WARNING on v6.13-rc6 next-20250109]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Alexandre-Ghiti/riscv-Call-secondary-mmu-notifier-when-flushing-the-tlb/20250108-235624
base:   linus/master
patch link:    https://lore.kernel.org/r/20250108154907.132863-1-alexghiti%40rivosinc.com
patch subject: [PATCH v3] riscv: Call secondary mmu notifier when flushing the tlb
config: riscv-allnoconfig (https://download.01.org/0day-ci/archive/20250109/202501092121.lZ2DY62V-lkp@intel.com/config)
compiler: riscv64-linux-gcc (GCC) 14.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250109/202501092121.lZ2DY62V-lkp@intel.com/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 <lkp at intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202501092121.lZ2DY62V-lkp@intel.com/

All warnings (new ones prefixed by >>):

   arch/riscv/mm/tlbflush.c: In function '__flush_tlb_range':
>> arch/riscv/mm/tlbflush.c:94:14: warning: unused variable 'broadcast' [-Wunused-variable]
      94 |         bool broadcast;
         |              ^~~~~~~~~
>> arch/riscv/mm/tlbflush.c:92:37: warning: unused variable 'ftd' [-Wunused-variable]
      92 |         struct flush_tlb_range_data ftd;
         |                                     ^~~


vim +/broadcast +94 arch/riscv/mm/tlbflush.c

    86	
    87	static void __flush_tlb_range(struct mm_struct *mm,
    88				      const struct cpumask *cmask,
    89				      unsigned long start, unsigned long size,
    90				      unsigned long stride)
    91	{
  > 92		struct flush_tlb_range_data ftd;
    93		unsigned long asid = get_mm_asid(mm);
  > 94		bool broadcast;
    95		unsigned int cpu;
    96	
    97		if (cpumask_empty(cmask))
    98			return;
    99	
   100		cpu = get_cpu();
   101	
   102		/* Check if the TLB flush needs to be sent to other CPUs. */
   103		if (cpumask_any_but(cmask, cpu) >= nr_cpu_ids) {
   104			local_flush_tlb_range_asid(start, size, stride, asid);
   105		} else if (riscv_use_sbi_for_rfence()) {
   106			sbi_remote_sfence_vma_asid(cmask, start, size, asid);
   107		} else {
   108			struct flush_tlb_range_data ftd;
   109	
   110			ftd.asid = asid;
   111			ftd.start = start;
   112			ftd.size = size;
   113			ftd.stride = stride;
   114			on_each_cpu_mask(cmask, __ipi_flush_tlb_range_asid, &ftd, 1);
   115		}
   116	
   117		put_cpu();
   118	
   119		if (mm)
   120			mmu_notifier_arch_invalidate_secondary_tlbs(mm, start, start + size);
   121	}
   122	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki



More information about the linux-riscv mailing list