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-rc6 next-20211022]
[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: um-x86_64_defconfig (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
#
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
make W=1 ARCH=um SUBARCH=x86_64
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: In function 'blk_flush_plug_list':
> block/blk-core.c:1636:7: error: implicit declaration of function
'rq_list_empty'; did you mean 'bio_list_empty'?
[-Werror=implicit-function-declaration]
1636 | if
(!rq_list_empty(plug->mq_list))
| ^~~~~~~~~~~~~
| bio_list_empty
cc1: some warnings being treated as errors
--
block/blk-merge.c: In function 'blk_attempt_plug_merge':
> block/blk-merge.c:1094:15: error: implicit declaration of
function 'rq_list_empty'; did you mean 'bio_list_empty'?
[-Werror=implicit-function-declaration]
1094 | if (!plug ||
rq_list_empty(plug->mq_list))
| ^~~~~~~~~~~~~
| bio_list_empty
> block/blk-merge.c:1098:7: error: implicit declaration of function
'rq_list_peek'; did you mean 'bio_list_peek'?
[-Werror=implicit-function-declaration]
1098 | rq =
rq_list_peek(&plug->mq_list);
| ^~~~~~~~~~~~
| bio_list_peek
> block/blk-merge.c:1098:5: warning: assignment to 'struct
request *' from 'int' makes pointer from integer without a cast
[-Wint-conversion]
1098 | rq = rq_list_peek(&plug->mq_list);
| ^
cc1: some warnings being treated as errors
--
block/blk-mq.c: In function 'blk_mq_plug_issue_direct':
> block/blk-mq.c:2134:10: error: implicit declaration of function
'rq_list_empty'; did you mean 'bio_list_empty'?
[-Werror=implicit-function-declaration]
2134 | while
(!rq_list_empty(plug->mq_list)) {
| ^~~~~~~~~~~~~
| bio_list_empty
> block/blk-mq.c:2138:8: error: implicit declaration of function
'rq_list_pop'; did you mean 'bio_list_pop'?
[-Werror=implicit-function-declaration]
2138 | rq =
rq_list_pop(&plug->mq_list);
| ^~~~~~~~~~~
| bio_list_pop
> block/blk-mq.c:2138:6: warning: assignment to 'struct request
*' from 'int' makes pointer from integer without a cast [-Wint-conversion]
2138 | rq = rq_list_pop(&plug->mq_list);
| ^
block/blk-mq.c: In function 'blk_mq_flush_plug_list':
block/blk-mq.c:2197:6: warning: assignment to 'struct request *' from
'int' makes pointer from integer without a cast [-Wint-conversion]
2197 | rq = rq_list_pop(&plug->mq_list);
| ^
block/blk-mq.c: In function 'blk_add_rq_to_plug':
> block/blk-mq.c:2402:25: error: implicit declaration of function
'rq_list_peek'; did you mean 'bio_list_peek'?
[-Werror=implicit-function-declaration]
2402 | struct request *nxt =
rq_list_peek(&plug->mq_list);
| ^~~~~~~~~~~~
| bio_list_peek
> block/blk-mq.c:2402:25: warning: initialization of 'struct
request *' from 'int' makes pointer from integer without a cast
[-Wint-conversion]
> block/blk-mq.c:2410:2: error: implicit declaration of function 'rq_list_add';
did you mean 'rq_qos_add'? [-Werror=implicit-function-declaration]
2410
| rq_list_add(&plug->mq_list, rq);
| ^~~~~~~~~~~
| rq_qos_add
block/blk-mq.c: In function 'blk_mq_submit_bio':
block/blk-mq.c:2526:8: warning: assignment to 'struct request *' from
'int' makes pointer from integer without a cast [-Wint-conversion]
2526 | tmp = rq_list_peek(&plug->mq_list);
| ^
block/blk-mq.c:2551:13: warning: assignment to 'struct request *' from
'int' makes pointer from integer without a cast [-Wint-conversion]
2551 | first_rq = rq_list_pop(&plug->mq_list);
| ^
cc1: some warnings being treated as errors
vim +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