Building the Linux kernel with Clang and LLVM
 help / color / mirror / Atom feed
* Re: [RFC 1/1] writeback: add sysfs to config the number of writeback contexts
       [not found] <20250825122931.13037-2-wangyufei@vivo.com>
@ 2026-08-14 22:57 ` kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-08-14 22:57 UTC (permalink / raw)
  To: wangyufei; +Cc: llvm, oe-kbuild-all

Hi wangyufei,

[This is a private test report for your RFC patch.]
kernel test robot noticed the following build warnings:

[auto build test WARNING on akpm-mm/mm-everything]
[also build test WARNING on linus/master v7.2-rc7 next-20260813]
[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/wangyufei/writeback-add-sysfs-to-config-the-number-of-writeback-contexts/20260813-143259
base:   https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-everything
patch link:    https://lore.kernel.org/r/20250825122931.13037-2-wangyufei%40vivo.com
patch subject: [RFC 1/1] writeback: add sysfs to config the number of writeback contexts
config: loongarch-defconfig (https://download.01.org/0day-ci/archive/20260815/202608150637.VqHmBYp4-lkp@intel.com/config)
compiler: clang version 24.0.0git (https://github.com/llvm/llvm-project 844a18e753e822736c9805ab779144b647a2c186)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260815/202608150637.VqHmBYp4-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/202608150637.VqHmBYp4-lkp@intel.com/

All warnings (new ones prefixed by >>):

   In file included from init/do_mounts.c:23:
   In file included from include/linux/nfs_fs.h:43:
   In file included from include/linux/nfs_fs_sb.h:6:
>> include/linux/backing-dev.h:118:58: warning: declaration of 'struct bdi_writeback_ctx' will not be visible outside of this function [-Wvisibility]
     118 | int bdi_wb_ctx_init(struct backing_dev_info *bdi, struct bdi_writeback_ctx *bdi_wb_ctx);
         |                                                          ^
   include/linux/backing-dev.h:119:59: warning: declaration of 'struct bdi_writeback_ctx' will not be visible outside of this function [-Wvisibility]
     119 | void bdi_wb_ctx_exit(struct backing_dev_info *bdi, struct bdi_writeback_ctx *bdi_wb_ctx);
         |                                                           ^
   2 warnings generated.
--
   In file included from mm/page-writeback.c:26:
>> include/linux/backing-dev.h:118:58: warning: declaration of 'struct bdi_writeback_ctx' will not be visible outside of this function [-Wvisibility]
     118 | int bdi_wb_ctx_init(struct backing_dev_info *bdi, struct bdi_writeback_ctx *bdi_wb_ctx);
         |                                                          ^
   include/linux/backing-dev.h:119:59: warning: declaration of 'struct bdi_writeback_ctx' will not be visible outside of this function [-Wvisibility]
     119 | void bdi_wb_ctx_exit(struct backing_dev_info *bdi, struct bdi_writeback_ctx *bdi_wb_ctx);
         |                                                           ^
   mm/page-writeback.c:734:27: error: no member named 'nr_wb_ctx' in 'struct backing_dev_info'
     734 |         for (i = 0; i < min(bdi->nr_wb_ctx, nwritebacks); i++)
         |                             ~~~  ^
   mm/page-writeback.c:735:25: error: no member named 'wb_ctx_arr' in 'struct backing_dev_info'
     735 |                 new_ctx_arr[i] = bdi->wb_ctx_arr[i];
         |                                  ~~~  ^
   mm/page-writeback.c:737:16: error: no member named 'nr_wb_ctx' in 'struct backing_dev_info'
     737 |         for (i = bdi->nr_wb_ctx; i < nwritebacks; i++) {
         |                  ~~~  ^
   mm/page-writeback.c:739:12: error: invalid application of 'sizeof' to an incomplete type 'struct bdi_writeback_ctx'
     739 |                         kzalloc(sizeof(struct bdi_writeback_ctx), GFP_KERNEL);
         |                                 ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/slab.h:1320:59: note: expanded from macro 'kzalloc'
    1320 | #define kzalloc(size, flags)                    alloc_hooks(kzalloc_noprof(size, flags))
         |                                                                            ^~~~
   include/linux/slab.h:1311:47: note: expanded from macro 'kzalloc_noprof'
    1311 | #define kzalloc_noprof(...)                     _kzalloc_noprof(__VA_ARGS__, __kmalloc_token(__VA_ARGS__))
         |                                                                 ^~~~~~~~~~~
   include/linux/alloc_tag.h:270:31: note: expanded from macro 'alloc_hooks'
     270 |         alloc_hooks_tag(&_alloc_tag, _do_alloc);                        \
         |                                      ^~~~~~~~~
   include/linux/alloc_tag.h:256:9: note: expanded from macro 'alloc_hooks_tag'
     256 |         typeof(_do_alloc) _res;                                         \
         |                ^~~~~~~~~
   mm/page-writeback.c:727:9: note: forward declaration of 'struct bdi_writeback_ctx'
     727 |         struct bdi_writeback_ctx **new_ctx_arr, **old_ctx_arr;
         |                ^
   mm/page-writeback.c:739:12: error: invalid application of 'sizeof' to an incomplete type 'struct bdi_writeback_ctx'
     739 |                         kzalloc(sizeof(struct bdi_writeback_ctx), GFP_KERNEL);
         |                                 ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/slab.h:1320:59: note: expanded from macro 'kzalloc'
    1320 | #define kzalloc(size, flags)                    alloc_hooks(kzalloc_noprof(size, flags))
         |                                                                            ^~~~
   include/linux/slab.h:1311:47: note: expanded from macro 'kzalloc_noprof'
    1311 | #define kzalloc_noprof(...)                     _kzalloc_noprof(__VA_ARGS__, __kmalloc_token(__VA_ARGS__))
         |                                                                 ^~~~~~~~~~~
   include/linux/alloc_tag.h:270:31: note: expanded from macro 'alloc_hooks'
     270 |         alloc_hooks_tag(&_alloc_tag, _do_alloc);                        \
         |                                      ^~~~~~~~~
   include/linux/alloc_tag.h:260:10: note: expanded from macro 'alloc_hooks_tag'
     260 |                 _res = _do_alloc;                                       \
         |                        ^~~~~~~~~
   mm/page-writeback.c:727:9: note: forward declaration of 'struct bdi_writeback_ctx'
     727 |         struct bdi_writeback_ctx **new_ctx_arr, **old_ctx_arr;
         |                ^
   mm/page-writeback.c:739:12: error: invalid application of 'sizeof' to an incomplete type 'struct bdi_writeback_ctx'
     739 |                         kzalloc(sizeof(struct bdi_writeback_ctx), GFP_KERNEL);
         |                                 ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/slab.h:1320:59: note: expanded from macro 'kzalloc'
    1320 | #define kzalloc(size, flags)                    alloc_hooks(kzalloc_noprof(size, flags))
         |                                                                            ^~~~
   include/linux/slab.h:1311:47: note: expanded from macro 'kzalloc_noprof'
    1311 | #define kzalloc_noprof(...)                     _kzalloc_noprof(__VA_ARGS__, __kmalloc_token(__VA_ARGS__))
         |                                                                 ^~~~~~~~~~~
   include/linux/alloc_tag.h:270:31: note: expanded from macro 'alloc_hooks'
     270 |         alloc_hooks_tag(&_alloc_tag, _do_alloc);                        \
         |                                      ^~~~~~~~~
   include/linux/alloc_tag.h:263:10: note: expanded from macro 'alloc_hooks_tag'
     263 |                 _res = _do_alloc;                                       \
         |                        ^~~~~~~~~
   mm/page-writeback.c:727:9: note: forward declaration of 'struct bdi_writeback_ctx'
     727 |         struct bdi_writeback_ctx **new_ctx_arr, **old_ctx_arr;
         |                ^
   mm/page-writeback.c:742:23: error: no member named 'nr_wb_ctx' in 'struct backing_dev_info'
     742 |                         while (--i >= bdi->nr_wb_ctx)
         |                                       ~~~  ^
   mm/page-writeback.c:747:33: error: incomplete definition of type 'struct bdi_writeback_ctx'
     747 |                 INIT_LIST_HEAD(&new_ctx_arr[i]->wb_list);
         |                                 ~~~~~~~~~~~~~~^
   mm/page-writeback.c:727:9: note: forward declaration of 'struct bdi_writeback_ctx'
     727 |         struct bdi_writeback_ctx **new_ctx_arr, **old_ctx_arr;
         |                ^
   mm/page-writeback.c:748:38: error: incomplete definition of type 'struct bdi_writeback_ctx'
     748 |                 init_waitqueue_head(&new_ctx_arr[i]->wb_waitq);
         |                                      ~~~~~~~~~~~~~~^
   include/linux/wait.h:68:26: note: expanded from macro 'init_waitqueue_head'
      68 |                 __init_waitqueue_head((wq_head), #wq_head, &__key);             \
         |                                        ^~~~~~~
   mm/page-writeback.c:727:9: note: forward declaration of 'struct bdi_writeback_ctx'
     727 |         struct bdi_writeback_ctx **new_ctx_arr, **old_ctx_arr;
         |                ^
   mm/page-writeback.c:751:16: error: no member named 'nr_wb_ctx' in 'struct backing_dev_info'
     751 |         for (i = bdi->nr_wb_ctx; i < nwritebacks; i++) {
         |                  ~~~  ^
   mm/page-writeback.c:752:30: error: incompatible pointer types passing 'struct bdi_writeback_ctx *' to parameter of type 'struct bdi_writeback_ctx *' [-Wincompatible-pointer-types]
     752 |                 ret = bdi_wb_ctx_init(bdi, new_ctx_arr[i]);
         |                                            ^~~~~~~~~~~~~~
   include/linux/backing-dev.h:118:77: note: passing argument to parameter 'bdi_wb_ctx' here
     118 | int bdi_wb_ctx_init(struct backing_dev_info *bdi, struct bdi_writeback_ctx *bdi_wb_ctx);
         |                                                                             ^
   mm/page-writeback.c:754:23: error: no member named 'nr_wb_ctx' in 'struct backing_dev_info'
     754 |                         while (--i >= bdi->nr_wb_ctx) {
         |                                       ~~~  ^
   mm/page-writeback.c:755:26: error: incompatible pointer types passing 'struct bdi_writeback_ctx *' to parameter of type 'struct bdi_writeback_ctx *' [-Wincompatible-pointer-types]
     755 |                                 bdi_wb_ctx_exit(bdi, new_ctx_arr[i]);
--
   In file included from mm/backing-dev.c:7:
>> include/linux/backing-dev.h:118:58: warning: declaration of 'struct bdi_writeback_ctx' will not be visible outside of this function [-Wvisibility]
     118 | int bdi_wb_ctx_init(struct backing_dev_info *bdi, struct bdi_writeback_ctx *bdi_wb_ctx);
         |                                                          ^
   include/linux/backing-dev.h:119:59: warning: declaration of 'struct bdi_writeback_ctx' will not be visible outside of this function [-Wvisibility]
     119 | void bdi_wb_ctx_exit(struct backing_dev_info *bdi, struct bdi_writeback_ctx *bdi_wb_ctx);
         |                                                           ^
   mm/backing-dev.c:465:38: error: no member named 'nr_wb_ctx' in 'struct backing_dev_info'
     465 |         return sysfs_emit(buf, "%d\n", bdi->nr_wb_ctx);
         |                                        ~~~  ^
>> mm/backing-dev.c:1015:58: warning: declaration of 'struct bdi_writeback_ctx' will not be visible outside of this function [-Wvisibility]
    1015 | int bdi_wb_ctx_init(struct backing_dev_info *bdi, struct bdi_writeback_ctx *bdi_wb_ctx)
         |                                                          ^
   mm/backing-dev.c:1015:5: error: conflicting types for 'bdi_wb_ctx_init'
    1015 | int bdi_wb_ctx_init(struct backing_dev_info *bdi, struct bdi_writeback_ctx *bdi_wb_ctx)
         |     ^
   include/linux/backing-dev.h:118:5: note: previous declaration is here
     118 | int bdi_wb_ctx_init(struct backing_dev_info *bdi, struct bdi_writeback_ctx *bdi_wb_ctx);
         |     ^
   mm/backing-dev.c:1019:29: error: incomplete definition of type 'struct bdi_writeback_ctx'
    1019 |         INIT_RADIX_TREE(&bdi_wb_ctx->cgwb_tree, GFP_ATOMIC);
         |                          ~~~~~~~~~~^
   mm/backing-dev.c:1015:58: note: forward declaration of 'struct bdi_writeback_ctx'
    1015 | int bdi_wb_ctx_init(struct backing_dev_info *bdi, struct bdi_writeback_ctx *bdi_wb_ctx)
         |                                                          ^
   mm/backing-dev.c:1021:24: error: incomplete definition of type 'struct bdi_writeback_ctx'
    1021 |         init_rwsem(&bdi_wb_ctx->wb_switch_rwsem);
         |                     ~~~~~~~~~~^
   mm/backing-dev.c:1015:58: note: forward declaration of 'struct bdi_writeback_ctx'
    1015 | int bdi_wb_ctx_init(struct backing_dev_info *bdi, struct bdi_writeback_ctx *bdi_wb_ctx)
         |                                                          ^
   mm/backing-dev.c:1023:27: error: incomplete definition of type 'struct bdi_writeback_ctx'
    1023 |         ret = wb_init(&bdi_wb_ctx->wb, bdi_wb_ctx, bdi, GFP_KERNEL);
         |                        ~~~~~~~~~~^
   mm/backing-dev.c:1015:58: note: forward declaration of 'struct bdi_writeback_ctx'
    1015 | int bdi_wb_ctx_init(struct backing_dev_info *bdi, struct bdi_writeback_ctx *bdi_wb_ctx)
         |                                                          ^
   mm/backing-dev.c:1025:13: error: incomplete definition of type 'struct bdi_writeback_ctx'
    1025 |                 bdi_wb_ctx->wb.memcg_css = &root_mem_cgroup->css;
         |                 ~~~~~~~~~~^
   mm/backing-dev.c:1015:58: note: forward declaration of 'struct bdi_writeback_ctx'
    1015 | int bdi_wb_ctx_init(struct backing_dev_info *bdi, struct bdi_writeback_ctx *bdi_wb_ctx)
         |                                                          ^
   mm/backing-dev.c:1026:13: error: incomplete definition of type 'struct bdi_writeback_ctx'
    1026 |                 bdi_wb_ctx->wb.blkcg_css = blkcg_root_css;
         |                 ~~~~~~~~~~^
   mm/backing-dev.c:1015:58: note: forward declaration of 'struct bdi_writeback_ctx'
    1015 | int bdi_wb_ctx_init(struct backing_dev_info *bdi, struct bdi_writeback_ctx *bdi_wb_ctx)
         |                                                          ^
   mm/backing-dev.c:1270:58: warning: declaration of 'struct bdi_writeback_ctx' will not be visible outside of this function [-Wvisibility]
    1270 | int bdi_wb_ctx_init(struct backing_dev_info *bdi, struct bdi_writeback_ctx *bdi_wb_ctx)
         |                                                          ^
   mm/backing-dev.c:1270:5: error: conflicting types for 'bdi_wb_ctx_init'
    1270 | int bdi_wb_ctx_init(struct backing_dev_info *bdi, struct bdi_writeback_ctx *bdi_wb_ctx)
         |     ^
   include/linux/backing-dev.h:118:5: note: previous declaration is here
     118 | int bdi_wb_ctx_init(struct backing_dev_info *bdi, struct bdi_writeback_ctx *bdi_wb_ctx);
         |     ^
   mm/backing-dev.c:1272:28: error: incomplete definition of type 'struct bdi_writeback_ctx'
    1272 |         return wb_init(&bdi_wb_ctx->wb, bdi_wb_ctx, bdi, GFP_KERNEL);
         |                         ~~~~~~~~~~^
   mm/backing-dev.c:1270:58: note: forward declaration of 'struct bdi_writeback_ctx'
    1270 | int bdi_wb_ctx_init(struct backing_dev_info *bdi, struct bdi_writeback_ctx *bdi_wb_ctx)
         |                                                          ^
   mm/backing-dev.c:1275:59: warning: declaration of 'struct bdi_writeback_ctx' will not be visible outside of this function [-Wvisibility]
    1275 | void bdi_wb_ctx_exit(struct backing_dev_info *bdi, struct bdi_writeback_ctx *bdi_wb_ctx)
         |                                                           ^
   mm/backing-dev.c:1275:6: error: conflicting types for 'bdi_wb_ctx_exit'
    1275 | void bdi_wb_ctx_exit(struct backing_dev_info *bdi, struct bdi_writeback_ctx *bdi_wb_ctx)
         |      ^
   include/linux/backing-dev.h:119:6: note: previous declaration is here
     119 | void bdi_wb_ctx_exit(struct backing_dev_info *bdi, struct bdi_writeback_ctx *bdi_wb_ctx);
         |      ^
   mm/backing-dev.c:1277:25: error: incomplete definition of type 'struct bdi_writeback_ctx'
    1277 |         wb_shutdown(&bdi_wb_ctx->wb);
         |                      ~~~~~~~~~~^
   mm/backing-dev.c:1275:59: note: forward declaration of 'struct bdi_writeback_ctx'
    1275 | void bdi_wb_ctx_exit(struct backing_dev_info *bdi, struct bdi_writeback_ctx *bdi_wb_ctx)
         |                                                           ^
   mm/backing-dev.c:1278:27: error: too many arguments to function call, expected single argument 'bdi', have 2 arguments
    1278 |         cgwb_bdi_unregister(bdi, bdi_wb_ctx);
         |         ~~~~~~~~~~~~~~~~~~~      ^~~~~~~~~~
   mm/backing-dev.c:881:13: note: 'cgwb_bdi_unregister' declared here
     881 | static void cgwb_bdi_unregister(struct backing_dev_info *bdi)
         |             ^                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   mm/backing-dev.c:1280:50: error: incomplete definition of type 'struct bdi_writeback_ctx'
    1280 |         WARN_ON_ONCE(test_bit(WB_registered, &bdi_wb_ctx->wb.state));
         |                                               ~~~~~~~~~~^
   mm/backing-dev.c:1275:59: note: forward declaration of 'struct bdi_writeback_ctx'
    1275 | void bdi_wb_ctx_exit(struct backing_dev_info *bdi, struct bdi_writeback_ctx *bdi_wb_ctx)
         |                                                           ^
   mm/backing-dev.c:1280:50: error: incomplete definition of type 'struct bdi_writeback_ctx'
    1280 |         WARN_ON_ONCE(test_bit(WB_registered, &bdi_wb_ctx->wb.state));
         |                                               ~~~~~~~~~~^
   mm/backing-dev.c:1275:59: note: forward declaration of 'struct bdi_writeback_ctx'
    1275 | void bdi_wb_ctx_exit(struct backing_dev_info *bdi, struct bdi_writeback_ctx *bdi_wb_ctx)
         |                                                           ^
   mm/backing-dev.c:1280:50: error: incomplete definition of type 'struct bdi_writeback_ctx'
    1280 |         WARN_ON_ONCE(test_bit(WB_registered, &bdi_wb_ctx->wb.state));
         |                                               ~~~~~~~~~~^
   mm/backing-dev.c:1275:59: note: forward declaration of 'struct bdi_writeback_ctx'
    1275 | void bdi_wb_ctx_exit(struct backing_dev_info *bdi, struct bdi_writeback_ctx *bdi_wb_ctx)
         |                                                           ^
   mm/backing-dev.c:1280:50: error: incomplete definition of type 'struct bdi_writeback_ctx'
    1280 |         WARN_ON_ONCE(test_bit(WB_registered, &bdi_wb_ctx->wb.state));
         |                                               ~~~~~~~~~~^
   mm/backing-dev.c:1275:59: note: forward declaration of 'struct bdi_writeback_ctx'
    1275 | void bdi_wb_ctx_exit(struct backing_dev_info *bdi, struct bdi_writeback_ctx *bdi_wb_ctx)
         |                                                           ^
   mm/backing-dev.c:1280:50: error: incomplete definition of type 'struct bdi_writeback_ctx'
    1280 |         WARN_ON_ONCE(test_bit(WB_registered, &bdi_wb_ctx->wb.state));


vim +118 include/linux/backing-dev.h

   116	
   117	int bdi_init(struct backing_dev_info *bdi);
 > 118	int bdi_wb_ctx_init(struct backing_dev_info *bdi, struct bdi_writeback_ctx *bdi_wb_ctx);
   119	void bdi_wb_ctx_exit(struct backing_dev_info *bdi, struct bdi_writeback_ctx *bdi_wb_ctx);
   120	

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

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2026-08-14 22:58 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <20250825122931.13037-2-wangyufei@vivo.com>
2026-08-14 22:57 ` [RFC 1/1] writeback: add sysfs to config the number of writeback contexts kernel test robot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox