Hi Kent, [auto build test WARNING on linus/master] [also build test WARNING on v4.10-rc7] [cannot apply to next-20170207] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Kent-Overstreet/block-Make-rescuer-threads-per-request_queue-not-per-bioset/20170208-130414 config: x86_64-randconfig-x017-201706 (attached as .config) compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All warnings (new ones prefixed by >>): In file included from include/uapi/linux/stddef.h:1:0, from include/linux/stddef.h:4, from include/uapi/linux/posix_types.h:4, from include/uapi/linux/types.h:13, from include/linux/types.h:5, from include/uapi/linux/capability.h:16, from include/linux/capability.h:15, from include/linux/sched.h:15, from include/linux/kasan.h:4, from kernel/sched/core.c:29: kernel/sched/core.c: In function 'sched_submit_work': kernel/sched/core.c:3445:7: error: implicit declaration of function 'bio_list_empty' [-Werror=implicit-function-declaration] !bio_list_empty(&tsk->bio_list->bios) && ^ include/linux/compiler.h:149:30: note: in definition of macro '__trace_if' if (__builtin_constant_p(!!(cond)) ? !!(cond) : \ ^~~~ >> kernel/sched/core.c:3444:2: note: in expansion of macro 'if' if (tsk->bio_list && ^~ kernel/sched/core.c:3445:36: error: dereferencing pointer to incomplete type 'struct bio_plug_list' !bio_list_empty(&tsk->bio_list->bios) && ^ include/linux/compiler.h:149:30: note: in definition of macro '__trace_if' if (__builtin_constant_p(!!(cond)) ? !!(cond) : \ ^~~~ >> kernel/sched/core.c:3444:2: note: in expansion of macro 'if' if (tsk->bio_list && ^~ kernel/sched/core.c:3447:3: error: implicit declaration of function 'blk_punt_blocked_bios' [-Werror=implicit-function-declaration] blk_punt_blocked_bios(tsk->bio_list); ^~~~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors vim +/if +3444 kernel/sched/core.c 3428 3429 /* causes final put_task_struct in finish_task_switch(). */ 3430 __set_current_state(TASK_DEAD); 3431 current->flags |= PF_NOFREEZE; /* tell freezer to ignore us */ 3432 __schedule(false); 3433 BUG(); 3434 /* Avoid "noreturn function does return". */ 3435 for (;;) 3436 cpu_relax(); /* For when BUG is null */ 3437 } 3438 3439 static inline void sched_submit_work(struct task_struct *tsk) 3440 { 3441 if (!tsk->state || tsk_is_pi_blocked(tsk)) 3442 return; 3443 > 3444 if (tsk->bio_list && 3445 !bio_list_empty(&tsk->bio_list->bios) && 3446 tsk->bio_list->q->rescue_workqueue) 3447 blk_punt_blocked_bios(tsk->bio_list); 3448 3449 /* 3450 * If we are going to sleep and we have plugged IO queued, 3451 * make sure to submit it to avoid deadlocks. 3452 */ --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation