[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <202202210559.9VjKAZdv-lkp@intel.com>
Date: Mon, 21 Feb 2022 05:53:47 +0800
From: kernel test robot <lkp@...el.com>
To: Olivier Langlois <olivier@...llion01.com>,
Jens Axboe <axboe@...nel.dk>
Cc: kbuild-all@...ts.01.org, Pavel Begunkov <asml.silence@...il.com>,
Hao Xu <haoxu@...ux.alibaba.com>,
io-uring <io-uring@...r.kernel.org>,
linux-kernel <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v1] io_uring: Add support for napi_busy_poll
Hi Olivier,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on linus/master]
[also build test ERROR on v5.17-rc4]
[cannot apply to next-20220217]
[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/0day-ci/linux/commits/Olivier-Langlois/io_uring-Add-support-for-napi_busy_poll/20220220-190634
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 4f12b742eb2b3a850ac8be7dc4ed52976fc6cb0b
config: nds32-allnoconfig (https://download.01.org/0day-ci/archive/20220221/202202210559.9VjKAZdv-lkp@intel.com/config)
compiler: nds32le-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/0day-ci/linux/commit/ad36ae938f354b0cd3b38716572385f710accdb0
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Olivier-Langlois/io_uring-Add-support-for-napi_busy_poll/20220220-190634
git checkout ad36ae938f354b0cd3b38716572385f710accdb0
# 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=nds32 SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@...el.com>
All errors (new ones prefixed by >>):
fs/io_uring.c: In function 'io_ring_ctx_alloc':
>> fs/io_uring.c:1472:28: error: 'struct io_ring_ctx' has no member named 'napi_list'
1472 | INIT_LIST_HEAD(&ctx->napi_list);
| ^~
fs/io_uring.c: In function '__io_submit_flush_completions':
fs/io_uring.c:2529:40: warning: variable 'prev' set but not used [-Wunused-but-set-variable]
2529 | struct io_wq_work_node *node, *prev;
| ^~~~
vim +1472 fs/io_uring.c
1413
1414 static __cold struct io_ring_ctx *io_ring_ctx_alloc(struct io_uring_params *p)
1415 {
1416 struct io_ring_ctx *ctx;
1417 int hash_bits;
1418
1419 ctx = kzalloc(sizeof(*ctx), GFP_KERNEL);
1420 if (!ctx)
1421 return NULL;
1422
1423 /*
1424 * Use 5 bits less than the max cq entries, that should give us around
1425 * 32 entries per hash list if totally full and uniformly spread.
1426 */
1427 hash_bits = ilog2(p->cq_entries);
1428 hash_bits -= 5;
1429 if (hash_bits <= 0)
1430 hash_bits = 1;
1431 ctx->cancel_hash_bits = hash_bits;
1432 ctx->cancel_hash = kmalloc((1U << hash_bits) * sizeof(struct hlist_head),
1433 GFP_KERNEL);
1434 if (!ctx->cancel_hash)
1435 goto err;
1436 __hash_init(ctx->cancel_hash, 1U << hash_bits);
1437
1438 ctx->dummy_ubuf = kzalloc(sizeof(*ctx->dummy_ubuf), GFP_KERNEL);
1439 if (!ctx->dummy_ubuf)
1440 goto err;
1441 /* set invalid range, so io_import_fixed() fails meeting it */
1442 ctx->dummy_ubuf->ubuf = -1UL;
1443
1444 if (percpu_ref_init(&ctx->refs, io_ring_ctx_ref_free,
1445 PERCPU_REF_ALLOW_REINIT, GFP_KERNEL))
1446 goto err;
1447
1448 ctx->flags = p->flags;
1449 init_waitqueue_head(&ctx->sqo_sq_wait);
1450 INIT_LIST_HEAD(&ctx->sqd_list);
1451 INIT_LIST_HEAD(&ctx->cq_overflow_list);
1452 init_completion(&ctx->ref_comp);
1453 xa_init_flags(&ctx->io_buffers, XA_FLAGS_ALLOC1);
1454 xa_init_flags(&ctx->personalities, XA_FLAGS_ALLOC1);
1455 mutex_init(&ctx->uring_lock);
1456 init_waitqueue_head(&ctx->cq_wait);
1457 spin_lock_init(&ctx->completion_lock);
1458 spin_lock_init(&ctx->timeout_lock);
1459 INIT_WQ_LIST(&ctx->iopoll_list);
1460 INIT_LIST_HEAD(&ctx->defer_list);
1461 INIT_LIST_HEAD(&ctx->timeout_list);
1462 INIT_LIST_HEAD(&ctx->ltimeout_list);
1463 spin_lock_init(&ctx->rsrc_ref_lock);
1464 INIT_LIST_HEAD(&ctx->rsrc_ref_list);
1465 INIT_DELAYED_WORK(&ctx->rsrc_put_work, io_rsrc_put_work);
1466 init_llist_head(&ctx->rsrc_put_llist);
1467 INIT_LIST_HEAD(&ctx->tctx_list);
1468 ctx->submit_state.free_list.next = NULL;
1469 INIT_WQ_LIST(&ctx->locked_free_list);
1470 INIT_DELAYED_WORK(&ctx->fallback_work, io_fallback_req_func);
1471 INIT_WQ_LIST(&ctx->submit_state.compl_reqs);
> 1472 INIT_LIST_HEAD(&ctx->napi_list);
1473 return ctx;
1474 err:
1475 kfree(ctx->dummy_ubuf);
1476 kfree(ctx->cancel_hash);
1477 kfree(ctx);
1478 return NULL;
1479 }
1480
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
Powered by blists - more mailing lists