All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: oe-kbuild@lists.linux.dev
Cc: lkp@intel.com
Subject: Re: [PATCH] f2fs: reduce stack memory cost by using bitfield in struct f2fs_io_info
Date: Mon, 30 Jan 2023 02:49:54 +0800	[thread overview]
Message-ID: <202301300256.4XdrZjzc-lkp@intel.com> (raw)

:::::: 
:::::: Manual check reason: "low confidence static check warning: fs/f2fs/f2fs.h:1217:24: sparse: sparse: dubious one-bit signed bitfield"
:::::: 

BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
In-Reply-To: <20230129083045.7754-1-chao@kernel.org>
References: <20230129083045.7754-1-chao@kernel.org>
TO: Chao Yu <yuchao0@huawei.com>, Chao Yu <chao@kernel.org>

Hi Chao,

I love your patch! Perhaps something to improve:

[auto build test WARNING on jaegeuk-f2fs/dev-test]
[also build test WARNING on jaegeuk-f2fs/dev linus/master v6.2-rc5 next-20230127]
[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/Chao-Yu/f2fs-reduce-stack-memory-cost-by-using-bitfield-in-struct-f2fs_io_info/20230129-220837
base:   https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs.git dev-test
patch link:    https://lore.kernel.org/r/20230129083045.7754-1-chao%40kernel.org
patch subject: [PATCH] f2fs: reduce stack memory cost by using bitfield in struct f2fs_io_info
:::::: branch date: 5 hours ago
:::::: commit date: 5 hours ago
config: csky-randconfig-s051-20230129 (https://download.01.org/0day-ci/archive/20230130/202301300256.4XdrZjzc-lkp@intel.com/config)
compiler: csky-linux-gcc (GCC) 12.1.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # apt-get install sparse
        # sparse version: v0.6.4-39-gce1a6720-dirty
        # https://github.com/intel-lab-lkp/linux/commit/de0eb98b767c053132c5ffc724041551d315f69a
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review Chao-Yu/f2fs-reduce-stack-memory-cost-by-using-bitfield-in-struct-f2fs_io_info/20230129-220837
        git checkout de0eb98b767c053132c5ffc724041551d315f69a
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=csky olddefconfig
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=csky SHELL=/bin/bash fs/

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>

sparse warnings: (new ones prefixed by >>)
   fs/f2fs/dir.c: note: in included file:
>> fs/f2fs/f2fs.h:1217:24: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1218:22: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1219:21: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1220:20: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1221:24: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1222:24: sparse: sparse: dubious one-bit signed bitfield
--
   fs/f2fs/inode.c: note: in included file:
>> fs/f2fs/f2fs.h:1217:24: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1218:22: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1219:21: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1220:20: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1221:24: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1222:24: sparse: sparse: dubious one-bit signed bitfield
--
   fs/f2fs/namei.c: note: in included file:
>> fs/f2fs/f2fs.h:1217:24: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1218:22: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1219:21: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1220:20: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1221:24: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1222:24: sparse: sparse: dubious one-bit signed bitfield
--
   fs/f2fs/file.c: note: in included file:
>> fs/f2fs/f2fs.h:1217:24: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1218:22: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1219:21: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1220:20: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1221:24: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1222:24: sparse: sparse: dubious one-bit signed bitfield
--
   fs/f2fs/hash.c: note: in included file:
>> fs/f2fs/f2fs.h:1217:24: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1218:22: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1219:21: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1220:20: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1221:24: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1222:24: sparse: sparse: dubious one-bit signed bitfield
--
   fs/f2fs/inline.c: note: in included file:
>> fs/f2fs/f2fs.h:1217:24: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1218:22: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1219:21: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1220:20: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1221:24: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1222:24: sparse: sparse: dubious one-bit signed bitfield
--
   fs/f2fs/checkpoint.c: note: in included file:
>> fs/f2fs/f2fs.h:1217:24: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1218:22: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1219:21: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1220:20: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1221:24: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1222:24: sparse: sparse: dubious one-bit signed bitfield
--
   fs/f2fs/gc.c: note: in included file:
>> fs/f2fs/f2fs.h:1217:24: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1218:22: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1219:21: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1220:20: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1221:24: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1222:24: sparse: sparse: dubious one-bit signed bitfield
--
   fs/f2fs/shrinker.c: note: in included file:
>> fs/f2fs/f2fs.h:1217:24: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1218:22: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1219:21: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1220:20: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1221:24: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1222:24: sparse: sparse: dubious one-bit signed bitfield
--
   fs/f2fs/sysfs.c: note: in included file:
>> fs/f2fs/f2fs.h:1217:24: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1218:22: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1219:21: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1220:20: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1221:24: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1222:24: sparse: sparse: dubious one-bit signed bitfield
--
   fs/f2fs/acl.c: note: in included file:
>> fs/f2fs/f2fs.h:1217:24: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1218:22: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1219:21: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1220:20: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1221:24: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1222:24: sparse: sparse: dubious one-bit signed bitfield
--
   fs/f2fs/recovery.c: note: in included file:
>> fs/f2fs/f2fs.h:1217:24: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1218:22: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1219:21: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1220:20: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1221:24: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1222:24: sparse: sparse: dubious one-bit signed bitfield
--
   fs/f2fs/debug.c: note: in included file:
>> fs/f2fs/f2fs.h:1217:24: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1218:22: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1219:21: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1220:20: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1221:24: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1222:24: sparse: sparse: dubious one-bit signed bitfield
--
   fs/f2fs/extent_cache.c: note: in included file:
>> fs/f2fs/f2fs.h:1217:24: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1218:22: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1219:21: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1220:20: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1221:24: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1222:24: sparse: sparse: dubious one-bit signed bitfield
--
   fs/f2fs/xattr.c: note: in included file:
>> fs/f2fs/f2fs.h:1217:24: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1218:22: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1219:21: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1220:20: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1221:24: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1222:24: sparse: sparse: dubious one-bit signed bitfield
--
   fs/f2fs/node.c: note: in included file:
>> fs/f2fs/f2fs.h:1217:24: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1218:22: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1219:21: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1220:20: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1221:24: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1222:24: sparse: sparse: dubious one-bit signed bitfield
--
   fs/f2fs/super.c: note: in included file:
>> fs/f2fs/f2fs.h:1217:24: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1218:22: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1219:21: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1220:20: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1221:24: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1222:24: sparse: sparse: dubious one-bit signed bitfield
--
   fs/f2fs/compress.c: note: in included file:
>> fs/f2fs/f2fs.h:1217:24: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1218:22: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1219:21: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1220:20: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1221:24: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1222:24: sparse: sparse: dubious one-bit signed bitfield
--
   fs/f2fs/data.c: note: in included file:
>> fs/f2fs/f2fs.h:1217:24: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1218:22: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1219:21: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1220:20: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1221:24: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1222:24: sparse: sparse: dubious one-bit signed bitfield
--
   fs/f2fs/segment.c: note: in included file:
>> fs/f2fs/f2fs.h:1217:24: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1218:22: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1219:21: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1220:20: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1221:24: sparse: sparse: dubious one-bit signed bitfield
   fs/f2fs/f2fs.h:1222:24: sparse: sparse: dubious one-bit signed bitfield

vim +1217 fs/f2fs/f2fs.h

b0af6d491a6b5f Chao Yu         2017-08-02  1200  
458e6197c37de5 Jaegeuk Kim     2013-12-11  1201  struct f2fs_io_info {
05ca3632e5a73b Jaegeuk Kim     2015-04-23  1202  	struct f2fs_sb_info *sbi;	/* f2fs_sb_info pointer */
39d787bec4f792 Chao Yu         2017-09-29  1203  	nid_t ino;		/* inode number */
458e6197c37de5 Jaegeuk Kim     2013-12-11  1204  	enum page_type type;	/* contains DATA/NODE/META/META_FLUSH */
a912b54d3aaa01 Jaegeuk Kim     2017-05-10  1205  	enum temp_type temp;	/* contains HOT/WARM/COLD */
7649c873c16a38 Bart Van Assche 2022-07-14  1206  	enum req_op op;		/* contains REQ_OP_ */
7649c873c16a38 Bart Van Assche 2022-07-14  1207  	blk_opf_t op_flags;	/* req_flag_bits */
7a9d75481b85d5 Chao Yu         2016-02-22  1208  	block_t new_blkaddr;	/* new block address to be written */
28bc106b2346a7 Chao Yu         2016-02-06  1209  	block_t old_blkaddr;	/* old block address before Cow */
05ca3632e5a73b Jaegeuk Kim     2015-04-23  1210  	struct page *page;	/* page to be written */
4375a33664de17 Jaegeuk Kim     2015-04-23  1211  	struct page *encrypted_page;	/* encrypted page */
4c8ff7095bef64 Chao Yu         2019-11-01  1212  	struct page *compressed_page;	/* compressed page */
fb830fc5cfc90b Chao Yu         2017-05-19  1213  	struct list_head list;		/* serialize IOs */
4c8ff7095bef64 Chao Yu         2019-11-01  1214  	int compr_blocks;	/* # of compressed block addresses */
de0eb98b767c05 Chao Yu         2023-01-29  1215  	int need_lock:8;	/* indicate we need to lock cp_rwsem */
de0eb98b767c05 Chao Yu         2023-01-29  1216  	int version:8;		/* version of the node */
de0eb98b767c05 Chao Yu         2023-01-29 @1217  	int submitted:1;	/* indicate IO submission */
de0eb98b767c05 Chao Yu         2023-01-29  1218  	int in_list:1;		/* indicate fio is in io_list */
de0eb98b767c05 Chao Yu         2023-01-29  1219  	int is_por:1;		/* indicate IO is from recovery or not */
de0eb98b767c05 Chao Yu         2023-01-29  1220  	int retry:1;		/* need to reallocate block address */
de0eb98b767c05 Chao Yu         2023-01-29  1221  	int encrypted:1;	/* indicate file is encrypted */
de0eb98b767c05 Chao Yu         2023-01-29  1222  	int post_read:1;	/* require post read */
b0af6d491a6b5f Chao Yu         2017-08-02  1223  	enum iostat_type io_type;	/* io type */
578c647879f74c Yufen Yu        2018-01-09  1224  	struct writeback_control *io_wbc; /* writeback control */
8648de2c581eed Chao Yu         2019-02-19  1225  	struct bio **bio;		/* bio for ipu */
8648de2c581eed Chao Yu         2019-02-19  1226  	sector_t *last_block;		/* last block number in bio */
458e6197c37de5 Jaegeuk Kim     2013-12-11  1227  };
458e6197c37de5 Jaegeuk Kim     2013-12-11  1228  

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

             reply	other threads:[~2023-01-29 18:50 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-29 18:49 kernel test robot [this message]
  -- strict thread matches above, loose matches on Subject: below --
2023-01-29  8:30 [PATCH] f2fs: reduce stack memory cost by using bitfield in struct f2fs_io_info Chao Yu
2023-01-29 16:25 ` kernel test robot

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=202301300256.4XdrZjzc-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=oe-kbuild@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.