Hi Paolo, I love your patch! Perhaps something to improve: [auto build test WARNING on axboe-block/for-next] [also build test WARNING on linus/master v6.1-rc2 next-20221028] [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#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Paolo-Valente/block-bfq-extend-bfq-to-support-multi-actuator-drives/20221030-180610 base: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next patch link: https://lore.kernel.org/r/20221030100300.3085-4-paolo.valente%40linaro.org patch subject: [PATCH V5 3/8] block, bfq: move io_cq-persistent bfqq data into a dedicated struct config: um-x86_64_defconfig compiler: gcc-11 (Debian 11.3.0-8) 11.3.0 reproduce (this is a W=1 build): # https://github.com/intel-lab-lkp/linux/commit/e9ae32999c0de8d997a84bacf506dbd3621c934f git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Paolo-Valente/block-bfq-extend-bfq-to-support-multi-actuator-drives/20221030-180610 git checkout e9ae32999c0de8d997a84bacf506dbd3621c934f # save the config file mkdir build_dir && cp config build_dir/.config make W=1 O=build_dir ARCH=um SUBARCH=x86_64 SHELL=/bin/bash block/ If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot All warnings (new ones prefixed by >>): block/bfq-iosched.c: In function 'bfq_bfqq_save_state': >> block/bfq-iosched.c:3055:35: warning: variable 'bfqq_data' set but not used [-Wunused-but-set-variable] 3055 | struct bfq_iocq_bfqq_data bfqq_data = bic->bfqq_data; | ^~~~~~~~~ block/bfq-iosched.c: In function 'bfq_do_early_stable_merge': block/bfq-iosched.c:5640:35: warning: variable 'bfqq_data' set but not used [-Wunused-but-set-variable] 5640 | struct bfq_iocq_bfqq_data bfqq_data = bic->bfqq_data; | ^~~~~~~~~ block/bfq-iosched.c: In function 'bfq_do_or_sched_stable_merge': block/bfq-iosched.c:5716:35: warning: variable 'bfqq_data' set but not used [-Wunused-but-set-variable] 5716 | struct bfq_iocq_bfqq_data bfqq_data = bic->bfqq_data; | ^~~~~~~~~ vim +/bfqq_data +3055 block/bfq-iosched.c 3051 3052 static void bfq_bfqq_save_state(struct bfq_queue *bfqq) 3053 { 3054 struct bfq_io_cq *bic = bfqq->bic; > 3055 struct bfq_iocq_bfqq_data bfqq_data = bic->bfqq_data; 3056 3057 /* 3058 * If !bfqq->bic, the queue is already shared or its requests 3059 * have already been redirected to a shared queue; both idle window 3060 * and weight raising state have already been saved. Do nothing. 3061 */ 3062 if (!bic) 3063 return; 3064 3065 bfqq_data.saved_last_serv_time_ns = bfqq->last_serv_time_ns; 3066 bfqq_data.saved_inject_limit = bfqq->inject_limit; 3067 bfqq_data.saved_decrease_time_jif = bfqq->decrease_time_jif; 3068 3069 bfqq_data.saved_weight = bfqq->entity.orig_weight; 3070 bfqq_data.saved_ttime = bfqq->ttime; 3071 bfqq_data.saved_has_short_ttime = 3072 bfq_bfqq_has_short_ttime(bfqq); 3073 bfqq_data.saved_IO_bound = bfq_bfqq_IO_bound(bfqq); 3074 bfqq_data.saved_io_start_time = bfqq->io_start_time; 3075 bfqq_data.saved_tot_idle_time = bfqq->tot_idle_time; 3076 bfqq_data.saved_in_large_burst = bfq_bfqq_in_large_burst(bfqq); 3077 bfqq_data.was_in_burst_list = 3078 !hlist_unhashed(&bfqq->burst_list_node); 3079 3080 if (unlikely(bfq_bfqq_just_created(bfqq) && 3081 !bfq_bfqq_in_large_burst(bfqq) && 3082 bfqq->bfqd->low_latency)) { 3083 /* 3084 * bfqq being merged right after being created: bfqq 3085 * would have deserved interactive weight raising, but 3086 * did not make it to be set in a weight-raised state, 3087 * because of this early merge. Store directly the 3088 * weight-raising state that would have been assigned 3089 * to bfqq, so that to avoid that bfqq unjustly fails 3090 * to enjoy weight raising if split soon. 3091 */ 3092 bfqq_data.saved_wr_coeff = bfqq->bfqd->bfq_wr_coeff; 3093 bfqq_data.saved_wr_start_at_switch_to_srt = 3094 bfq_smallest_from_now(); 3095 bfqq_data.saved_wr_cur_max_time = 3096 bfq_wr_duration(bfqq->bfqd); 3097 bfqq_data.saved_last_wr_start_finish = jiffies; 3098 } else { 3099 bfqq_data.saved_wr_coeff = bfqq->wr_coeff; 3100 bfqq_data.saved_wr_start_at_switch_to_srt = 3101 bfqq->wr_start_at_switch_to_srt; 3102 bfqq_data.saved_service_from_wr = 3103 bfqq->service_from_wr; 3104 bfqq_data.saved_last_wr_start_finish = 3105 bfqq->last_wr_start_finish; 3106 bfqq_data.saved_wr_cur_max_time = bfqq->wr_cur_max_time; 3107 } 3108 } 3109 -- 0-DAY CI Kernel Test Service https://01.org/lkp