lkml.org 
[lkml]   [2022]   [Feb]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [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: arm64-randconfig-r002-20220220 (https://download.01.org/0day-ci/archive/20220221/202202210455.Gdq2HOnj-lkp@intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project d271fc04d5b97b12e6b797c6067d3c96a8d7470e)
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
# install arm64 cross compiling tool for clang build
# apt-get install binutils-aarch64-linux-gnu
# 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=clang make.cross W=1 O=build_dir ARCH=arm64 SHELL=/bin/bash

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

>> fs/io_uring.c:1472:23: error: no member named 'napi_list' in 'struct io_ring_ctx'
INIT_LIST_HEAD(&ctx->napi_list);
~~~ ^
1 error generated.


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

\
 
 \ /
  Last update: 2022-02-20 21:53    [W:0.225 / U:1.120 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site