From: Juan Yescas <jyescas@google.com>
To: Philip Li <philip.li@intel.com>
Cc: kernel test robot <lkp@intel.com>,
oe-kbuild-all@lists.linux.dev,
Andrew Morton <akpm@linux-foundation.org>,
Linux Memory Management List <linux-mm@kvack.org>
Subject: Re: [akpm-mm:mm-unstable 333/334] include/linux/mmzone.h:1816:8: warning: left shift count is negative
Date: Mon, 12 May 2025 12:06:03 -0700 [thread overview]
Message-ID: <CAJDx_rhLT1yEd4Ln0c6dyOuSY_zvdxy1122S+JaxEXb8urT9uw@mail.gmail.com> (raw)
In-Reply-To: <aCFKczeBZOp8wiPg@rli9-mobl>
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
> >
prev parent reply other threads:[~2025-05-12 19:06 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-05-09 7:48 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 message]
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=CAJDx_rhLT1yEd4Ln0c6dyOuSY_zvdxy1122S+JaxEXb8urT9uw@mail.gmail.com \
--to=jyescas@google.com \
--cc=akpm@linux-foundation.org \
--cc=linux-mm@kvack.org \
--cc=lkp@intel.com \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=philip.li@intel.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox