On Tue, Apr 16, 2024, at 15:51, David Hildenbrand wrote: > On 16.04.24 12:26, Miguel Ojeda wrote: >> Hi David, Arnd, LoongArch, >> >> In a linux-next defconfig LLVM=1 build today I got: >> >> ./include/asm-generic/tlb.h:629:10: error: parameter 'ptep' set >> but not used [-Werror,-Wunused-but-set-parameter] >> 629 | pte_t *ptep, unsigned int nr, unsigned long address) >> | ^ >> >> Indeed, in loongarch, `__tlb_remove_tlb_entry` does not do anything. >> This seems the same that Arnd reported for arm64: >> >> https://lore.kernel.org/all/20240221154549.2026073-1-arnd@xxxxxxxxxx/ >> >> So perhaps the loongarch's one should also be changed into an static inline? > > 4d5bf0b6183f79ea361dd506365d2a471270735c is already part of v6.9-rc1. How come > we see that only now on linux-next? Andrew merged my patch to enable -Wextra yesterday, and it appears that this one fell through the cracks with my testing, either I missed the combination of loongarch with clang, or I last tested it before your patches got merged. > I assume we should see the same on upstream Linux with LLVM=1, correct? On upstream, it only shows up with 'make W=1'. > If so, we should likely just drop that completely and rely on the > asm-generic one: > > diff --git a/arch/loongarch/include/asm/tlb.h > b/arch/loongarch/include/asm/tlb.h > index da7a3b5b9374a..e071f5e9e8580 100644 > --- a/arch/loongarch/include/asm/tlb.h > +++ b/arch/loongarch/include/asm/tlb.h > @@ -132,8 +132,6 @@ static __always_inline void invtlb_all(u32 op, u32 > info, u64 addr) > ); > } > > -#define __tlb_remove_tlb_entry(tlb, ptep, address) do { } while (0) > - > static void tlb_flush(struct mmu_gather *tlb); Yes, this looks like the best solution, and I can confirm that this addresses the warning on linux-next. Tested-by: Arnd Bergmann <arnd@xxxxxxxx>