Hi Jens,
I love your patch! Yet something to improve:
[auto build test ERROR on axboe-block/for-next]
[cannot apply to linus/master v5.15-rc5 next-20211015]
[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/Jens-Axboe/Various-block-layer-o...
base:
https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next
config: hexagon-randconfig-r041-20211017 (attached as .config)
compiler: clang version 14.0.0 (
https://github.com/llvm/llvm-project
746dd6a700931988dd9021d3d04718f1929885a5)
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/6ed4540d0461ab59f1dc96a0b448eb12c...
git remote add linux-review
https://github.com/0day-ci/linux
git fetch --no-tags linux-review
Jens-Axboe/Various-block-layer-optimizations/20211017-093822
git checkout 6ed4540d0461ab59f1dc96a0b448eb12c3446182
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=hexagon
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All error/warnings (new ones prefixed by >>):
> block/blk-core.c:1636:7: error: implicit declaration of function
'rq_list_empty' [-Werror,-Wimplicit-function-declaration]
if
(!rq_list_empty(plug->mq_list))
^
1 error generated.
--
> block/blk-merge.c:1094:15: error: implicit declaration of
function 'rq_list_empty' [-Werror,-Wimplicit-function-declaration]
if (!plug || rq_list_empty(plug->mq_list))
^
> block/blk-merge.c:1098:7: error: implicit declaration of function
'rq_list_peek' [-Werror,-Wimplicit-function-declaration]
rq =
rq_list_peek(&plug->mq_list);
^
block/blk-merge.c:1098:7: note: did you mean 'bio_list_peek'?
include/linux/bio.h:553:27: note: 'bio_list_peek' declared here
static inline struct bio *bio_list_peek(struct bio_list *bl)
^
> block/blk-merge.c:1098:5: warning: incompatible integer to
pointer conversion assigning to 'struct request *' from 'int'
[-Wint-conversion]
rq = rq_list_peek(&plug->mq_list);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning and 2 errors generated.
--
> block/blk-mq.c:2134:10: error: implicit declaration of function
'rq_list_empty' [-Werror,-Wimplicit-function-declaration]
while
(!rq_list_empty(plug->mq_list)) {
^
> block/blk-mq.c:2138:8: error: implicit declaration of function
'rq_list_pop' [-Werror,-Wimplicit-function-declaration]
rq = rq_list_pop(&plug->mq_list);
^
block/blk-mq.c:2138:8: note: did you mean 'bio_list_pop'?
include/linux/bio.h:558:27: note: 'bio_list_pop' declared here
static inline struct bio *bio_list_pop(struct bio_list *bl)
^
> block/blk-mq.c:2138:6: warning: incompatible integer to pointer
conversion assigning to 'struct request *' from 'int' [-Wint-conversion]
rq = rq_list_pop(&plug->mq_list);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
block/blk-mq.c:2181:6: error: implicit declaration of function 'rq_list_empty'
[-Werror,-Wimplicit-function-declaration]
if (rq_list_empty(plug->mq_list))
^
block/blk-mq.c:2197:8: error: implicit declaration of function 'rq_list_pop'
[-Werror,-Wimplicit-function-declaration]
rq = rq_list_pop(&plug->mq_list);
^
block/blk-mq.c:2197:6: warning: incompatible integer to pointer conversion assigning to
'struct request *' from 'int' [-Wint-conversion]
rq = rq_list_pop(&plug->mq_list);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
> block/blk-mq.c:2402:25: error: implicit declaration of function
'rq_list_peek' [-Werror,-Wimplicit-function-declaration]
struct request *nxt = rq_list_peek(&plug->mq_list);
^
block/blk-mq.c:2402:25: note: did you mean 'bio_list_peek'?
include/linux/bio.h:553:27: note: 'bio_list_peek' declared here
static inline struct bio *bio_list_peek(struct bio_list *bl)
^
> block/blk-mq.c:2402:19: warning: incompatible integer to pointer
conversion initializing 'struct request *' with an expression of type
'int' [-Wint-conversion]
struct request *nxt =
rq_list_peek(&plug->mq_list);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> block/blk-mq.c:2410:2: error: implicit declaration of function
'rq_list_add' [-Werror,-Wimplicit-function-declaration]
rq_list_add(&plug->mq_list, rq);
^
block/blk-mq.c:2410:2: note: did you mean '__list_add'?
include/linux/list.h:63:20: note: '__list_add' declared here
static inline void __list_add(struct list_head *new,
^
block/blk-mq.c:2526:10: error: implicit declaration of function 'rq_list_peek'
[-Werror,-Wimplicit-function-declaration]
tmp = rq_list_peek(&plug->mq_list);
^
block/blk-mq.c:2526:8: warning: incompatible integer to pointer conversion assigning to
'struct request *' from 'int' [-Wint-conversion]
tmp = rq_list_peek(&plug->mq_list);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
block/blk-mq.c:2550:8: error: implicit declaration of function 'rq_list_empty'
[-Werror,-Wimplicit-function-declaration]
if (!rq_list_empty(plug->mq_list) && same_queue_rq) {
^
block/blk-mq.c:2551:15: error: implicit declaration of function 'rq_list_pop'
[-Werror,-Wimplicit-function-declaration]
first_rq = rq_list_pop(&plug->mq_list);
^
block/blk-mq.c:2551:13: warning: incompatible integer to pointer conversion assigning
to 'struct request *' from 'int' [-Wint-conversion]
first_rq = rq_list_pop(&plug->mq_list);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
5 warnings and 9 errors generated.
vim +/rq_list_empty +1636 block/blk-core.c
1631
1632 void blk_flush_plug_list(struct blk_plug *plug, bool from_schedule)
1633 {
1634 flush_plug_callbacks(plug, from_schedule);
1635
1636 if (!rq_list_empty(plug->mq_list))
1637 blk_mq_flush_plug_list(plug, from_schedule);
1638 if (unlikely(!from_schedule && plug->cached_rq))
1639 blk_mq_free_plug_rqs(plug);
1640 }
1641
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org