[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <201809110101.zSjrfTPN%fengguang.wu@intel.com>
Date: Tue, 11 Sep 2018 01:36:39 +0800
From: kbuild test robot <lkp@...el.com>
To: Sahitya Tummala <stummala@...eaurora.org>
Cc: kbuild-all@...org, Jaegeuk Kim <jaegeuk@...nel.org>,
Chao Yu <yuchao0@...wei.com>,
linux-f2fs-devel@...ts.sourceforge.net,
linux-kernel@...r.kernel.org,
Sahitya Tummala <stummala@...eaurora.org>
Subject: Re: [PATCH] f2fs: add new idle interval timing for discard and gc
paths
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 <yuchao0@...wei.com>
:::::: CC: Jaegeuk Kim <jaegeuk@...nel.org>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
Download attachment ".config.gz" of type "application/gzip" (28962 bytes)
Powered by blists - more mailing lists