On 05/03/2025 16:00, kernel test robot wrote: > Hi Ryan, > > kernel test robot noticed the following build warnings: > > [auto build test WARNING on linus/master] > [also build test WARNING on v6.14-rc5 next-20250305] > [cannot apply to arm64/for-next/core akpm-mm/mm-everything arm-perf/for-next/perf] > [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/Ryan-Roberts/arm64-hugetlb-Cleanup-huge_pte-size-discovery-mechanisms/20250304-230647 > base: linus/master > patch link: https://lore.kernel.org/r/20250304150444.3788920-6-ryan.roberts%40arm.com > patch subject: [PATCH v3 05/11] arm64: hugetlb: Use set_ptes_anysz() and ptep_get_and_clear_anysz() > config: arm64-randconfig-003-20250305 (https://download.01.org/0day-ci/archive/20250305/202503052315.vk7m958M-lkp@xxxxxxxxx/config) > compiler: clang version 21.0.0git (https://github.com/llvm/llvm-project 14170b16028c087ca154878f5ed93d3089a965c6) > reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250305/202503052315.vk7m958M-lkp@xxxxxxxxx/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@xxxxxxxxx> > | Closes: https://lore.kernel.org/oe-kbuild-all/202503052315.vk7m958M-lkp@xxxxxxxxx/ > > All warnings (new ones prefixed by >>): > > In file included from arch/arm64/mm/hugetlbpage.c:12: > In file included from include/linux/mm.h:2224: > include/linux/vmstat.h:504:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion] > 504 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS + > | ~~~~~~~~~~~~~~~~~~~~~ ^ > 505 | item]; > | ~~~~ > include/linux/vmstat.h:511:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion] > 511 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS + > | ~~~~~~~~~~~~~~~~~~~~~ ^ > 512 | NR_VM_NUMA_EVENT_ITEMS + > | ~~~~~~~~~~~~~~~~~~~~~~ >>> arch/arm64/mm/hugetlbpage.c:154:23: warning: parameter 'addr' set but not used [-Wunused-but-set-parameter] > 154 | unsigned long addr, > | ^ > 3 warnings generated. > > > vim +/addr +154 arch/arm64/mm/hugetlbpage.c > > bc5dfb4fd7bd471 Baolin Wang 2022-05-16 144 > d8bdcff2876424d Steve Capper 2017-08-22 145 /* > d8bdcff2876424d Steve Capper 2017-08-22 146 * Changing some bits of contiguous entries requires us to follow a > d8bdcff2876424d Steve Capper 2017-08-22 147 * Break-Before-Make approach, breaking the whole contiguous set > d8bdcff2876424d Steve Capper 2017-08-22 148 * before we can change any entries. See ARM DDI 0487A.k_iss10775, > d8bdcff2876424d Steve Capper 2017-08-22 149 * "Misprogramming of the Contiguous bit", page D4-1762. > d8bdcff2876424d Steve Capper 2017-08-22 150 * > d8bdcff2876424d Steve Capper 2017-08-22 151 * This helper performs the break step. > d8bdcff2876424d Steve Capper 2017-08-22 152 */ > fb396bb459c1fa3 Anshuman Khandual 2022-05-10 153 static pte_t get_clear_contig(struct mm_struct *mm, > d8bdcff2876424d Steve Capper 2017-08-22 @154 unsigned long addr, > d8bdcff2876424d Steve Capper 2017-08-22 155 pte_t *ptep, > d8bdcff2876424d Steve Capper 2017-08-22 156 unsigned long pgsize, > d8bdcff2876424d Steve Capper 2017-08-22 157 unsigned long ncontig) > d8bdcff2876424d Steve Capper 2017-08-22 158 { > 49c87f7677746f3 Ryan Roberts 2025-02-26 159 pte_t pte, tmp_pte; > 49c87f7677746f3 Ryan Roberts 2025-02-26 160 bool present; > 49c87f7677746f3 Ryan Roberts 2025-02-26 161 > 66251d3eadf78e2 Ryan Roberts 2025-03-04 162 pte = ptep_get_and_clear_anysz(mm, ptep, pgsize); > 49c87f7677746f3 Ryan Roberts 2025-02-26 163 present = pte_present(pte); > 49c87f7677746f3 Ryan Roberts 2025-02-26 164 while (--ncontig) { > 49c87f7677746f3 Ryan Roberts 2025-02-26 165 ptep++; > 49c87f7677746f3 Ryan Roberts 2025-02-26 166 addr += pgsize; Ahh yes, thanks! Looks like this line can be removed since we no longer need the address. Catalin, I was optimistically hoping this might be the final version. If it is, are you happy to fold this in? Or do you want me to re-spin regardless? > 66251d3eadf78e2 Ryan Roberts 2025-03-04 167 tmp_pte = ptep_get_and_clear_anysz(mm, ptep, pgsize); > 49c87f7677746f3 Ryan Roberts 2025-02-26 168 if (present) { > 49c87f7677746f3 Ryan Roberts 2025-02-26 169 if (pte_dirty(tmp_pte)) > 49c87f7677746f3 Ryan Roberts 2025-02-26 170 pte = pte_mkdirty(pte); > 49c87f7677746f3 Ryan Roberts 2025-02-26 171 if (pte_young(tmp_pte)) > 49c87f7677746f3 Ryan Roberts 2025-02-26 172 pte = pte_mkyoung(pte); > d8bdcff2876424d Steve Capper 2017-08-22 173 } > 49c87f7677746f3 Ryan Roberts 2025-02-26 174 } > 49c87f7677746f3 Ryan Roberts 2025-02-26 175 return pte; > d8bdcff2876424d Steve Capper 2017-08-22 176 } > d8bdcff2876424d Steve Capper 2017-08-22 177 >