Re: [PATCH] bcache: dynamic incremental gc

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

 



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



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux ARM Kernel]     [Linux Filesystem Development]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux