[linux-next:master 2995/3437] mm/mempolicy.c:207:undefined reference to `__udivdi3'

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head:   7b7a883c7f4de1ee5040bd1c32aabaafde54d209
commit: aab5f6eb05fd382835c042853bb0a44198aba71f [2995/3437] mm/mempolicy: Weighted Interleave Auto-tuning
config: sh-randconfig-r051-20250213 (https://download.01.org/0day-ci/archive/20250213/202502131750.RyXsm23v-lkp@xxxxxxxxx/config)
compiler: sh4-linux-gcc (GCC) 14.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250213/202502131750.RyXsm23v-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/202502131750.RyXsm23v-lkp@xxxxxxxxx/

All errors (new ones prefixed by >>):

   sh4-linux-ld: kernel/sched/build_utility.o: in function `housekeeping_any_cpu':
   kernel/sched/isolation.c:56:(.text+0x5ac): undefined reference to `sched_numa_find_closest'
   sh4-linux-ld: mm/mempolicy.o: in function `reduce_interleave_weights':
>> mm/mempolicy.c:207:(.text+0x460): undefined reference to `__udivdi3'


vim +207 mm/mempolicy.c

   166	
   167	/*
   168	 * Convert bandwidth values into weighted interleave weights.
   169	 * Call with iw_table_lock.
   170	 */
   171	static void reduce_interleave_weights(uint64_t *bw, u8 *new_iw)
   172	{
   173		uint64_t sum_bw = 0, sum_iw = 0;
   174		uint64_t scaling_factor = 1, iw_gcd = 1;
   175		unsigned int i = 0;
   176	
   177		/* Recalculate the bandwidth distribution given the new info */
   178		for (i = 0; i < nr_node_ids; i++)
   179			sum_bw += bw[i];
   180	
   181		/* If node is not set or has < 1% of total bw, use minimum value of 1 */
   182		for (i = 0; i < nr_node_ids; i++) {
   183			if (bw[i]) {
   184				scaling_factor = 100 * bw[i];
   185				new_iw[i] = max(scaling_factor / sum_bw, 1);
   186			} else {
   187				new_iw[i] = 1;
   188			}
   189			sum_iw += new_iw[i];
   190		}
   191	
   192		/*
   193		 * Scale each node's share of the total bandwidth from percentages
   194		 * to whole numbers in the range [1, weightiness]
   195		 */
   196		for (i = 0; i < nr_node_ids; i++) {
   197			scaling_factor = weightiness * new_iw[i];
   198			new_iw[i] = max(scaling_factor / sum_iw, 1);
   199			if (i == 0)
   200				iw_gcd = new_iw[0];
   201			iw_gcd = gcd(iw_gcd, new_iw[i]);
   202		}
   203	
   204		/* 1:2 is strictly better than 16:32. Reduce by the weights' GCD. */
   205		for (i = 0; i < nr_node_ids; i++)
   206			new_iw[i] /= iw_gcd;
 > 207	}
   208	

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




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux