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-optimizations/20211017-093822 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/6ed4540d0461ab59f1dc96a0b448eb12c3446182 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 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(a)lists.01.org