[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <202210042126.xp5wG7iz-lkp@intel.com>
Date: Tue, 4 Oct 2022 21:27:35 +0800
From: kernel test robot <lkp@...el.com>
To: Paolo Valente <paolo.valente@...aro.org>,
Jens Axboe <axboe@...nel.dk>
Cc: llvm@...ts.linux.dev, kbuild-all@...ts.01.org,
linux-block@...r.kernel.org, linux-kernel@...r.kernel.org,
jack@...e.cz, andrea.righi@...onical.com, glen.valante@...aro.org,
arie.vanderhoeven@...gate.com, rory.c.chen@...gate.com,
Davide Zini <davidezini2@...il.com>,
Paolo Valente <paolo.valente@...aro.org>
Subject: Re: [PATCH V3 7/8] block, bfq: inject I/O to underutilized actuators
Hi Paolo,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on axboe-block/for-next]
[also build test WARNING on linus/master v6.0 next-20220930]
[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/20221004-174503
base: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next
config: i386-randconfig-a004-20221003
compiler: clang version 14.0.6 (https://github.com/llvm/llvm-project f28c006a5895fc0e329fe15fead81e37457cb1d1)
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/intel-lab-lkp/linux/commit/badc4a914c2ee8880ec1f5b498588235c77e05f9
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/20221004-174503
git checkout badc4a914c2ee8880ec1f5b498588235c77e05f9
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=i386 SHELL=/bin/bash block/
If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@...el.com>
All warnings (new ones prefixed by >>):
>> block/bfq-iosched.c:4781:19: warning: no previous prototype for function 'bfq_find_active_bfqq_for_actuator' [-Wmissing-prototypes]
struct bfq_queue *bfq_find_active_bfqq_for_actuator(struct bfq_data *bfqd,
^
block/bfq-iosched.c:4781:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
struct bfq_queue *bfq_find_active_bfqq_for_actuator(struct bfq_data *bfqd,
^
static
>> block/bfq-iosched.c:4808:19: warning: no previous prototype for function 'bfq_find_bfqq_for_underused_actuator' [-Wmissing-prototypes]
struct bfq_queue *bfq_find_bfqq_for_underused_actuator(struct bfq_data *bfqd)
^
block/bfq-iosched.c:4808:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
struct bfq_queue *bfq_find_bfqq_for_underused_actuator(struct bfq_data *bfqd)
^
static
2 warnings generated.
vim +/bfq_find_active_bfqq_for_actuator +4781 block/bfq-iosched.c
4780
> 4781 struct bfq_queue *bfq_find_active_bfqq_for_actuator(struct bfq_data *bfqd,
4782 int idx)
4783 {
4784 struct bfq_queue *bfqq = NULL;
4785
4786 if (bfqd->in_service_queue &&
4787 bfqd->in_service_queue->actuator_idx == idx)
4788 return bfqd->in_service_queue;
4789
4790 list_for_each_entry(bfqq, &bfqd->active_list[idx], bfqq_list) {
4791 if (!RB_EMPTY_ROOT(&bfqq->sort_list) &&
4792 bfq_serv_to_charge(bfqq->next_rq, bfqq) <=
4793 bfq_bfqq_budget_left(bfqq)) {
4794 return bfqq;
4795 }
4796 }
4797
4798 return NULL;
4799 }
4800
4801 /*
4802 * Perform a linear scan of each actuator, until an actuator is found
4803 * for which the following two conditions hold: the load of the
4804 * actuator is below the threshold (see comments on actuator_load_threshold
4805 * for details), and there is a queue that contains I/O for that
4806 * actuator. On success, return that queue.
4807 */
> 4808 struct bfq_queue *bfq_find_bfqq_for_underused_actuator(struct bfq_data *bfqd)
4809 {
4810 int i;
4811
4812 for (i = 0 ; i < bfqd->num_ia_ranges; i++)
4813 if (bfqd->rq_in_driver[i] < bfqd->actuator_load_threshold) {
4814 struct bfq_queue *bfqq =
4815 bfq_find_active_bfqq_for_actuator(bfqd, i);
4816
4817 if (bfqq)
4818 return bfqq;
4819 }
4820
4821 return NULL;
4822 }
4823
--
0-DAY CI Kernel Test Service
https://01.org/lkp
View attachment "config" of type "text/plain" (140205 bytes)
Powered by blists - more mailing lists