Re: [PATCH] mm/vmstat: add per-order allocation slow path statistics

kernel test robot <[email protected]>
Newsgroups org.kvack.linux-mm,dev.linux.lists.oe-kbuild-all,org.kernel.vger.linux-kernel
Message-ID <[email protected]>
Hi Daniil,

kernel test robot noticed the following build errors:

[auto build test ERROR on linus/master]
[also build test ERROR on v7.2]
[cannot apply to akpm-mm/mm-everything next-20260819]
[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/Daniil-Tatianin/mm-vmstat-add-per-order-allocation-slow-path-statistics/20260820-163658
base:   linus/master
patch link:    https://lore.kernel.org/r/20260820133659.712111-1-d-tatianin%40yandex-team.ru
patch subject: [PATCH] mm/vmstat: add per-order allocation slow path statistics
config: sh-defconfig (https://download.01.org/0day-ci/archive/20260821/[email protected]/config)
compiler: sh4-linux-gcc (GCC) 16.1.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260821/[email protected]/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 <[email protected]>
| Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/

All errors (new ones prefixed by >>):

    1537 |         TEXTS_FOR_ORDERS(PGALLOC_FAIL_ORDER_FIRST, "pgalloc_fail_order")
         |         ^~~~~~~~~~~~~~~~
   mm/vmstat.c:1537:52: warning: initialized field overwritten [-Woverride-init]
    1537 |         TEXTS_FOR_ORDERS(PGALLOC_FAIL_ORDER_FIRST, "pgalloc_fail_order")
         |                                                    ^~~~~~~~~~~~~~~~~~~~
   mm/vmstat.c:1215:25: note: in definition of macro 'TEXTS_FOR_NONZERO_ORDERS'
    1215 |         [I((xx) + 3)] = yy "3",                 \
         |                         ^~
   mm/vmstat.c:1537:9: note: in expansion of macro 'TEXTS_FOR_ORDERS'
    1537 |         TEXTS_FOR_ORDERS(PGALLOC_FAIL_ORDER_FIRST, "pgalloc_fail_order")
         |         ^~~~~~~~~~~~~~~~
   mm/vmstat.c:1537:52: note: (near initialization for 'vmstat_text[156]')
   mm/vmstat.c:1215:25: note: in definition of macro 'TEXTS_FOR_NONZERO_ORDERS'
    1215 |         [I((xx) + 3)] = yy "3",                 \
         |                         ^~
   mm/vmstat.c:1537:9: note: in expansion of macro 'TEXTS_FOR_ORDERS'
    1537 |         TEXTS_FOR_ORDERS(PGALLOC_FAIL_ORDER_FIRST, "pgalloc_fail_order")
         |         ^~~~~~~~~~~~~~~~
   mm/vmstat.c:1540:34: warning: initialized field overwritten [-Woverride-init]
    1540 |                                  "compact_stall_order")
         |                                  ^~~~~~~~~~~~~~~~~~~~~
   mm/vmstat.c:1213:25: note: in definition of macro 'TEXTS_FOR_NONZERO_ORDERS'
    1213 |         [I((xx) + 1)] = yy "1",                 \
         |                         ^~
   mm/vmstat.c:1540:34: note: (near initialization for 'vmstat_text[160]')
   mm/vmstat.c:1213:25: note: in definition of macro 'TEXTS_FOR_NONZERO_ORDERS'
    1213 |         [I((xx) + 1)] = yy "1",                 \
         |                         ^~
   mm/vmstat.c:1540:34: warning: initialized field overwritten [-Woverride-init]
    1540 |                                  "compact_stall_order")
         |                                  ^~~~~~~~~~~~~~~~~~~~~
   mm/vmstat.c:1214:25: note: in definition of macro 'TEXTS_FOR_NONZERO_ORDERS'
    1214 |         [I((xx) + 2)] = yy "2",                 \
         |                         ^~
   mm/vmstat.c:1540:34: note: (near initialization for 'vmstat_text[161]')
   mm/vmstat.c:1214:25: note: in definition of macro 'TEXTS_FOR_NONZERO_ORDERS'
    1214 |         [I((xx) + 2)] = yy "2",                 \
         |                         ^~
   mm/vmstat.c:1540:34: warning: initialized field overwritten [-Woverride-init]
    1540 |                                  "compact_stall_order")
         |                                  ^~~~~~~~~~~~~~~~~~~~~
   mm/vmstat.c:1215:25: note: in definition of macro 'TEXTS_FOR_NONZERO_ORDERS'
    1215 |         [I((xx) + 3)] = yy "3",                 \
         |                         ^~
   mm/vmstat.c:1540:34: note: (near initialization for 'vmstat_text[162]')
   mm/vmstat.c:1215:25: note: in definition of macro 'TEXTS_FOR_NONZERO_ORDERS'
    1215 |         [I((xx) + 3)] = yy "3",                 \
         |                         ^~
   mm/vmstat.c:1540:34: warning: initialized field overwritten [-Woverride-init]
    1540 |                                  "compact_stall_order")
         |                                  ^~~~~~~~~~~~~~~~~~~~~
   mm/vmstat.c:1216:25: note: in definition of macro 'TEXTS_FOR_NONZERO_ORDERS'
    1216 |         [I((xx) + 4)] = yy "4",                 \
         |                         ^~
   mm/vmstat.c:1540:34: note: (near initialization for 'vmstat_text[163]')
   mm/vmstat.c:1216:25: note: in definition of macro 'TEXTS_FOR_NONZERO_ORDERS'
    1216 |         [I((xx) + 4)] = yy "4",                 \
         |                         ^~
   mm/vmstat.c:1542:34: warning: initialized field overwritten [-Woverride-init]
    1542 |                                  "compact_success_order")
         |                                  ^~~~~~~~~~~~~~~~~~~~~~~
   mm/vmstat.c:1213:25: note: in definition of macro 'TEXTS_FOR_NONZERO_ORDERS'
    1213 |         [I((xx) + 1)] = yy "1",                 \
         |                         ^~
   mm/vmstat.c:1542:34: note: (near initialization for 'vmstat_text[166]')
   mm/vmstat.c:1213:25: note: in definition of macro 'TEXTS_FOR_NONZERO_ORDERS'
    1213 |         [I((xx) + 1)] = yy "1",                 \
         |                         ^~
   mm/vmstat.c:1542:34: warning: initialized field overwritten [-Woverride-init]
    1542 |                                  "compact_success_order")
         |                                  ^~~~~~~~~~~~~~~~~~~~~~~
   mm/vmstat.c:1214:25: note: in definition of macro 'TEXTS_FOR_NONZERO_ORDERS'
    1214 |         [I((xx) + 2)] = yy "2",                 \
         |                         ^~
   mm/vmstat.c:1542:34: note: (near initialization for 'vmstat_text[167]')
   mm/vmstat.c:1214:25: note: in definition of macro 'TEXTS_FOR_NONZERO_ORDERS'
    1214 |         [I((xx) + 2)] = yy "2",                 \
         |                         ^~
   mm/vmstat.c:1542:34: warning: initialized field overwritten [-Woverride-init]
    1542 |                                  "compact_success_order")
         |                                  ^~~~~~~~~~~~~~~~~~~~~~~
   mm/vmstat.c:1215:25: note: in definition of macro 'TEXTS_FOR_NONZERO_ORDERS'
    1215 |         [I((xx) + 3)] = yy "3",                 \
         |                         ^~
   mm/vmstat.c:1542:34: note: (near initialization for 'vmstat_text[168]')
   mm/vmstat.c:1215:25: note: in definition of macro 'TEXTS_FOR_NONZERO_ORDERS'
    1215 |         [I((xx) + 3)] = yy "3",                 \
         |                         ^~
   mm/vmstat.c:1542:34: warning: initialized field overwritten [-Woverride-init]
    1542 |                                  "compact_success_order")
         |                                  ^~~~~~~~~~~~~~~~~~~~~~~
   mm/vmstat.c:1216:25: note: in definition of macro 'TEXTS_FOR_NONZERO_ORDERS'
    1216 |         [I((xx) + 4)] = yy "4",                 \
         |                         ^~
   mm/vmstat.c:1542:34: note: (near initialization for 'vmstat_text[169]')
   mm/vmstat.c:1216:25: note: in definition of macro 'TEXTS_FOR_NONZERO_ORDERS'
    1216 |         [I((xx) + 4)] = yy "4",                 \
         |                         ^~
   In file included from <command-line>:
   mm/vmstat.c: In function 'vmstat_start':
