Hi, Thank you for the patch! Yet something to improve: [auto build test ERROR on linus/master] [also build test ERROR on v5.18-rc3 next-20220421] [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] url: https://github.com/intel-lab-lkp/linux/commits/mingzhe-zou-easystack-cn/bcache-dynamic-incremental-gc/20220421-201917 base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git b253435746d9a4a701b5f09211b9c14d3370d0da config: powerpc-randconfig-c024-20220421 (https://download.01.org/0day-ci/archive/20220422/202204220354.7eXmJIoI-lkp@xxxxxxxxx/config) compiler: powerpc-linux-gcc (GCC) 11.2.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://github.com/intel-lab-lkp/linux/commit/9934df989e22e2a0da9c61c9c47da9839220570e git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review mingzhe-zou-easystack-cn/bcache-dynamic-incremental-gc/20220421-201917 git checkout 9934df989e22e2a0da9c61c9c47da9839220570e # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross W=1 O=build_dir ARCH=powerpc SHELL=/bin/bash If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@xxxxxxxxx> All errors (new ones prefixed by >>): powerpc-linux-ld: drivers/md/bcache/btree.o: in function `bch_btree_gc': >> drivers/md/bcache/btree.c:1870: undefined reference to `__udivdi3' vim +1870 drivers/md/bcache/btree.c 1832 1833 static void bch_btree_gc(struct cache_set *c) 1834 { 1835 int ret; 1836 struct gc_stat stats; 1837 struct closure writes; 1838 struct btree_op op; 1839 uint64_t sleep_time; 1840 1841 trace_bcache_gc_start(c); 1842 1843 memset(&stats, 0, sizeof(struct gc_stat)); 1844 closure_init_stack(&writes); 1845 bch_btree_op_init(&op, SHRT_MAX); 1846 1847 btree_gc_start(c); 1848 stats.start_time = local_clock(); 1849 1850 /* if CACHE_SET_IO_DISABLE set, gc thread should stop too */ 1851 do { 1852 stats.times++; 1853 ret = bcache_btree_root(gc_root, c, &op, &writes, &stats); 1854 closure_sync(&writes); 1855 cond_resched(); 1856 1857 sleep_time = btree_gc_sleep_ms(c, &stats); 1858 if (ret == -EAGAIN) { 1859 stats.sleep_cost += sleep_time * NSEC_PER_MSEC; 1860 schedule_timeout_interruptible(msecs_to_jiffies 1861 (sleep_time)); 1862 } else if (ret) 1863 pr_warn("gc failed!\n"); 1864 } while (ret && !test_bit(CACHE_SET_IO_DISABLE, &c->flags)); 1865 1866 bch_btree_gc_finish(c); 1867 wake_up_allocators(c); 1868 1869 bch_time_stats_update(&c->btree_gc_time, stats.start_time); > 1870 stats.average_cost = stats.gc_cost / stats.nodes; 1871 pr_info("gc %llu times with %llu nodes, sleep %llums, " 1872 "average gc cost %lluus per node", 1873 (uint64_t)stats.times, (uint64_t)stats.nodes, 1874 div_u64(stats.sleep_cost, NSEC_PER_MSEC), 1875 div_u64(stats.average_cost, NSEC_PER_USEC)); 1876 1877 stats.key_bytes *= sizeof(uint64_t); 1878 stats.data <<= 9; 1879 bch_update_bucket_in_use(c, &stats); 1880 memcpy(&c->gc_stats, &stats, sizeof(struct gc_stat)); 1881 1882 trace_bcache_gc_end(c); 1883 1884 bch_moving_gc(c); 1885 } 1886 -- 0-DAY CI Kernel Test Service https://01.org/lkp