mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Colin Ian King <colin.i.king@gmail.com>, Jan Kara <jack@suse.com>,
	linux-ext4@vger.kernel.org
Cc: oe-kbuild-all@lists.linux.dev, kernel-janitors@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH][next] ext2: remove redundant assignment to variable desc
Date: Sat, 1 Jul 2023 03:14:57 +0800	[thread overview]
Message-ID: <202307010203.gNQQkF8h-lkp@intel.com> (raw)
In-Reply-To: <20230630163033.165326-1-colin.i.king@gmail.com>

Hi Colin,

kernel test robot noticed the following build warnings:

[auto build test WARNING on linus/master]
[also build test WARNING on v6.4 next-20230630]
[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/Colin-Ian-King/ext2-remove-redundant-assignment-to-variable-desc/20230701-003209
base:   linus/master
patch link:    https://lore.kernel.org/r/20230630163033.165326-1-colin.i.king%40gmail.com
patch subject: [PATCH][next] ext2: remove redundant assignment to variable desc
config: alpha-allyesconfig (https://download.01.org/0day-ci/archive/20230701/202307010203.gNQQkF8h-lkp@intel.com/config)
compiler: alpha-linux-gcc (GCC) 12.3.0
reproduce: (https://download.01.org/0day-ci/archive/20230701/202307010203.gNQQkF8h-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202307010203.gNQQkF8h-lkp@intel.com/

All warnings (new ones prefixed by >>):

   fs/ext2/ialloc.c: In function 'find_group_orlov':
>> fs/ext2/ialloc.c:276:41: warning: variable 'best_desc' set but not used [-Wunused-but-set-variable]
     276 |                 struct ext2_group_desc *best_desc = NULL;
         |                                         ^~~~~~~~~


vim +/best_desc +276 fs/ext2/ialloc.c

^1da177e4c3f41 Linus Torvalds     2005-04-16  250  
^1da177e4c3f41 Linus Torvalds     2005-04-16  251  static int find_group_orlov(struct super_block *sb, struct inode *parent)
^1da177e4c3f41 Linus Torvalds     2005-04-16  252  {
^1da177e4c3f41 Linus Torvalds     2005-04-16  253  	int parent_group = EXT2_I(parent)->i_block_group;
^1da177e4c3f41 Linus Torvalds     2005-04-16  254  	struct ext2_sb_info *sbi = EXT2_SB(sb);
^1da177e4c3f41 Linus Torvalds     2005-04-16  255  	struct ext2_super_block *es = sbi->s_es;
^1da177e4c3f41 Linus Torvalds     2005-04-16  256  	int ngroups = sbi->s_groups_count;
^1da177e4c3f41 Linus Torvalds     2005-04-16  257  	int inodes_per_group = EXT2_INODES_PER_GROUP(sb);
^1da177e4c3f41 Linus Torvalds     2005-04-16  258  	int freei;
^1da177e4c3f41 Linus Torvalds     2005-04-16  259  	int avefreei;
^1da177e4c3f41 Linus Torvalds     2005-04-16  260  	int free_blocks;
^1da177e4c3f41 Linus Torvalds     2005-04-16  261  	int avefreeb;
^1da177e4c3f41 Linus Torvalds     2005-04-16  262  	int blocks_per_dir;
^1da177e4c3f41 Linus Torvalds     2005-04-16  263  	int ndirs;
^1da177e4c3f41 Linus Torvalds     2005-04-16  264  	int max_debt, max_dirs, min_blocks, min_inodes;
^1da177e4c3f41 Linus Torvalds     2005-04-16  265  	int group = -1, i;
^1da177e4c3f41 Linus Torvalds     2005-04-16  266  	struct ext2_group_desc *desc;
^1da177e4c3f41 Linus Torvalds     2005-04-16  267  
^1da177e4c3f41 Linus Torvalds     2005-04-16  268  	freei = percpu_counter_read_positive(&sbi->s_freeinodes_counter);
^1da177e4c3f41 Linus Torvalds     2005-04-16  269  	avefreei = freei / ngroups;
^1da177e4c3f41 Linus Torvalds     2005-04-16  270  	free_blocks = percpu_counter_read_positive(&sbi->s_freeblocks_counter);
^1da177e4c3f41 Linus Torvalds     2005-04-16  271  	avefreeb = free_blocks / ngroups;
^1da177e4c3f41 Linus Torvalds     2005-04-16  272  	ndirs = percpu_counter_read_positive(&sbi->s_dirs_counter);
^1da177e4c3f41 Linus Torvalds     2005-04-16  273  
2b0143b5c986be David Howells      2015-03-17  274  	if ((parent == d_inode(sb->s_root)) ||
^1da177e4c3f41 Linus Torvalds     2005-04-16  275  	    (EXT2_I(parent)->i_flags & EXT2_TOPDIR_FL)) {
^1da177e4c3f41 Linus Torvalds     2005-04-16 @276  		struct ext2_group_desc *best_desc = NULL;
^1da177e4c3f41 Linus Torvalds     2005-04-16  277  		int best_ndir = inodes_per_group;
^1da177e4c3f41 Linus Torvalds     2005-04-16  278  		int best_group = -1;
^1da177e4c3f41 Linus Torvalds     2005-04-16  279  
8032bf1233a746 Jason A. Donenfeld 2022-10-09  280  		parent_group = get_random_u32_below(ngroups);
^1da177e4c3f41 Linus Torvalds     2005-04-16  281  		for (i = 0; i < ngroups; i++) {
^1da177e4c3f41 Linus Torvalds     2005-04-16  282  			group = (parent_group + i) % ngroups;
ef2fb67989d30f Eric Sandeen       2007-10-16  283  			desc = ext2_get_group_desc (sb, group, NULL);
^1da177e4c3f41 Linus Torvalds     2005-04-16  284  			if (!desc || !desc->bg_free_inodes_count)
^1da177e4c3f41 Linus Torvalds     2005-04-16  285  				continue;
^1da177e4c3f41 Linus Torvalds     2005-04-16  286  			if (le16_to_cpu(desc->bg_used_dirs_count) >= best_ndir)
^1da177e4c3f41 Linus Torvalds     2005-04-16  287  				continue;
^1da177e4c3f41 Linus Torvalds     2005-04-16  288  			if (le16_to_cpu(desc->bg_free_inodes_count) < avefreei)
^1da177e4c3f41 Linus Torvalds     2005-04-16  289  				continue;
^1da177e4c3f41 Linus Torvalds     2005-04-16  290  			if (le16_to_cpu(desc->bg_free_blocks_count) < avefreeb)
^1da177e4c3f41 Linus Torvalds     2005-04-16  291  				continue;
^1da177e4c3f41 Linus Torvalds     2005-04-16  292  			best_group = group;
^1da177e4c3f41 Linus Torvalds     2005-04-16  293  			best_ndir = le16_to_cpu(desc->bg_used_dirs_count);
^1da177e4c3f41 Linus Torvalds     2005-04-16  294  			best_desc = desc;
^1da177e4c3f41 Linus Torvalds     2005-04-16  295  		}
^1da177e4c3f41 Linus Torvalds     2005-04-16  296  		if (best_group >= 0) {
^1da177e4c3f41 Linus Torvalds     2005-04-16  297  			group = best_group;
^1da177e4c3f41 Linus Torvalds     2005-04-16  298  			goto found;
^1da177e4c3f41 Linus Torvalds     2005-04-16  299  		}
^1da177e4c3f41 Linus Torvalds     2005-04-16  300  		goto fallback;
^1da177e4c3f41 Linus Torvalds     2005-04-16  301  	}
^1da177e4c3f41 Linus Torvalds     2005-04-16  302  
^1da177e4c3f41 Linus Torvalds     2005-04-16  303  	if (ndirs == 0)
^1da177e4c3f41 Linus Torvalds     2005-04-16  304  		ndirs = 1;	/* percpu_counters are approximate... */
^1da177e4c3f41 Linus Torvalds     2005-04-16  305  
^1da177e4c3f41 Linus Torvalds     2005-04-16  306  	blocks_per_dir = (le32_to_cpu(es->s_blocks_count)-free_blocks) / ndirs;
^1da177e4c3f41 Linus Torvalds     2005-04-16  307  
^1da177e4c3f41 Linus Torvalds     2005-04-16  308  	max_dirs = ndirs / ngroups + inodes_per_group / 16;
^1da177e4c3f41 Linus Torvalds     2005-04-16  309  	min_inodes = avefreei - inodes_per_group / 4;
^1da177e4c3f41 Linus Torvalds     2005-04-16  310  	min_blocks = avefreeb - EXT2_BLOCKS_PER_GROUP(sb) / 4;
^1da177e4c3f41 Linus Torvalds     2005-04-16  311  
^1da177e4c3f41 Linus Torvalds     2005-04-16  312  	max_debt = EXT2_BLOCKS_PER_GROUP(sb) / max(blocks_per_dir, BLOCK_COST);
^1da177e4c3f41 Linus Torvalds     2005-04-16  313  	if (max_debt * INODE_COST > inodes_per_group)
^1da177e4c3f41 Linus Torvalds     2005-04-16  314  		max_debt = inodes_per_group / INODE_COST;
^1da177e4c3f41 Linus Torvalds     2005-04-16  315  	if (max_debt > 255)
^1da177e4c3f41 Linus Torvalds     2005-04-16  316  		max_debt = 255;
^1da177e4c3f41 Linus Torvalds     2005-04-16  317  	if (max_debt == 0)
^1da177e4c3f41 Linus Torvalds     2005-04-16  318  		max_debt = 1;
^1da177e4c3f41 Linus Torvalds     2005-04-16  319  
^1da177e4c3f41 Linus Torvalds     2005-04-16  320  	for (i = 0; i < ngroups; i++) {
^1da177e4c3f41 Linus Torvalds     2005-04-16  321  		group = (parent_group + i) % ngroups;
ef2fb67989d30f Eric Sandeen       2007-10-16  322  		desc = ext2_get_group_desc (sb, group, NULL);
^1da177e4c3f41 Linus Torvalds     2005-04-16  323  		if (!desc || !desc->bg_free_inodes_count)
^1da177e4c3f41 Linus Torvalds     2005-04-16  324  			continue;
^1da177e4c3f41 Linus Torvalds     2005-04-16  325  		if (sbi->s_debts[group] >= max_debt)
^1da177e4c3f41 Linus Torvalds     2005-04-16  326  			continue;
^1da177e4c3f41 Linus Torvalds     2005-04-16  327  		if (le16_to_cpu(desc->bg_used_dirs_count) >= max_dirs)
^1da177e4c3f41 Linus Torvalds     2005-04-16  328  			continue;
^1da177e4c3f41 Linus Torvalds     2005-04-16  329  		if (le16_to_cpu(desc->bg_free_inodes_count) < min_inodes)
^1da177e4c3f41 Linus Torvalds     2005-04-16  330  			continue;
^1da177e4c3f41 Linus Torvalds     2005-04-16  331  		if (le16_to_cpu(desc->bg_free_blocks_count) < min_blocks)
^1da177e4c3f41 Linus Torvalds     2005-04-16  332  			continue;
^1da177e4c3f41 Linus Torvalds     2005-04-16  333  		goto found;
^1da177e4c3f41 Linus Torvalds     2005-04-16  334  	}
^1da177e4c3f41 Linus Torvalds     2005-04-16  335  
^1da177e4c3f41 Linus Torvalds     2005-04-16  336  fallback:
^1da177e4c3f41 Linus Torvalds     2005-04-16  337  	for (i = 0; i < ngroups; i++) {
^1da177e4c3f41 Linus Torvalds     2005-04-16  338  		group = (parent_group + i) % ngroups;
ef2fb67989d30f Eric Sandeen       2007-10-16  339  		desc = ext2_get_group_desc (sb, group, NULL);
^1da177e4c3f41 Linus Torvalds     2005-04-16  340  		if (!desc || !desc->bg_free_inodes_count)
^1da177e4c3f41 Linus Torvalds     2005-04-16  341  			continue;
^1da177e4c3f41 Linus Torvalds     2005-04-16  342  		if (le16_to_cpu(desc->bg_free_inodes_count) >= avefreei)
^1da177e4c3f41 Linus Torvalds     2005-04-16  343  			goto found;
^1da177e4c3f41 Linus Torvalds     2005-04-16  344  	}
^1da177e4c3f41 Linus Torvalds     2005-04-16  345  
^1da177e4c3f41 Linus Torvalds     2005-04-16  346  	if (avefreei) {
^1da177e4c3f41 Linus Torvalds     2005-04-16  347  		/*
^1da177e4c3f41 Linus Torvalds     2005-04-16  348  		 * The free-inodes counter is approximate, and for really small
^1da177e4c3f41 Linus Torvalds     2005-04-16  349  		 * filesystems the above test can fail to find any blockgroups
^1da177e4c3f41 Linus Torvalds     2005-04-16  350  		 */
^1da177e4c3f41 Linus Torvalds     2005-04-16  351  		avefreei = 0;
^1da177e4c3f41 Linus Torvalds     2005-04-16  352  		goto fallback;
^1da177e4c3f41 Linus Torvalds     2005-04-16  353  	}
^1da177e4c3f41 Linus Torvalds     2005-04-16  354  
^1da177e4c3f41 Linus Torvalds     2005-04-16  355  	return -1;
^1da177e4c3f41 Linus Torvalds     2005-04-16  356  
^1da177e4c3f41 Linus Torvalds     2005-04-16  357  found:
^1da177e4c3f41 Linus Torvalds     2005-04-16  358  	return group;
^1da177e4c3f41 Linus Torvalds     2005-04-16  359  }
^1da177e4c3f41 Linus Torvalds     2005-04-16  360  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

      parent reply	other threads:[~2023-06-30 19:15 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-30 16:30 Colin Ian King
2023-06-30 16:47 ` Dan Carpenter
2023-06-30 16:53   ` Colin King (gmail)
2023-06-30 19:14 ` kernel test robot [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202307010203.gNQQkF8h-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=colin.i.king@gmail.com \
    --cc=jack@suse.com \
    --cc=kernel-janitors@vger.kernel.org \
    --cc=linux-ext4@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=oe-kbuild-all@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®