* [akpm-mm:mm-unstable 333/334] include/linux/mmzone.h:1816:8: warning: left shift count is negative
@ 2025-05-09 7:48 kernel test robot
2025-05-09 20:43 ` Juan Yescas
0 siblings, 1 reply; 4+ messages in thread
From: kernel test robot @ 2025-05-09 7:48 UTC (permalink / raw)
To: Juan Yescas; +Cc: oe-kbuild-all, Andrew Morton, Linux Memory Management List
tree: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-unstable
head: 930c125f685d7e8eef566fcd563390b76a28d824
commit: 16994f2b09a22523885d371caa59f17999686805 [333/334] mm: add CONFIG_PAGE_BLOCK_ORDER to select page block order
config: powerpc64-randconfig-003-20250509 (https://download.01.org/0day-ci/archive/20250509/202505091548.FuKO4b4v-lkp@intel.com/config)
compiler: powerpc64-linux-gcc (GCC) 10.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250509/202505091548.FuKO4b4v-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/202505091548.FuKO4b4v-lkp@intel.com/
All warnings (new ones prefixed by >>):
In file included from include/vdso/const.h:5,
from include/linux/const.h:4,
from include/linux/bits.h:5,
from include/linux/ratelimit_types.h:5,
from include/linux/printk.h:9,
from include/asm-generic/bug.h:22,
from arch/powerpc/include/asm/bug.h:116,
from include/linux/bug.h:5,
from include/linux/mmdebug.h:5,
from include/linux/mm.h:6,
from mm/sparse.c:5:
mm/sparse.c: In function 'usemap_size':
>> include/linux/mmzone.h:1816:8: warning: left shift count is negative [-Wshift-count-negative]
1816 | ((1UL << (PFN_SECTION_SHIFT - pageblock_order)) * NR_PAGEBLOCK_BITS)
| ^~
include/uapi/linux/const.h:51:40: note: in definition of macro '__KERNEL_DIV_ROUND_UP'
51 | #define __KERNEL_DIV_ROUND_UP(n, d) (((n) + (d) - 1) / (d))
| ^
mm/sparse.c:301:9: note: in expansion of macro 'BITS_TO_LONGS'
301 | return BITS_TO_LONGS(SECTION_BLOCKFLAGS_BITS) * sizeof(unsigned long);
| ^~~~~~~~~~~~~
mm/sparse.c:301:23: note: in expansion of macro 'SECTION_BLOCKFLAGS_BITS'
301 | return BITS_TO_LONGS(SECTION_BLOCKFLAGS_BITS) * sizeof(unsigned long);
| ^~~~~~~~~~~~~~~~~~~~~~~
vim +1816 include/linux/mmzone.h
d41dee369bff3b Andy Whitcroft 2005-06-23 1814
835c134ec4dd75 Mel Gorman 2007-10-16 1815 #define SECTION_BLOCKFLAGS_BITS \
d9c2340052278d Mel Gorman 2007-10-16 @1816 ((1UL << (PFN_SECTION_SHIFT - pageblock_order)) * NR_PAGEBLOCK_BITS)
835c134ec4dd75 Mel Gorman 2007-10-16 1817
:::::: The code at line 1816 was first introduced by commit
:::::: d9c2340052278d8eb2ffb16b0484f8f794def4de Do not depend on MAX_ORDER when grouping pages by mobility
:::::: TO: Mel Gorman <mel@csn.ul.ie>
:::::: CC: Linus Torvalds <torvalds@woody.linux-foundation.org>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [akpm-mm:mm-unstable 333/334] include/linux/mmzone.h:1816:8: warning: left shift count is negative
2025-05-09 7:48 [akpm-mm:mm-unstable 333/334] include/linux/mmzone.h:1816:8: warning: left shift count is negative kernel test robot
@ 2025-05-09 20:43 ` Juan Yescas
2025-05-12 1:10 ` Philip Li
0 siblings, 1 reply; 4+ messages in thread
From: Juan Yescas @ 2025-05-09 20:43 UTC (permalink / raw)
To: kernel test robot
Cc: oe-kbuild-all, Andrew Morton, Linux Memory Management List
On Fri, May 9, 2025 at 12:49 AM kernel test robot <lkp@intel.com> wrote:
>
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-unstable
> head: 930c125f685d7e8eef566fcd563390b76a28d824
> commit: 16994f2b09a22523885d371caa59f17999686805 [333/334] mm: add CONFIG_PAGE_BLOCK_ORDER to select page block order
> config: powerpc64-randconfig-003-20250509 (https://download.01.org/0day-ci/archive/20250509/202505091548.FuKO4b4v-lkp@intel.com/config)
> compiler: powerpc64-linux-gcc (GCC) 10.5.0
> reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250509/202505091548.FuKO4b4v-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/202505091548.FuKO4b4v-lkp@intel.com/
>
> All warnings (new ones prefixed by >>):
>
> In file included from include/vdso/const.h:5,
> from include/linux/const.h:4,
> from include/linux/bits.h:5,
> from include/linux/ratelimit_types.h:5,
> from include/linux/printk.h:9,
> from include/asm-generic/bug.h:22,
> from arch/powerpc/include/asm/bug.h:116,
> from include/linux/bug.h:5,
> from include/linux/mmdebug.h:5,
> from include/linux/mm.h:6,
> from mm/sparse.c:5:
> mm/sparse.c: In function 'usemap_size':
> >> include/linux/mmzone.h:1816:8: warning: left shift count is negative [-Wshift-count-negative]
> 1816 | ((1UL << (PFN_SECTION_SHIFT - pageblock_order)) * NR_PAGEBLOCK_BITS)
> | ^~
> include/uapi/linux/const.h:51:40: note: in definition of macro '__KERNEL_DIV_ROUND_UP'
> 51 | #define __KERNEL_DIV_ROUND_UP(n, d) (((n) + (d) - 1) / (d))
> | ^
> mm/sparse.c:301:9: note: in expansion of macro 'BITS_TO_LONGS'
> 301 | return BITS_TO_LONGS(SECTION_BLOCKFLAGS_BITS) * sizeof(unsigned long);
> | ^~~~~~~~~~~~~
> mm/sparse.c:301:23: note: in expansion of macro 'SECTION_BLOCKFLAGS_BITS'
> 301 | return BITS_TO_LONGS(SECTION_BLOCKFLAGS_BITS) * sizeof(unsigned long);
> | ^~~~~~~~~~~~~~~~~~~~~~~
>
>
> vim +1816 include/linux/mmzone.h
>
> d41dee369bff3b Andy Whitcroft 2005-06-23 1814
> 835c134ec4dd75 Mel Gorman 2007-10-16 1815 #define SECTION_BLOCKFLAGS_BITS \
> d9c2340052278d Mel Gorman 2007-10-16 @1816 ((1UL << (PFN_SECTION_SHIFT - pageblock_order)) * NR_PAGEBLOCK_BITS)
> 835c134ec4dd75 Mel Gorman 2007-10-16 1817
>
Thanks for testing,
The reason for the warning is because CONFIG_PAGE_BLOCK_ORDER >
CONFIG_ARCH_FORCE_MAX_ORDER.
This config: powerpc64-randconfig-003-20250509
(https://download.01.org/0day-ci/archive/20250509/202505091548.FuKO4b4v-lkp@intel.com/config)
is not respecting the range config below. Should the test make sure
that the ranges are valid?
config PAGE_BLOCK_ORDER
int "Page Block Order"
range 1 10 if !ARCH_FORCE_MAX_ORDER
default 10 if !ARCH_FORCE_MAX_ORDER
range 1 ARCH_FORCE_MAX_ORDER if ARCH_FORCE_MAX_ORDER
default ARCH_FORCE_MAX_ORDER if ARCH_FORCE_MAX_ORDER
I can add a check in include/linux/pageblock-flags.h
/*
* The PAGE_BLOCK_ORDER, which defines the order for the number of pages
* that can have a migrate type, must be less or equal to the MAX_PAGE_ORDER,
* which defines the max order of pages to be allocated by the buddy allocator.
*/
BUILD_BUG_ON_MSG(PAGE_BLOCK_ORDER > MAX_PAGE_ORDER,
"MAX_PAGE_ORDER must be >= PAGE_BLOCK_ORDER");
Is there any preference?
> :::::: The code at line 1816 was first introduced by commit
> :::::: d9c2340052278d8eb2ffb16b0484f8f794def4de Do not depend on MAX_ORDER when grouping pages by mobility
>
> :::::: TO: Mel Gorman <mel@csn.ul.ie>
> :::::: CC: Linus Torvalds <torvalds@woody.linux-foundation.org>
>
> --
> 0-DAY CI Kernel Test Service
> https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [akpm-mm:mm-unstable 333/334] include/linux/mmzone.h:1816:8: warning: left shift count is negative
2025-05-09 20:43 ` Juan Yescas
@ 2025-05-12 1:10 ` Philip Li
2025-05-12 19:06 ` Juan Yescas
0 siblings, 1 reply; 4+ messages in thread
From: Philip Li @ 2025-05-12 1:10 UTC (permalink / raw)
To: Juan Yescas
Cc: kernel test robot, oe-kbuild-all, Andrew Morton,
Linux Memory Management List
On Fri, May 09, 2025 at 01:43:33PM -0700, Juan Yescas wrote:
> On Fri, May 9, 2025 at 12:49 AM kernel test robot <lkp@intel.com> wrote:
> >
> > tree: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-unstable
> > head: 930c125f685d7e8eef566fcd563390b76a28d824
> > commit: 16994f2b09a22523885d371caa59f17999686805 [333/334] mm: add CONFIG_PAGE_BLOCK_ORDER to select page block order
> > config: powerpc64-randconfig-003-20250509 (https://download.01.org/0day-ci/archive/20250509/202505091548.FuKO4b4v-lkp@intel.com/config)
> > compiler: powerpc64-linux-gcc (GCC) 10.5.0
> > reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250509/202505091548.FuKO4b4v-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/202505091548.FuKO4b4v-lkp@intel.com/
> >
> > All warnings (new ones prefixed by >>):
> >
> > In file included from include/vdso/const.h:5,
> > from include/linux/const.h:4,
> > from include/linux/bits.h:5,
> > from include/linux/ratelimit_types.h:5,
> > from include/linux/printk.h:9,
> > from include/asm-generic/bug.h:22,
> > from arch/powerpc/include/asm/bug.h:116,
> > from include/linux/bug.h:5,
> > from include/linux/mmdebug.h:5,
> > from include/linux/mm.h:6,
> > from mm/sparse.c:5:
> > mm/sparse.c: In function 'usemap_size':
> > >> include/linux/mmzone.h:1816:8: warning: left shift count is negative [-Wshift-count-negative]
> > 1816 | ((1UL << (PFN_SECTION_SHIFT - pageblock_order)) * NR_PAGEBLOCK_BITS)
> > | ^~
> > include/uapi/linux/const.h:51:40: note: in definition of macro '__KERNEL_DIV_ROUND_UP'
> > 51 | #define __KERNEL_DIV_ROUND_UP(n, d) (((n) + (d) - 1) / (d))
> > | ^
> > mm/sparse.c:301:9: note: in expansion of macro 'BITS_TO_LONGS'
> > 301 | return BITS_TO_LONGS(SECTION_BLOCKFLAGS_BITS) * sizeof(unsigned long);
> > | ^~~~~~~~~~~~~
> > mm/sparse.c:301:23: note: in expansion of macro 'SECTION_BLOCKFLAGS_BITS'
> > 301 | return BITS_TO_LONGS(SECTION_BLOCKFLAGS_BITS) * sizeof(unsigned long);
> > | ^~~~~~~~~~~~~~~~~~~~~~~
> >
> >
> > vim +1816 include/linux/mmzone.h
> >
> > d41dee369bff3b Andy Whitcroft 2005-06-23 1814
> > 835c134ec4dd75 Mel Gorman 2007-10-16 1815 #define SECTION_BLOCKFLAGS_BITS \
> > d9c2340052278d Mel Gorman 2007-10-16 @1816 ((1UL << (PFN_SECTION_SHIFT - pageblock_order)) * NR_PAGEBLOCK_BITS)
> > 835c134ec4dd75 Mel Gorman 2007-10-16 1817
> >
>
> Thanks for testing,
>
> The reason for the warning is because CONFIG_PAGE_BLOCK_ORDER >
> CONFIG_ARCH_FORCE_MAX_ORDER.
>
> This config: powerpc64-randconfig-003-20250509
> (https://download.01.org/0day-ci/archive/20250509/202505091548.FuKO4b4v-lkp@intel.com/config)
>
> is not respecting the range config below. Should the test make sure
> that the ranges are valid?
Thanks for the information, I will check the bot side to resolve the problem.
Sorry for the false positive.
>
> config PAGE_BLOCK_ORDER
> int "Page Block Order"
> range 1 10 if !ARCH_FORCE_MAX_ORDER
> default 10 if !ARCH_FORCE_MAX_ORDER
> range 1 ARCH_FORCE_MAX_ORDER if ARCH_FORCE_MAX_ORDER
> default ARCH_FORCE_MAX_ORDER if ARCH_FORCE_MAX_ORDER
>
> I can add a check in include/linux/pageblock-flags.h
>
> /*
> * The PAGE_BLOCK_ORDER, which defines the order for the number of pages
> * that can have a migrate type, must be less or equal to the MAX_PAGE_ORDER,
> * which defines the max order of pages to be allocated by the buddy allocator.
> */
> BUILD_BUG_ON_MSG(PAGE_BLOCK_ORDER > MAX_PAGE_ORDER,
> "MAX_PAGE_ORDER must be >= PAGE_BLOCK_ORDER");
>
> Is there any preference?
>
> > :::::: The code at line 1816 was first introduced by commit
> > :::::: d9c2340052278d8eb2ffb16b0484f8f794def4de Do not depend on MAX_ORDER when grouping pages by mobility
> >
> > :::::: TO: Mel Gorman <mel@csn.ul.ie>
> > :::::: CC: Linus Torvalds <torvalds@woody.linux-foundation.org>
> >
> > --
> > 0-DAY CI Kernel Test Service
> > https://github.com/intel/lkp-tests/wiki
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [akpm-mm:mm-unstable 333/334] include/linux/mmzone.h:1816:8: warning: left shift count is negative
2025-05-12 1:10 ` Philip Li
@ 2025-05-12 19:06 ` Juan Yescas
0 siblings, 0 replies; 4+ messages in thread
From: Juan Yescas @ 2025-05-12 19:06 UTC (permalink / raw)
To: Philip Li
Cc: kernel test robot, oe-kbuild-all, Andrew Morton,
Linux Memory Management List
On Sun, May 11, 2025 at 6:10 PM Philip Li <philip.li@intel.com> wrote:
>
> On Fri, May 09, 2025 at 01:43:33PM -0700, Juan Yescas wrote:
> > On Fri, May 9, 2025 at 12:49 AM kernel test robot <lkp@intel.com> wrote:
> > >
> > > tree: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-unstable
> > > head: 930c125f685d7e8eef566fcd563390b76a28d824
> > > commit: 16994f2b09a22523885d371caa59f17999686805 [333/334] mm: add CONFIG_PAGE_BLOCK_ORDER to select page block order
> > > config: powerpc64-randconfig-003-20250509 (https://download.01.org/0day-ci/archive/20250509/202505091548.FuKO4b4v-lkp@intel.com/config)
> > > compiler: powerpc64-linux-gcc (GCC) 10.5.0
> > > reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250509/202505091548.FuKO4b4v-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/202505091548.FuKO4b4v-lkp@intel.com/
> > >
> > > All warnings (new ones prefixed by >>):
> > >
> > > In file included from include/vdso/const.h:5,
> > > from include/linux/const.h:4,
> > > from include/linux/bits.h:5,
> > > from include/linux/ratelimit_types.h:5,
> > > from include/linux/printk.h:9,
> > > from include/asm-generic/bug.h:22,
> > > from arch/powerpc/include/asm/bug.h:116,
> > > from include/linux/bug.h:5,
> > > from include/linux/mmdebug.h:5,
> > > from include/linux/mm.h:6,
> > > from mm/sparse.c:5:
> > > mm/sparse.c: In function 'usemap_size':
> > > >> include/linux/mmzone.h:1816:8: warning: left shift count is negative [-Wshift-count-negative]
> > > 1816 | ((1UL << (PFN_SECTION_SHIFT - pageblock_order)) * NR_PAGEBLOCK_BITS)
> > > | ^~
> > > include/uapi/linux/const.h:51:40: note: in definition of macro '__KERNEL_DIV_ROUND_UP'
> > > 51 | #define __KERNEL_DIV_ROUND_UP(n, d) (((n) + (d) - 1) / (d))
> > > | ^
> > > mm/sparse.c:301:9: note: in expansion of macro 'BITS_TO_LONGS'
> > > 301 | return BITS_TO_LONGS(SECTION_BLOCKFLAGS_BITS) * sizeof(unsigned long);
> > > | ^~~~~~~~~~~~~
> > > mm/sparse.c:301:23: note: in expansion of macro 'SECTION_BLOCKFLAGS_BITS'
> > > 301 | return BITS_TO_LONGS(SECTION_BLOCKFLAGS_BITS) * sizeof(unsigned long);
> > > | ^~~~~~~~~~~~~~~~~~~~~~~
> > >
> > >
> > > vim +1816 include/linux/mmzone.h
> > >
> > > d41dee369bff3b Andy Whitcroft 2005-06-23 1814
> > > 835c134ec4dd75 Mel Gorman 2007-10-16 1815 #define SECTION_BLOCKFLAGS_BITS \
> > > d9c2340052278d Mel Gorman 2007-10-16 @1816 ((1UL << (PFN_SECTION_SHIFT - pageblock_order)) * NR_PAGEBLOCK_BITS)
> > > 835c134ec4dd75 Mel Gorman 2007-10-16 1817
> > >
> >
> > Thanks for testing,
> >
> > The reason for the warning is because CONFIG_PAGE_BLOCK_ORDER >
> > CONFIG_ARCH_FORCE_MAX_ORDER.
> >
> > This config: powerpc64-randconfig-003-20250509
> > (https://download.01.org/0day-ci/archive/20250509/202505091548.FuKO4b4v-lkp@intel.com/config)
> >
> > is not respecting the range config below. Should the test make sure
> > that the ranges are valid?
>
> Thanks for the information, I will check the bot side to resolve the problem.
>
> Sorry for the false positive.
>
Thanks Philip,
I tried to reproduce the issue in an ARM64 build by modifying the
.config manually
$ vim .config
$ cat .config | grep MAX_ORDER
CONFIG_ARCH_FORCE_MAX_ORDER=8
$ cat .config | grep PAGE_BLOCK
CONFIG_PAGE_BLOCK_ORDER=10
$ make -j40 ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu-
CALL scripts/checksyscalls.sh
However, after I built the kernel, the CONFIG_PAGE_BLOCK_ORDER got
overridden with
a valid value.
$ cat .config | grep MAX_ORDER
CONFIG_ARCH_FORCE_MAX_ORDER=10
$ cat .config | grep PAGE_BLOCK
CONFIG_PAGE_BLOCK_ORDER=10
Is there a parameter or configuration in the test that indicates not
to fix the .config files?
> >
> > config PAGE_BLOCK_ORDER
> > int "Page Block Order"
> > range 1 10 if !ARCH_FORCE_MAX_ORDER
> > default 10 if !ARCH_FORCE_MAX_ORDER
> > range 1 ARCH_FORCE_MAX_ORDER if ARCH_FORCE_MAX_ORDER
> > default ARCH_FORCE_MAX_ORDER if ARCH_FORCE_MAX_ORDER
> >
> > I can add a check in include/linux/pageblock-flags.h
> >
> > /*
> > * The PAGE_BLOCK_ORDER, which defines the order for the number of pages
> > * that can have a migrate type, must be less or equal to the MAX_PAGE_ORDER,
> > * which defines the max order of pages to be allocated by the buddy allocator.
> > */
> > BUILD_BUG_ON_MSG(PAGE_BLOCK_ORDER > MAX_PAGE_ORDER,
> > "MAX_PAGE_ORDER must be >= PAGE_BLOCK_ORDER");
> >
> > Is there any preference?
> >
> > > :::::: The code at line 1816 was first introduced by commit
> > > :::::: d9c2340052278d8eb2ffb16b0484f8f794def4de Do not depend on MAX_ORDER when grouping pages by mobility
> > >
> > > :::::: TO: Mel Gorman <mel@csn.ul.ie>
> > > :::::: CC: Linus Torvalds <torvalds@woody.linux-foundation.org>
> > >
> > > --
> > > 0-DAY CI Kernel Test Service
> > > https://github.com/intel/lkp-tests/wiki
> >
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2025-05-12 19:06 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-05-09 7:48 [akpm-mm:mm-unstable 333/334] include/linux/mmzone.h:1816:8: warning: left shift count is negative kernel test robot
2025-05-09 20:43 ` Juan Yescas
2025-05-12 1:10 ` Philip Li
2025-05-12 19:06 ` Juan Yescas
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox