tree: https://github.com/kdave/btrfs-devel.git misc-next head: 550a34e972578538fd0826916ae4fc407b62bb68 commit: b672526e2ee9352854d286f400122f7690f70970 [105/114] btrfs: use non-bh spin_lock in zstd timer callback config: parisc-buildonly-randconfig-r005-20220414 (https://download.01.org/0day-ci/archive/20220415/202204151928.EdPKEQ9z-lkp@xxxxxxxxx/config) compiler: hppa64-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/kdave/btrfs-devel/commit/b672526e2ee9352854d286f400122f7690f70970 git remote add kdave-btrfs-devel https://github.com/kdave/btrfs-devel.git git fetch --no-tags kdave-btrfs-devel misc-next git checkout b672526e2ee9352854d286f400122f7690f70970 # save the config file to linux build tree mkdir build_dir COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=parisc64 SHELL=/bin/bash fs/btrfs/ If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@xxxxxxxxx> All warnings (new ones prefixed by >>): >> fs/btrfs/zstd.c:98: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst * Timer callback to free unused workspaces. vim +98 fs/btrfs/zstd.c 96 97 /** > 98 * Timer callback to free unused workspaces. 99 * 100 * @t: timer 101 * 102 * This scans the lru_list and attempts to reclaim any workspace that hasn't 103 * been used for ZSTD_BTRFS_RECLAIM_JIFFIES. 104 * 105 * The context is softirq and does not need the _bh locking primitives. 106 */ 107 static void zstd_reclaim_timer_fn(struct timer_list *timer) 108 { 109 unsigned long reclaim_threshold = jiffies - ZSTD_BTRFS_RECLAIM_JIFFIES; 110 struct list_head *pos, *next; 111 112 spin_lock(&wsm.lock); 113 114 if (list_empty(&wsm.lru_list)) { 115 spin_unlock(&wsm.lock); 116 return; 117 } 118 119 list_for_each_prev_safe(pos, next, &wsm.lru_list) { 120 struct workspace *victim = container_of(pos, struct workspace, 121 lru_list); 122 unsigned int level; 123 124 if (time_after(victim->last_used, reclaim_threshold)) 125 break; 126 127 /* workspace is in use */ 128 if (victim->req_level) 129 continue; 130 131 level = victim->level; 132 list_del(&victim->lru_list); 133 list_del(&victim->list); 134 zstd_free_workspace(&victim->list); 135 136 if (list_empty(&wsm.idle_ws[level - 1])) 137 clear_bit(level - 1, &wsm.active_map); 138 139 } 140 141 if (!list_empty(&wsm.lru_list)) 142 mod_timer(&wsm.timer, jiffies + ZSTD_BTRFS_RECLAIM_JIFFIES); 143 144 spin_unlock(&wsm.lock); 145 } 146 -- 0-DAY CI Kernel Test Service https://01.org/lkp