tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master head: 34d1d36073ea4d4c532e8c8345627a9702be799e commit: dc150dfb081fcd17f8ecfa07d94813e4c445d808 [4284/4834] ntb_perf: extend with burst latency measurement config: microblaze-randconfig-r024-20220619 (https://download.01.org/0day-ci/archive/20220621/202206212357.xM9BKiVi-lkp@xxxxxxxxx/config) compiler: microblaze-linux-gcc (GCC) 11.3.0 reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=dc150dfb081fcd17f8ecfa07d94813e4c445d808 git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git git fetch --no-tags linux-next master git checkout dc150dfb081fcd17f8ecfa07d94813e4c445d808 # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.3.0 make.cross W=1 O=build_dir ARCH=microblaze SHELL=/bin/bash If you fix the issue, kindly add following tag where applicable Reported-by: kernel test robot <lkp@xxxxxxxxx> All errors (new ones prefixed by >>): microblaze-linux-ld: drivers/ntb/test/ntb_perf.o: in function `perf_thread_work': >> drivers/ntb/test/ntb_perf.c:1067: undefined reference to `__umoddi3' vim +1067 drivers/ntb/test/ntb_perf.c 1035 1036 static int perf_run_latency(struct perf_thread *pthr) 1037 { 1038 struct perf_peer *peer = pthr->perf->test_peer; 1039 struct ntb_dev *ntb = pthr->perf->ntb; 1040 void __iomem *flt_dst, *bnd_dst; 1041 void *flt_src; 1042 u64 stop_at; 1043 int ret; 1044 1045 pthr->tries = 0; 1046 pthr->latency = ktime_get(); 1047 flt_src = pthr->src; 1048 flt_dst = peer->outbuf; 1049 bnd_dst = peer->outbuf + peer->outbuf_size; 1050 1051 stop_at = ktime_get_real_fast_ns() + lat_time_ms * NSEC_PER_MSEC; 1052 while (ktime_get_real_fast_ns() < stop_at) { 1053 ret = perf_copy_chunk(pthr, flt_dst, flt_src, 1, false); 1054 if (ret) { 1055 dev_err(&ntb->dev, "%d: Latency testing error %d\n", 1056 pthr->tidx, ret); 1057 pthr->latency = ktime_set(0, 0); 1058 return ret; 1059 } 1060 1061 pthr->tries++; 1062 flt_dst++; 1063 flt_src++; 1064 1065 if (flt_dst >= bnd_dst || flt_dst < peer->outbuf) { 1066 flt_dst = peer->outbuf; > 1067 flt_src = pthr->src; 1068 } 1069 1070 /* Avoid processor soft lock-ups */ 1071 if (!(pthr->tries % RESCHEDULE_RATIO)) 1072 schedule(); 1073 } 1074 1075 /* Stop timer */ 1076 pthr->latency = ktime_sub(ktime_get(), pthr->latency); 1077 1078 if (pthr->tries < LAT_MIN_TRIES) { 1079 dev_err(&ntb->dev, 1080 "%d: Too few steps (%llu) to measure Latency, recommended > %d. Increase value of 'lat_time_ms' parameter\n", 1081 pthr->tidx, pthr->tries, LAT_MIN_TRIES); 1082 pthr->latency = ktime_set(0, 0); 1083 return -EINVAL; 1084 } 1085 1086 dev_dbg(&ntb->dev, "%d: made %llu tries, lasted %llu usecs\n", 1087 pthr->tidx, pthr->tries, ktime_to_us(pthr->latency)); 1088 1089 pthr->latency = ns_to_ktime(ktime_divns(pthr->latency, pthr->tries)); 1090 1091 dev_dbg(&ntb->dev, "%d: latency %llu us (%llu ns)\n", pthr->tidx, 1092 ktime_to_us(pthr->latency), ktime_to_ns(pthr->latency)); 1093 1094 return 0; 1095 } 1096 -- 0-DAY CI Kernel Test Service https://01.org/lkp