>> include/linux/compiler_types.h:702:45: error: call to '__compiletime_assert_467' declared with attribute error: BUILD_BUG_ON failed: ARRAY_SIZE(vmstat_text) != NR_VMSTAT_ITEMS
     702 |         _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
         |                                             ^
   include/linux/compiler_types.h:683:25: note: in definition of macro '__compiletime_assert'
     683 |                         prefix ## suffix();                             \
         |                         ^~~~~~
   include/linux/compiler_types.h:702:9: note: in expansion of macro '_compiletime_assert'
     702 |         _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
         |         ^~~~~~~~~~~~~~~~~~~
   include/linux/build_bug.h:40:37: note: in expansion of macro 'compiletime_assert'
      40 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
         |                                     ^~~~~~~~~~~~~~~~~~
   include/linux/build_bug.h:51:9: note: in expansion of macro 'BUILD_BUG_ON_MSG'
      51 |         BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
         |         ^~~~~~~~~~~~~~~~
   mm/vmstat.c:1941:9: note: in expansion of macro 'BUILD_BUG_ON'
    1941 |         BUILD_BUG_ON(ARRAY_SIZE(vmstat_text) != NR_VMSTAT_ITEMS);
         |         ^~~~~~~~~~~~


vim +/__compiletime_assert_467 +702 include/linux/compiler_types.h

