All of lore.kernel.org
 help / color / mirror / Atom feed
From: Zqiang <qiang.zhang1211@gmail.com>
To: kbuild-all@lists.01.org
Subject: Re: [PATCH] fs: inode: use queue_rcu_work() instead of call_rcu()
Date: Mon, 18 Oct 2021 10:02:04 +0800	[thread overview]
Message-ID: <db12d556-24f2-b790-ec48-b03fac9c4130@gmail.com> (raw)
In-Reply-To: <202110152130.xS6rNVMW-lkp@intel.com>

[-- Attachment #1: Type: text/plain, Size: 9072 bytes --]


On 2021/10/15 下午9:54, kernel test robot wrote:
> Hi Zqiang,
>
> Thank you for the patch! Yet something to improve:
>
> [auto build test ERROR on linus/master]
> [also build test ERROR on v5.15-rc5 next-20211015]
> [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]
>
> url:    https://github.com/0day-ci/linux/commits/Zqiang/fs-inode-use-queue_rcu_work-instead-of-call_rcu/20211015-160455
> base:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git ec681c53f8d2d0ee362ff67f5b98dd8263c15002
> config: arc-randconfig-r043-20211014 (attached as .config)
> compiler: arceb-elf-gcc (GCC) 11.2.0
> 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/0day-ci/linux/commit/2294caaec521b45bdc9db96423fe51762e47afd0
>          git remote add linux-review https://github.com/0day-ci/linux
>          git fetch --no-tags linux-review Zqiang/fs-inode-use-queue_rcu_work-instead-of-call_rcu/20211015-160455
>          git checkout 2294caaec521b45bdc9db96423fe51762e47afd0
>          # save the attached .config to linux build tree
>          mkdir build_dir
>          COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=arc SHELL=/bin/bash fs/ntfs3/ fs/xfs/
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@intel.com>
>
> All errors (new ones prefixed by >>):
>
>     In file included from <command-line>:
>     fs/ntfs3/super.c: In function 'ntfs_i_callback':
>>> include/linux/kernel.h:495:58: error: 'struct inode' has no member named 'i_rcu'
>       495 |         BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
>           |                                                          ^~
>     include/linux/compiler_types.h:302:23: note: in definition of macro '__compiletime_assert'
>       302 |                 if (!(condition))                                       \
>           |                       ^~~~~~~~~
>     include/linux/compiler_types.h:322:9: note: in expansion of macro '_compiletime_assert'
>       322 |         _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
>           |         ^~~~~~~~~~~~~~~~~~~
>     include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
>        39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
>           |                                     ^~~~~~~~~~~~~~~~~~
>     include/linux/kernel.h:495:9: note: in expansion of macro 'BUILD_BUG_ON_MSG'
>       495 |         BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
>           |         ^~~~~~~~~~~~~~~~
>     include/linux/kernel.h:495:27: note: in expansion of macro '__same_type'
>       495 |         BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
>           |                           ^~~~~~~~~~~
>     fs/ntfs3/super.c:458:31: note: in expansion of macro 'container_of'
>       458 |         struct inode *inode = container_of(head, struct inode, i_rcu);
>           |                               ^~~~~~~~~~~~
>>> include/linux/compiler_types.h:140:41: error: 'struct inode' has no member named 'i_rcu'
>       140 | #define __compiler_offsetof(a, b)       __builtin_offsetof(a, b)
>           |                                         ^~~~~~~~~~~~~~~~~~
>     include/linux/stddef.h:17:33: note: in expansion of macro '__compiler_offsetof'
>        17 | #define offsetof(TYPE, MEMBER)  __compiler_offsetof(TYPE, MEMBER)
>           |                                 ^~~~~~~~~~~~~~~~~~~
>     include/linux/kernel.h:498:28: note: in expansion of macro 'offsetof'
>       498 |         ((type *)(__mptr - offsetof(type, member))); })
>           |                            ^~~~~~~~
>     fs/ntfs3/super.c:458:31: note: in expansion of macro 'container_of'
>       458 |         struct inode *inode = container_of(head, struct inode, i_rcu);
>           |                               ^~~~~~~~~~~~
>     fs/ntfs3/super.c: In function 'ntfs_destroy_inode':
>>> fs/ntfs3/super.c:468:24: error: 'struct inode' has no member named 'i_rcu'
>       468 |         call_rcu(&inode->i_rcu, ntfs_i_callback);
>           |                        ^~
> --
>     In file included from <command-line>:
>     fs/xfs/xfs_icache.c: In function 'xfs_inode_free_callback':
>>> include/linux/kernel.h:495:58: error: 'struct inode' has no member named 'i_rcu'
>       495 |         BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
>           |                                                          ^~
>     include/linux/compiler_types.h:302:23: note: in definition of macro '__compiletime_assert'
>       302 |                 if (!(condition))                                       \
>           |                       ^~~~~~~~~
>     include/linux/compiler_types.h:322:9: note: in expansion of macro '_compiletime_assert'
>       322 |         _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
>           |         ^~~~~~~~~~~~~~~~~~~
>     include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
>        39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
>           |                                     ^~~~~~~~~~~~~~~~~~
>     include/linux/kernel.h:495:9: note: in expansion of macro 'BUILD_BUG_ON_MSG'
>       495 |         BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
>           |         ^~~~~~~~~~~~~~~~
>     include/linux/kernel.h:495:27: note: in expansion of macro '__same_type'
>       495 |         BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
>           |                           ^~~~~~~~~~~
>     fs/xfs/xfs_icache.c:120:42: note: in expansion of macro 'container_of'
>       120 |         struct inode            *inode = container_of(head, struct inode, i_rcu);
>           |                                          ^~~~~~~~~~~~
>>> include/linux/compiler_types.h:140:41: error: 'struct inode' has no member named 'i_rcu'
>       140 | #define __compiler_offsetof(a, b)       __builtin_offsetof(a, b)
>           |                                         ^~~~~~~~~~~~~~~~~~
>     include/linux/stddef.h:17:33: note: in expansion of macro '__compiler_offsetof'
>        17 | #define offsetof(TYPE, MEMBER)  __compiler_offsetof(TYPE, MEMBER)
>           |                                 ^~~~~~~~~~~~~~~~~~~
>     include/linux/kernel.h:498:28: note: in expansion of macro 'offsetof'
>       498 |         ((type *)(__mptr - offsetof(type, member))); })
>           |                            ^~~~~~~~
>     fs/xfs/xfs_icache.c:120:42: note: in expansion of macro 'container_of'
>       120 |         struct inode            *inode = container_of(head, struct inode, i_rcu);
>           |                                          ^~~~~~~~~~~~
>     fs/xfs/xfs_icache.c: In function '__xfs_inode_free':
>>> fs/xfs/xfs_icache.c:158:28: error: 'struct inode' has no member named 'i_rcu'
>       158 |         call_rcu(&VFS_I(ip)->i_rcu, xfs_inode_free_callback);
>           |                            ^~
>
>
> vim +495 include/linux/kernel.h
>
> cf14f27f82af78 Alexei Starovoitov 2018-03-28  485
> ^1da177e4c3f41 Linus Torvalds     2005-04-16  486  /**
> ^1da177e4c3f41 Linus Torvalds     2005-04-16  487   * container_of - cast a member of a structure out to the containing structure
> ^1da177e4c3f41 Linus Torvalds     2005-04-16  488   * @ptr:	the pointer to the member.
> ^1da177e4c3f41 Linus Torvalds     2005-04-16  489   * @type:	the type of the container struct this is embedded in.
> ^1da177e4c3f41 Linus Torvalds     2005-04-16  490   * @member:	the name of the member within the struct.
> ^1da177e4c3f41 Linus Torvalds     2005-04-16  491   *
> ^1da177e4c3f41 Linus Torvalds     2005-04-16  492   */
> ^1da177e4c3f41 Linus Torvalds     2005-04-16  493  #define container_of(ptr, type, member) ({				\
> c7acec713d14c6 Ian Abbott         2017-07-12  494  	void *__mptr = (void *)(ptr);					\
> c7acec713d14c6 Ian Abbott         2017-07-12 @495  	BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&	\
> c7acec713d14c6 Ian Abbott         2017-07-12  496  			 !__same_type(*(ptr), void),			\
> c7acec713d14c6 Ian Abbott         2017-07-12  497  			 "pointer type mismatch in container_of()");	\
> c7acec713d14c6 Ian Abbott         2017-07-12  498  	((type *)(__mptr - offsetof(type, member))); })
> ^1da177e4c3f41 Linus Torvalds     2005-04-16  499
>
> ---
> 0-DAY CI Kernel Test Service, Intel Corporation
> https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org


Sorry this is my mistake, Please ignore this change.

Zqiang


WARNING: multiple messages have this Message-ID (diff)
From: Zqiang <qiang.zhang1211@gmail.com>
To: kernel test robot <lkp@intel.com>,
	willy@infradead.org, hch@infradead.org,
	akpm@linux-foundation.org, sunhao.th@gmail.com
Cc: kbuild-all@lists.01.org, linux-fsdevel@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH] fs: inode: use queue_rcu_work() instead of call_rcu()
Date: Mon, 18 Oct 2021 10:02:04 +0800	[thread overview]
Message-ID: <db12d556-24f2-b790-ec48-b03fac9c4130@gmail.com> (raw)
In-Reply-To: <202110152130.xS6rNVMW-lkp@intel.com>


On 2021/10/15 下午9:54, kernel test robot wrote:
> Hi Zqiang,
>
> Thank you for the patch! Yet something to improve:
>
> [auto build test ERROR on linus/master]
> [also build test ERROR on v5.15-rc5 next-20211015]
> [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]
>
> url:    https://github.com/0day-ci/linux/commits/Zqiang/fs-inode-use-queue_rcu_work-instead-of-call_rcu/20211015-160455
> base:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git ec681c53f8d2d0ee362ff67f5b98dd8263c15002
> config: arc-randconfig-r043-20211014 (attached as .config)
> compiler: arceb-elf-gcc (GCC) 11.2.0
> 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/0day-ci/linux/commit/2294caaec521b45bdc9db96423fe51762e47afd0
>          git remote add linux-review https://github.com/0day-ci/linux
>          git fetch --no-tags linux-review Zqiang/fs-inode-use-queue_rcu_work-instead-of-call_rcu/20211015-160455
>          git checkout 2294caaec521b45bdc9db96423fe51762e47afd0
>          # save the attached .config to linux build tree
>          mkdir build_dir
>          COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=arc SHELL=/bin/bash fs/ntfs3/ fs/xfs/
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@intel.com>
>
> All errors (new ones prefixed by >>):
>
>     In file included from <command-line>:
>     fs/ntfs3/super.c: In function 'ntfs_i_callback':
>>> include/linux/kernel.h:495:58: error: 'struct inode' has no member named 'i_rcu'
>       495 |         BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
>           |                                                          ^~
>     include/linux/compiler_types.h:302:23: note: in definition of macro '__compiletime_assert'
>       302 |                 if (!(condition))                                       \
>           |                       ^~~~~~~~~
>     include/linux/compiler_types.h:322:9: note: in expansion of macro '_compiletime_assert'
>       322 |         _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
>           |         ^~~~~~~~~~~~~~~~~~~
>     include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
>        39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
>           |                                     ^~~~~~~~~~~~~~~~~~
>     include/linux/kernel.h:495:9: note: in expansion of macro 'BUILD_BUG_ON_MSG'
>       495 |         BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
>           |         ^~~~~~~~~~~~~~~~
>     include/linux/kernel.h:495:27: note: in expansion of macro '__same_type'
>       495 |         BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
>           |                           ^~~~~~~~~~~
>     fs/ntfs3/super.c:458:31: note: in expansion of macro 'container_of'
>       458 |         struct inode *inode = container_of(head, struct inode, i_rcu);
>           |                               ^~~~~~~~~~~~
>>> include/linux/compiler_types.h:140:41: error: 'struct inode' has no member named 'i_rcu'
>       140 | #define __compiler_offsetof(a, b)       __builtin_offsetof(a, b)
>           |                                         ^~~~~~~~~~~~~~~~~~
>     include/linux/stddef.h:17:33: note: in expansion of macro '__compiler_offsetof'
>        17 | #define offsetof(TYPE, MEMBER)  __compiler_offsetof(TYPE, MEMBER)
>           |                                 ^~~~~~~~~~~~~~~~~~~
>     include/linux/kernel.h:498:28: note: in expansion of macro 'offsetof'
>       498 |         ((type *)(__mptr - offsetof(type, member))); })
>           |                            ^~~~~~~~
>     fs/ntfs3/super.c:458:31: note: in expansion of macro 'container_of'
>       458 |         struct inode *inode = container_of(head, struct inode, i_rcu);
>           |                               ^~~~~~~~~~~~
>     fs/ntfs3/super.c: In function 'ntfs_destroy_inode':
>>> fs/ntfs3/super.c:468:24: error: 'struct inode' has no member named 'i_rcu'
>       468 |         call_rcu(&inode->i_rcu, ntfs_i_callback);
>           |                        ^~
> --
>     In file included from <command-line>:
>     fs/xfs/xfs_icache.c: In function 'xfs_inode_free_callback':
>>> include/linux/kernel.h:495:58: error: 'struct inode' has no member named 'i_rcu'
>       495 |         BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
>           |                                                          ^~
>     include/linux/compiler_types.h:302:23: note: in definition of macro '__compiletime_assert'
>       302 |                 if (!(condition))                                       \
>           |                       ^~~~~~~~~
>     include/linux/compiler_types.h:322:9: note: in expansion of macro '_compiletime_assert'
>       322 |         _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
>           |         ^~~~~~~~~~~~~~~~~~~
>     include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
>        39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
>           |                                     ^~~~~~~~~~~~~~~~~~
>     include/linux/kernel.h:495:9: note: in expansion of macro 'BUILD_BUG_ON_MSG'
>       495 |         BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
>           |         ^~~~~~~~~~~~~~~~
>     include/linux/kernel.h:495:27: note: in expansion of macro '__same_type'
>       495 |         BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
>           |                           ^~~~~~~~~~~
>     fs/xfs/xfs_icache.c:120:42: note: in expansion of macro 'container_of'
>       120 |         struct inode            *inode = container_of(head, struct inode, i_rcu);
>           |                                          ^~~~~~~~~~~~
>>> include/linux/compiler_types.h:140:41: error: 'struct inode' has no member named 'i_rcu'
>       140 | #define __compiler_offsetof(a, b)       __builtin_offsetof(a, b)
>           |                                         ^~~~~~~~~~~~~~~~~~
>     include/linux/stddef.h:17:33: note: in expansion of macro '__compiler_offsetof'
>        17 | #define offsetof(TYPE, MEMBER)  __compiler_offsetof(TYPE, MEMBER)
>           |                                 ^~~~~~~~~~~~~~~~~~~
>     include/linux/kernel.h:498:28: note: in expansion of macro 'offsetof'
>       498 |         ((type *)(__mptr - offsetof(type, member))); })
>           |                            ^~~~~~~~
>     fs/xfs/xfs_icache.c:120:42: note: in expansion of macro 'container_of'
>       120 |         struct inode            *inode = container_of(head, struct inode, i_rcu);
>           |                                          ^~~~~~~~~~~~
>     fs/xfs/xfs_icache.c: In function '__xfs_inode_free':
>>> fs/xfs/xfs_icache.c:158:28: error: 'struct inode' has no member named 'i_rcu'
>       158 |         call_rcu(&VFS_I(ip)->i_rcu, xfs_inode_free_callback);
>           |                            ^~
>
>
> vim +495 include/linux/kernel.h
>
> cf14f27f82af78 Alexei Starovoitov 2018-03-28  485
> ^1da177e4c3f41 Linus Torvalds     2005-04-16  486  /**
> ^1da177e4c3f41 Linus Torvalds     2005-04-16  487   * container_of - cast a member of a structure out to the containing structure
> ^1da177e4c3f41 Linus Torvalds     2005-04-16  488   * @ptr:	the pointer to the member.
> ^1da177e4c3f41 Linus Torvalds     2005-04-16  489   * @type:	the type of the container struct this is embedded in.
> ^1da177e4c3f41 Linus Torvalds     2005-04-16  490   * @member:	the name of the member within the struct.
> ^1da177e4c3f41 Linus Torvalds     2005-04-16  491   *
> ^1da177e4c3f41 Linus Torvalds     2005-04-16  492   */
> ^1da177e4c3f41 Linus Torvalds     2005-04-16  493  #define container_of(ptr, type, member) ({				\
> c7acec713d14c6 Ian Abbott         2017-07-12  494  	void *__mptr = (void *)(ptr);					\
> c7acec713d14c6 Ian Abbott         2017-07-12 @495  	BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&	\
> c7acec713d14c6 Ian Abbott         2017-07-12  496  			 !__same_type(*(ptr), void),			\
> c7acec713d14c6 Ian Abbott         2017-07-12  497  			 "pointer type mismatch in container_of()");	\
> c7acec713d14c6 Ian Abbott         2017-07-12  498  	((type *)(__mptr - offsetof(type, member))); })
> ^1da177e4c3f41 Linus Torvalds     2005-04-16  499
>
> ---
> 0-DAY CI Kernel Test Service, Intel Corporation
> https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org


Sorry this is my mistake, Please ignore this change.

Zqiang



  reply	other threads:[~2021-10-18  2:02 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-15  8:02 [PATCH] fs: inode: use queue_rcu_work() instead of call_rcu() Zqiang
2021-10-15  8:04 ` Christoph Hellwig
2021-10-15  8:28   ` Zqiang
2021-10-15 13:24     ` Christoph Hellwig
2021-10-15 13:50 ` kernel test robot
2021-10-15 13:50   ` kernel test robot
2021-10-15 13:54 ` kernel test robot
2021-10-15 13:54   ` kernel test robot
2021-10-18  2:02   ` Zqiang [this message]
2021-10-18  2:02     ` Zqiang

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=db12d556-24f2-b790-ec48-b03fac9c4130@gmail.com \
    --to=qiang.zhang1211@gmail.com \
    --cc=kbuild-all@lists.01.org \
    /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.