Hi Sahitya, Thank you for the patch! Yet something to improve:
[auto build test ERROR on f2fs/dev-test] [also build test ERROR on next-20180910] [cannot apply to v4.19-rc3] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Sahitya-Tummala/f2fs-add-new-idle-interval-timing-for-discard-and-gc-paths/20180911-011700 base: https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs.git dev-test config: x86_64-randconfig-x013-201836 (attached as .config) compiler: gcc-7 (Debian 7.3.0-1) 7.3.0 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All errors (new ones prefixed by >>): fs//f2fs/segment.c: In function '__issue_discard_cmd_orderly': >> fs//f2fs/segment.c:1314:29: error: too few arguments to function 'is_idle' if (dpolicy->io_aware && !is_idle(sbi)) { ^~~~~~~ In file included from fs//f2fs/segment.c:22:0: fs//f2fs/f2fs.h:1381:20: note: declared here static inline bool is_idle(struct f2fs_sb_info *sbi, int type) ^~~~~~~ vim +/is_idle +1314 fs//f2fs/segment.c 004b6862 Chao Yu 2017-04-14 1283 20ee4382 Chao Yu 2018-07-08 1284 static unsigned int __issue_discard_cmd_orderly(struct f2fs_sb_info *sbi, 20ee4382 Chao Yu 2018-07-08 1285 struct discard_policy *dpolicy) 20ee4382 Chao Yu 2018-07-08 1286 { 20ee4382 Chao Yu 2018-07-08 1287 struct discard_cmd_control *dcc = SM_I(sbi)->dcc_info; 20ee4382 Chao Yu 2018-07-08 1288 struct discard_cmd *prev_dc = NULL, *next_dc = NULL; 20ee4382 Chao Yu 2018-07-08 1289 struct rb_node **insert_p = NULL, *insert_parent = NULL; 20ee4382 Chao Yu 2018-07-08 1290 struct discard_cmd *dc; 20ee4382 Chao Yu 2018-07-08 1291 struct blk_plug plug; 20ee4382 Chao Yu 2018-07-08 1292 unsigned int pos = dcc->next_pos; 20ee4382 Chao Yu 2018-07-08 1293 unsigned int issued = 0; 20ee4382 Chao Yu 2018-07-08 1294 bool io_interrupted = false; 20ee4382 Chao Yu 2018-07-08 1295 20ee4382 Chao Yu 2018-07-08 1296 mutex_lock(&dcc->cmd_lock); 20ee4382 Chao Yu 2018-07-08 1297 dc = (struct discard_cmd *)f2fs_lookup_rb_tree_ret(&dcc->root, 20ee4382 Chao Yu 2018-07-08 1298 NULL, pos, 20ee4382 Chao Yu 2018-07-08 1299 (struct rb_entry **)&prev_dc, 20ee4382 Chao Yu 2018-07-08 1300 (struct rb_entry **)&next_dc, 20ee4382 Chao Yu 2018-07-08 1301 &insert_p, &insert_parent, true); 20ee4382 Chao Yu 2018-07-08 1302 if (!dc) 20ee4382 Chao Yu 2018-07-08 1303 dc = next_dc; 20ee4382 Chao Yu 2018-07-08 1304 20ee4382 Chao Yu 2018-07-08 1305 blk_start_plug(&plug); 20ee4382 Chao Yu 2018-07-08 1306 20ee4382 Chao Yu 2018-07-08 1307 while (dc) { 20ee4382 Chao Yu 2018-07-08 1308 struct rb_node *node; 6b9cb124 Chao Yu 2018-08-08 1309 int err = 0; 20ee4382 Chao Yu 2018-07-08 1310 20ee4382 Chao Yu 2018-07-08 1311 if (dc->state != D_PREP) 20ee4382 Chao Yu 2018-07-08 1312 goto next; 20ee4382 Chao Yu 2018-07-08 1313 20ee4382 Chao Yu 2018-07-08 @1314 if (dpolicy->io_aware && !is_idle(sbi)) { 20ee4382 Chao Yu 2018-07-08 1315 io_interrupted = true; 20ee4382 Chao Yu 2018-07-08 1316 break; 20ee4382 Chao Yu 2018-07-08 1317 } 20ee4382 Chao Yu 2018-07-08 1318 20ee4382 Chao Yu 2018-07-08 1319 dcc->next_pos = dc->lstart + dc->len; 6b9cb124 Chao Yu 2018-08-08 1320 err = __submit_discard_cmd(sbi, dpolicy, dc, &issued); 20ee4382 Chao Yu 2018-07-08 1321 35ec7d57 Chao Yu 2018-08-06 1322 if (issued >= dpolicy->max_requests) 20ee4382 Chao Yu 2018-07-08 1323 break; 20ee4382 Chao Yu 2018-07-08 1324 next: 20ee4382 Chao Yu 2018-07-08 1325 node = rb_next(&dc->rb_node); 6b9cb124 Chao Yu 2018-08-08 1326 if (err) 6b9cb124 Chao Yu 2018-08-08 1327 __remove_discard_cmd(sbi, dc); 20ee4382 Chao Yu 2018-07-08 1328 dc = rb_entry_safe(node, struct discard_cmd, rb_node); 20ee4382 Chao Yu 2018-07-08 1329 } 20ee4382 Chao Yu 2018-07-08 1330 20ee4382 Chao Yu 2018-07-08 1331 blk_finish_plug(&plug); 20ee4382 Chao Yu 2018-07-08 1332 20ee4382 Chao Yu 2018-07-08 1333 if (!dc) 20ee4382 Chao Yu 2018-07-08 1334 dcc->next_pos = 0; 20ee4382 Chao Yu 2018-07-08 1335 20ee4382 Chao Yu 2018-07-08 1336 mutex_unlock(&dcc->cmd_lock); 20ee4382 Chao Yu 2018-07-08 1337 20ee4382 Chao Yu 2018-07-08 1338 if (!issued && io_interrupted) 20ee4382 Chao Yu 2018-07-08 1339 issued = -1; 20ee4382 Chao Yu 2018-07-08 1340 20ee4382 Chao Yu 2018-07-08 1341 return issued; 20ee4382 Chao Yu 2018-07-08 1342 } 20ee4382 Chao Yu 2018-07-08 1343 :::::: The code at line 1314 was first introduced by commit :::::: 20ee4382322cd9cf6ecfcf4f429ed108c617fb4a f2fs: issue small discard by LBA order :::::: TO: Chao Yu <yuch...@huawei.com> :::::: CC: Jaegeuk Kim <jaeg...@kernel.org> --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
.config.gz
Description: application/gzip