From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-10.3 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING, SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 64CE6C433DB for ; Wed, 17 Mar 2021 07:20:39 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 1BD8964F64 for ; Wed, 17 Mar 2021 07:20:39 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229795AbhCQHUI (ORCPT ); Wed, 17 Mar 2021 03:20:08 -0400 Received: from mga09.intel.com ([134.134.136.24]:61138 "EHLO mga09.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229469AbhCQHTg (ORCPT ); Wed, 17 Mar 2021 03:19:36 -0400 IronPort-SDR: SjWKvFkFjfPsse9ezgrxCv0vIE3BnUZjYDziototKS0RwY02YZnLDKnieOZh76zCVNYrQV6NGl tUnFN1JxYKHw== X-IronPort-AV: E=McAfee;i="6000,8403,9925"; a="189499197" X-IronPort-AV: E=Sophos;i="5.81,255,1610438400"; d="gz'50?scan'50,208,50";a="189499197" Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Mar 2021 00:19:35 -0700 IronPort-SDR: +3vLD/chU1Tb4l7SsjfH4QnZx6a/vAJrD03NTl4MvDJEl1I1Py7l0h/w0yA0bnD5+UinNV0g+W mAZxURU7DeLA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,255,1610438400"; d="gz'50?scan'50,208,50";a="379177675" Received: from lkp-server02.sh.intel.com (HELO 1c294c63cb86) ([10.239.97.151]) by fmsmga007.fm.intel.com with ESMTP; 17 Mar 2021 00:19:31 -0700 Received: from kbuild by 1c294c63cb86 with local (Exim 4.92) (envelope-from ) id 1lMQSp-0000Xz-3E; Wed, 17 Mar 2021 07:19:31 +0000 Date: Wed, 17 Mar 2021 15:19:11 +0800 From: kernel test robot To: Feng Tang , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Andrew Morton Cc: kbuild-all@lists.01.org, clang-built-linux@googlegroups.com, Linux Memory Management List , Michal Hocko , Andrea Arcangeli , David Rientjes , Mel Gorman , Mike Kravetz , Randy Dunlap Subject: Re: [PATCH v4 11/13] mm/mempolicy: huge-page allocation for many preferred Message-ID: <202103171506.QmuR9fOs-lkp@intel.com> References: <1615952410-36895-12-git-send-email-feng.tang@intel.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="PEIAKu/WMn1b1Hv9" Content-Disposition: inline In-Reply-To: <1615952410-36895-12-git-send-email-feng.tang@intel.com> User-Agent: Mutt/1.10.1 (2018-07-13) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --PEIAKu/WMn1b1Hv9 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hi Feng, I love your patch! Yet something to improve: [auto build test ERROR on linux/master] [also build test ERROR on linus/master v5.12-rc3] [cannot apply to next-20210316] [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/Feng-Tang/Introduced-multi-preference-mempolicy/20210317-114204 base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git a74e6a014c9d4d4161061f770c9b4f98372ac778 config: s390-randconfig-r022-20210317 (attached as .config) compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 8ef111222a3dd12a9175f69c3bff598c46e8bdf7) 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 # install s390 cross compiling tool for clang build # apt-get install binutils-s390x-linux-gnu # https://github.com/0day-ci/linux/commit/3bfe0c833846b79ae8bbfff60906c9d7c244c3b8 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Feng-Tang/Introduced-multi-preference-mempolicy/20210317-114204 git checkout 3bfe0c833846b79ae8bbfff60906c9d7c244c3b8 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=s390 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All errors (new ones prefixed by >>): #define __le32_to_cpu(x) __swab32((__force __u32)(__le32)(x)) ^ include/uapi/linux/swab.h:119:21: note: expanded from macro '__swab32' ___constant_swab32(x) : \ ^ include/uapi/linux/swab.h:19:12: note: expanded from macro '___constant_swab32' (((__u32)(x) & (__u32)0x000000ffUL) << 24) | \ ^ In file included from mm/hugetlb.c:19: In file included from include/linux/memblock.h:14: In file included from arch/s390/include/asm/dma.h:5: In file included from arch/s390/include/asm/io.h:80: include/asm-generic/io.h:490:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] val = __le32_to_cpu((__le32 __force)__raw_readl(PCI_IOBASE + addr)); ~~~~~~~~~~ ^ include/uapi/linux/byteorder/big_endian.h:34:59: note: expanded from macro '__le32_to_cpu' #define __le32_to_cpu(x) __swab32((__force __u32)(__le32)(x)) ^ include/uapi/linux/swab.h:119:21: note: expanded from macro '__swab32' ___constant_swab32(x) : \ ^ include/uapi/linux/swab.h:20:12: note: expanded from macro '___constant_swab32' (((__u32)(x) & (__u32)0x0000ff00UL) << 8) | \ ^ In file included from mm/hugetlb.c:19: In file included from include/linux/memblock.h:14: In file included from arch/s390/include/asm/dma.h:5: In file included from arch/s390/include/asm/io.h:80: include/asm-generic/io.h:490:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] val = __le32_to_cpu((__le32 __force)__raw_readl(PCI_IOBASE + addr)); ~~~~~~~~~~ ^ include/uapi/linux/byteorder/big_endian.h:34:59: note: expanded from macro '__le32_to_cpu' #define __le32_to_cpu(x) __swab32((__force __u32)(__le32)(x)) ^ include/uapi/linux/swab.h:119:21: note: expanded from macro '__swab32' ___constant_swab32(x) : \ ^ include/uapi/linux/swab.h:21:12: note: expanded from macro '___constant_swab32' (((__u32)(x) & (__u32)0x00ff0000UL) >> 8) | \ ^ In file included from mm/hugetlb.c:19: In file included from include/linux/memblock.h:14: In file included from arch/s390/include/asm/dma.h:5: In file included from arch/s390/include/asm/io.h:80: include/asm-generic/io.h:490:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] val = __le32_to_cpu((__le32 __force)__raw_readl(PCI_IOBASE + addr)); ~~~~~~~~~~ ^ include/uapi/linux/byteorder/big_endian.h:34:59: note: expanded from macro '__le32_to_cpu' #define __le32_to_cpu(x) __swab32((__force __u32)(__le32)(x)) ^ include/uapi/linux/swab.h:119:21: note: expanded from macro '__swab32' ___constant_swab32(x) : \ ^ include/uapi/linux/swab.h:22:12: note: expanded from macro '___constant_swab32' (((__u32)(x) & (__u32)0xff000000UL) >> 24))) ^ In file included from mm/hugetlb.c:19: In file included from include/linux/memblock.h:14: In file included from arch/s390/include/asm/dma.h:5: In file included from arch/s390/include/asm/io.h:80: include/asm-generic/io.h:490:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] val = __le32_to_cpu((__le32 __force)__raw_readl(PCI_IOBASE + addr)); ~~~~~~~~~~ ^ include/uapi/linux/byteorder/big_endian.h:34:59: note: expanded from macro '__le32_to_cpu' #define __le32_to_cpu(x) __swab32((__force __u32)(__le32)(x)) ^ include/uapi/linux/swab.h:120:12: note: expanded from macro '__swab32' __fswab32(x)) ^ In file included from mm/hugetlb.c:19: In file included from include/linux/memblock.h:14: In file included from arch/s390/include/asm/dma.h:5: In file included from arch/s390/include/asm/io.h:80: include/asm-generic/io.h:501:33: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] __raw_writeb(value, PCI_IOBASE + addr); ~~~~~~~~~~ ^ include/asm-generic/io.h:511:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] __raw_writew((u16 __force)cpu_to_le16(value), PCI_IOBASE + addr); ~~~~~~~~~~ ^ include/asm-generic/io.h:521:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] __raw_writel((u32 __force)cpu_to_le32(value), PCI_IOBASE + addr); ~~~~~~~~~~ ^ include/asm-generic/io.h:609:20: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] readsb(PCI_IOBASE + addr, buffer, count); ~~~~~~~~~~ ^ include/asm-generic/io.h:617:20: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] readsw(PCI_IOBASE + addr, buffer, count); ~~~~~~~~~~ ^ include/asm-generic/io.h:625:20: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] readsl(PCI_IOBASE + addr, buffer, count); ~~~~~~~~~~ ^ include/asm-generic/io.h:634:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] writesb(PCI_IOBASE + addr, buffer, count); ~~~~~~~~~~ ^ include/asm-generic/io.h:643:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] writesw(PCI_IOBASE + addr, buffer, count); ~~~~~~~~~~ ^ include/asm-generic/io.h:652:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] writesl(PCI_IOBASE + addr, buffer, count); ~~~~~~~~~~ ^ >> mm/hugetlb.c:1129:12: error: no member named 'mode' in 'struct mempolicy' if (mpol->mode != MPOL_BIND && nodemask) { /* AKA MPOL_PREFERRED_MANY */ ~~~~ ^ include/linux/compiler.h:56:47: note: expanded from macro 'if' #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) ) ^~~~ include/linux/compiler.h:58:52: note: expanded from macro '__trace_if_var' #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond)) ^~~~ >> mm/hugetlb.c:1129:12: error: no member named 'mode' in 'struct mempolicy' if (mpol->mode != MPOL_BIND && nodemask) { /* AKA MPOL_PREFERRED_MANY */ ~~~~ ^ include/linux/compiler.h:56:47: note: expanded from macro 'if' #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) ) ^~~~ include/linux/compiler.h:58:61: note: expanded from macro '__trace_if_var' #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond)) ^~~~ >> mm/hugetlb.c:1129:12: error: no member named 'mode' in 'struct mempolicy' if (mpol->mode != MPOL_BIND && nodemask) { /* AKA MPOL_PREFERRED_MANY */ ~~~~ ^ include/linux/compiler.h:56:47: note: expanded from macro 'if' #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) ) ^~~~ include/linux/compiler.h:58:86: note: expanded from macro '__trace_if_var' #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond)) ^~~~ include/linux/compiler.h:69:3: note: expanded from macro '__trace_if_value' (cond) ? \ ^~~~ mm/hugetlb.c:1896:12: error: no member named 'mode' in 'struct mempolicy' if (mpol->mode != MPOL_BIND && nodemask) { /* AKA MPOL_PREFERRED_MANY */ ~~~~ ^ include/linux/compiler.h:56:47: note: expanded from macro 'if' #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) ) ^~~~ include/linux/compiler.h:58:52: note: expanded from macro '__trace_if_var' #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond)) ^~~~ mm/hugetlb.c:1896:12: error: no member named 'mode' in 'struct mempolicy' if (mpol->mode != MPOL_BIND && nodemask) { /* AKA MPOL_PREFERRED_MANY */ ~~~~ ^ include/linux/compiler.h:56:47: note: expanded from macro 'if' #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) ) ^~~~ include/linux/compiler.h:58:61: note: expanded from macro '__trace_if_var' #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond)) ^~~~ mm/hugetlb.c:1896:12: error: no member named 'mode' in 'struct mempolicy' if (mpol->mode != MPOL_BIND && nodemask) { /* AKA MPOL_PREFERRED_MANY */ ~~~~ ^ include/linux/compiler.h:56:47: note: expanded from macro 'if' #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) ) ^~~~ include/linux/compiler.h:58:86: note: expanded from macro '__trace_if_var' #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond)) ^~~~ include/linux/compiler.h:69:3: note: expanded from macro '__trace_if_value' (cond) ? \ ^~~~ 20 warnings and 6 errors generated. vim +1129 mm/hugetlb.c 1102 1103 static struct page *dequeue_huge_page_vma(struct hstate *h, 1104 struct vm_area_struct *vma, 1105 unsigned long address, int avoid_reserve, 1106 long chg) 1107 { 1108 struct page *page = NULL; 1109 struct mempolicy *mpol; 1110 gfp_t gfp_mask; 1111 nodemask_t *nodemask; 1112 int nid; 1113 1114 /* 1115 * A child process with MAP_PRIVATE mappings created by their parent 1116 * have no page reserves. This check ensures that reservations are 1117 * not "stolen". The child may still get SIGKILLed 1118 */ 1119 if (!vma_has_reserves(vma, chg) && 1120 h->free_huge_pages - h->resv_huge_pages == 0) 1121 goto err; 1122 1123 /* If reserves cannot be used, ensure enough pages are in the pool */ 1124 if (avoid_reserve && h->free_huge_pages - h->resv_huge_pages == 0) 1125 goto err; 1126 1127 gfp_mask = htlb_alloc_mask(h); 1128 nid = huge_node(vma, address, gfp_mask, &mpol, &nodemask); > 1129 if (mpol->mode != MPOL_BIND && nodemask) { /* AKA MPOL_PREFERRED_MANY */ 1130 gfp_t gfp_mask1 = gfp_mask | __GFP_NOWARN; 1131 1132 gfp_mask1 &= ~__GFP_DIRECT_RECLAIM; 1133 page = dequeue_huge_page_nodemask(h, 1134 gfp_mask1, nid, nodemask); 1135 if (!page) 1136 page = dequeue_huge_page_nodemask(h, gfp_mask, nid, NULL); 1137 } else { 1138 page = dequeue_huge_page_nodemask(h, gfp_mask, nid, nodemask); 1139 } 1140 if (page && !avoid_reserve && vma_has_reserves(vma, chg)) { 1141 SetHPageRestoreReserve(page); 1142 h->resv_huge_pages--; 1143 } 1144 1145 mpol_cond_put(mpol); 1146 return page; 1147 1148 err: 1149 return NULL; 1150 } 1151 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org --PEIAKu/WMn1b1Hv9 Content-Type: application/gzip Content-Disposition: attachment; filename=".config.gz" Content-Transfer-Encoding: base64 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 --PEIAKu/WMn1b1Hv9-- From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============6493475118067668666==" MIME-Version: 1.0 From: kernel test robot To: kbuild-all@lists.01.org Subject: Re: [PATCH v4 11/13] mm/mempolicy: huge-page allocation for many preferred Date: Wed, 17 Mar 2021 15:19:11 +0800 Message-ID: <202103171506.QmuR9fOs-lkp@intel.com> In-Reply-To: <1615952410-36895-12-git-send-email-feng.tang@intel.com> List-Id: --===============6493475118067668666== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Hi Feng, I love your patch! Yet something to improve: [auto build test ERROR on linux/master] [also build test ERROR on linus/master v5.12-rc3] [cannot apply to next-20210316] [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/Feng-Tang/Introduced-multi= -preference-mempolicy/20210317-114204 base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git = a74e6a014c9d4d4161061f770c9b4f98372ac778 config: s390-randconfig-r022-20210317 (attached as .config) compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 8ef111= 222a3dd12a9175f69c3bff598c46e8bdf7) reproduce (this is a W=3D1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/= make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # install s390 cross compiling tool for clang build # apt-get install binutils-s390x-linux-gnu # https://github.com/0day-ci/linux/commit/3bfe0c833846b79ae8bbfff60= 906c9d7c244c3b8 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Feng-Tang/Introduced-multi-prefere= nce-mempolicy/20210317-114204 git checkout 3bfe0c833846b79ae8bbfff60906c9d7c244c3b8 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=3D$HOME/0day COMPILER=3Dclang make.cross ARCH= =3Ds390 = If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All errors (new ones prefixed by >>): #define __le32_to_cpu(x) __swab32((__force __u32)(__le32)(x)) ^ include/uapi/linux/swab.h:119:21: note: expanded from macro '__swab32' ___constant_swab32(x) : \ ^ include/uapi/linux/swab.h:19:12: note: expanded from macro '___constant_= swab32' (((__u32)(x) & (__u32)0x000000ffUL) << 24) | \ ^ In file included from mm/hugetlb.c:19: In file included from include/linux/memblock.h:14: In file included from arch/s390/include/asm/dma.h:5: In file included from arch/s390/include/asm/io.h:80: include/asm-generic/io.h:490:61: warning: performing pointer arithmetic = on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] val =3D __le32_to_cpu((__le32 __force)__raw_readl(PCI_IOBASE + a= ddr)); ~~~~~~~~~~ ^ include/uapi/linux/byteorder/big_endian.h:34:59: note: expanded from mac= ro '__le32_to_cpu' #define __le32_to_cpu(x) __swab32((__force __u32)(__le32)(x)) ^ include/uapi/linux/swab.h:119:21: note: expanded from macro '__swab32' ___constant_swab32(x) : \ ^ include/uapi/linux/swab.h:20:12: note: expanded from macro '___constant_= swab32' (((__u32)(x) & (__u32)0x0000ff00UL) << 8) | \ ^ In file included from mm/hugetlb.c:19: In file included from include/linux/memblock.h:14: In file included from arch/s390/include/asm/dma.h:5: In file included from arch/s390/include/asm/io.h:80: include/asm-generic/io.h:490:61: warning: performing pointer arithmetic = on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] val =3D __le32_to_cpu((__le32 __force)__raw_readl(PCI_IOBASE + a= ddr)); ~~~~~~~~~~ ^ include/uapi/linux/byteorder/big_endian.h:34:59: note: expanded from mac= ro '__le32_to_cpu' #define __le32_to_cpu(x) __swab32((__force __u32)(__le32)(x)) ^ include/uapi/linux/swab.h:119:21: note: expanded from macro '__swab32' ___constant_swab32(x) : \ ^ include/uapi/linux/swab.h:21:12: note: expanded from macro '___constant_= swab32' (((__u32)(x) & (__u32)0x00ff0000UL) >> 8) | \ ^ In file included from mm/hugetlb.c:19: In file included from include/linux/memblock.h:14: In file included from arch/s390/include/asm/dma.h:5: In file included from arch/s390/include/asm/io.h:80: include/asm-generic/io.h:490:61: warning: performing pointer arithmetic = on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] val =3D __le32_to_cpu((__le32 __force)__raw_readl(PCI_IOBASE + a= ddr)); ~~~~~~~~~~ ^ include/uapi/linux/byteorder/big_endian.h:34:59: note: expanded from mac= ro '__le32_to_cpu' #define __le32_to_cpu(x) __swab32((__force __u32)(__le32)(x)) ^ include/uapi/linux/swab.h:119:21: note: expanded from macro '__swab32' ___constant_swab32(x) : \ ^ include/uapi/linux/swab.h:22:12: note: expanded from macro '___constant_= swab32' (((__u32)(x) & (__u32)0xff000000UL) >> 24))) ^ In file included from mm/hugetlb.c:19: In file included from include/linux/memblock.h:14: In file included from arch/s390/include/asm/dma.h:5: In file included from arch/s390/include/asm/io.h:80: include/asm-generic/io.h:490:61: warning: performing pointer arithmetic = on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] val =3D __le32_to_cpu((__le32 __force)__raw_readl(PCI_IOBASE + a= ddr)); ~~~~~~~~~~ ^ include/uapi/linux/byteorder/big_endian.h:34:59: note: expanded from mac= ro '__le32_to_cpu' #define __le32_to_cpu(x) __swab32((__force __u32)(__le32)(x)) ^ include/uapi/linux/swab.h:120:12: note: expanded from macro '__swab32' __fswab32(x)) ^ In file included from mm/hugetlb.c:19: In file included from include/linux/memblock.h:14: In file included from arch/s390/include/asm/dma.h:5: In file included from arch/s390/include/asm/io.h:80: include/asm-generic/io.h:501:33: warning: performing pointer arithmetic = on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] __raw_writeb(value, PCI_IOBASE + addr); ~~~~~~~~~~ ^ include/asm-generic/io.h:511:59: warning: performing pointer arithmetic = on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] __raw_writew((u16 __force)cpu_to_le16(value), PCI_IOBASE + addr); ~~~~~~~~~~ ^ include/asm-generic/io.h:521:59: warning: performing pointer arithmetic = on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] __raw_writel((u32 __force)cpu_to_le32(value), PCI_IOBASE + addr); ~~~~~~~~~~ ^ include/asm-generic/io.h:609:20: warning: performing pointer arithmetic = on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] readsb(PCI_IOBASE + addr, buffer, count); ~~~~~~~~~~ ^ include/asm-generic/io.h:617:20: warning: performing pointer arithmetic = on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] readsw(PCI_IOBASE + addr, buffer, count); ~~~~~~~~~~ ^ include/asm-generic/io.h:625:20: warning: performing pointer arithmetic = on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] readsl(PCI_IOBASE + addr, buffer, count); ~~~~~~~~~~ ^ include/asm-generic/io.h:634:21: warning: performing pointer arithmetic = on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] writesb(PCI_IOBASE + addr, buffer, count); ~~~~~~~~~~ ^ include/asm-generic/io.h:643:21: warning: performing pointer arithmetic = on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] writesw(PCI_IOBASE + addr, buffer, count); ~~~~~~~~~~ ^ include/asm-generic/io.h:652:21: warning: performing pointer arithmetic = on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] writesl(PCI_IOBASE + addr, buffer, count); ~~~~~~~~~~ ^ >> mm/hugetlb.c:1129:12: error: no member named 'mode' in 'struct mempolicy' if (mpol->mode !=3D MPOL_BIND && nodemask) { /* AKA MPOL_PREFERR= ED_MANY */ ~~~~ ^ include/linux/compiler.h:56:47: note: expanded from macro 'if' #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) ) ^~~~ include/linux/compiler.h:58:52: note: expanded from macro '__trace_if_va= r' #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __tr= ace_if_value(cond)) ^~~~ >> mm/hugetlb.c:1129:12: error: no member named 'mode' in 'struct mempolicy' if (mpol->mode !=3D MPOL_BIND && nodemask) { /* AKA MPOL_PREFERR= ED_MANY */ ~~~~ ^ include/linux/compiler.h:56:47: note: expanded from macro 'if' #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) ) ^~~~ include/linux/compiler.h:58:61: note: expanded from macro '__trace_if_va= r' #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __tr= ace_if_value(cond)) ^~~~ >> mm/hugetlb.c:1129:12: error: no member named 'mode' in 'struct mempolicy' if (mpol->mode !=3D MPOL_BIND && nodemask) { /* AKA MPOL_PREFERR= ED_MANY */ ~~~~ ^ include/linux/compiler.h:56:47: note: expanded from macro 'if' #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) ) ^~~~ include/linux/compiler.h:58:86: note: expanded from macro '__trace_if_va= r' #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __tr= ace_if_value(cond)) = ^~~~ include/linux/compiler.h:69:3: note: expanded from macro '__trace_if_val= ue' (cond) ? \ ^~~~ mm/hugetlb.c:1896:12: error: no member named 'mode' in 'struct mempolicy' if (mpol->mode !=3D MPOL_BIND && nodemask) { /* AKA MPOL_PREFERR= ED_MANY */ ~~~~ ^ include/linux/compiler.h:56:47: note: expanded from macro 'if' #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) ) ^~~~ include/linux/compiler.h:58:52: note: expanded from macro '__trace_if_va= r' #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __tr= ace_if_value(cond)) ^~~~ mm/hugetlb.c:1896:12: error: no member named 'mode' in 'struct mempolicy' if (mpol->mode !=3D MPOL_BIND && nodemask) { /* AKA MPOL_PREFERR= ED_MANY */ ~~~~ ^ include/linux/compiler.h:56:47: note: expanded from macro 'if' #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) ) ^~~~ include/linux/compiler.h:58:61: note: expanded from macro '__trace_if_va= r' #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __tr= ace_if_value(cond)) ^~~~ mm/hugetlb.c:1896:12: error: no member named 'mode' in 'struct mempolicy' if (mpol->mode !=3D MPOL_BIND && nodemask) { /* AKA MPOL_PREFERR= ED_MANY */ ~~~~ ^ include/linux/compiler.h:56:47: note: expanded from macro 'if' #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) ) ^~~~ include/linux/compiler.h:58:86: note: expanded from macro '__trace_if_va= r' #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __tr= ace_if_value(cond)) = ^~~~ include/linux/compiler.h:69:3: note: expanded from macro '__trace_if_val= ue' (cond) ? \ ^~~~ 20 warnings and 6 errors generated. vim +1129 mm/hugetlb.c 1102 = 1103 static struct page *dequeue_huge_page_vma(struct hstate *h, 1104 struct vm_area_struct *vma, 1105 unsigned long address, int avoid_reserve, 1106 long chg) 1107 { 1108 struct page *page =3D NULL; 1109 struct mempolicy *mpol; 1110 gfp_t gfp_mask; 1111 nodemask_t *nodemask; 1112 int nid; 1113 = 1114 /* 1115 * A child process with MAP_PRIVATE mappings created by their parent 1116 * have no page reserves. This check ensures that reservations are 1117 * not "stolen". The child may still get SIGKILLed 1118 */ 1119 if (!vma_has_reserves(vma, chg) && 1120 h->free_huge_pages - h->resv_huge_pages =3D=3D 0) 1121 goto err; 1122 = 1123 /* If reserves cannot be used, ensure enough pages are in the pool = */ 1124 if (avoid_reserve && h->free_huge_pages - h->resv_huge_pages =3D=3D= 0) 1125 goto err; 1126 = 1127 gfp_mask =3D htlb_alloc_mask(h); 1128 nid =3D huge_node(vma, address, gfp_mask, &mpol, &nodemask); > 1129 if (mpol->mode !=3D MPOL_BIND && nodemask) { /* AKA MPOL_PREFERRED_= MANY */ 1130 gfp_t gfp_mask1 =3D gfp_mask | __GFP_NOWARN; 1131 = 1132 gfp_mask1 &=3D ~__GFP_DIRECT_RECLAIM; 1133 page =3D dequeue_huge_page_nodemask(h, 1134 gfp_mask1, nid, nodemask); 1135 if (!page) 1136 page =3D dequeue_huge_page_nodemask(h, gfp_mask, nid, NULL); 1137 } else { 1138 page =3D dequeue_huge_page_nodemask(h, gfp_mask, nid, nodemask); 1139 } 1140 if (page && !avoid_reserve && vma_has_reserves(vma, chg)) { 1141 SetHPageRestoreReserve(page); 1142 h->resv_huge_pages--; 1143 } 1144 = 1145 mpol_cond_put(mpol); 1146 return page; 1147 = 1148 err: 1149 return NULL; 1150 } 1151 = --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org --===============6493475118067668666== Content-Type: application/gzip MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="config.gz" 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 3AAA --===============6493475118067668666==--