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
next 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.