eb5c2d4b45e3d2d Will Deacon 2020-07-21  688  
eb5c2d4b45e3d2d Will Deacon 2020-07-21  689  #define _compiletime_assert(condition, msg, prefix, suffix) \
eb5c2d4b45e3d2d Will Deacon 2020-07-21  690  	__compiletime_assert(condition, msg, prefix, suffix)
eb5c2d4b45e3d2d Will Deacon 2020-07-21  691  
eb5c2d4b45e3d2d Will Deacon 2020-07-21  692  /**
eb5c2d4b45e3d2d Will Deacon 2020-07-21  693   * compiletime_assert - break build and emit msg if condition is false
eb5c2d4b45e3d2d Will Deacon 2020-07-21  694   * @condition: a compile-time constant condition to check
eb5c2d4b45e3d2d Will Deacon 2020-07-21  695   * @msg:       a message to emit if condition is false
eb5c2d4b45e3d2d Will Deacon 2020-07-21  696   *
eb5c2d4b45e3d2d Will Deacon 2020-07-21  697   * In tradition of POSIX assert, this macro will break the build if the
eb5c2d4b45e3d2d Will Deacon 2020-07-21  698   * supplied condition is *false*, emitting the supplied error message if the
eb5c2d4b45e3d2d Will Deacon 2020-07-21  699   * compiler has support to do so.
eb5c2d4b45e3d2d Will Deacon 2020-07-21  700   */
eb5c2d4b45e3d2d Will Deacon 2020-07-21  701  #define compiletime_assert(condition, msg) \
eb5c2d4b45e3d2d Will Deacon 2020-07-21 @702  	_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
eb5c2d4b45e3d2d Will Deacon 2020-07-21  703  

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.