lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<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

Powered by Openwall GNU/*/Linux Powered by OpenVZ