[kdave-btrfs-devel:misc-next 105/114] fs/btrfs/zstd.c:98: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
From: kernel test robot
Date: Fri Apr 15 2022 - 07:28:26 EST
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