Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp116043pxf; Wed, 17 Mar 2021 00:21:48 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxWpt6cLAWg1ogAHMSSjspvtPwfm3fNkOpSeQIldEzZw4B9UuJuOXPlEkjgSe+D3WIWu/Zp X-Received: by 2002:a17:907:3e21:: with SMTP id hp33mr33474833ejc.313.1615965708589; Wed, 17 Mar 2021 00:21:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1615965708; cv=none; d=google.com; s=arc-20160816; b=lug7KBSPQ68cQB+QFRa3x6aNld4+P6qNI8h5Jonm4oMuWDJWH4HOoZu8fu+nEcOhyg pdGISlBaNLwZitK8g7GDn7iCdy0T6wUZbuvU7zCr5+P/73YzA4Bs8TGdjyRY8NOplctb wwkeRUzE5dCy+lnPP/YXLNKuUa6r+pR5smnchAyU7WLvgu3myyDDAv991An/RNj9LL+2 4SrDcCxtg89z4fS5F3JEhNVsUA9oB+BiDaEquUqGZrfuLt0Sl+XhAu8UTxaJJpyv22yt VesRYO7iwTWKqdvE/I4edkmnaoaREv1VfObwLmcuVkwnKkyuOvj4T2mfzVLGpllnDRTS JvUw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:user-agent:in-reply-to:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :ironport-sdr:ironport-sdr; bh=INn6dpiGRCiHOSzE03oaYTZFexTuE3bXZnhMLJaPa7E=; b=DL3+07GE81t5vFqKI1KOW1Wp3mCV0hvLiwD10MisJpmPKTA0DoydvD+U0Bg/a2icfL YXwpmdZLHIsaPFtWY324Uex+CB9Ne6qH3K/ZZveu76bEyPvFGWhtqDtr8UhtjMGMdkNQ 4PbnEu9+U7X5zhPp48HymFwKnfEGsCamaLYkcDqlOJu3KFaZtTm0oAmvvigVwpP0I7gC tqJaPjk+ByW7MO7EnTmshuhdMHQd2MSY0BpBiawZifQ0PuamRMLFD00w2ojT4YzqYrF8 yT5kgZ1hDmx1oPoMFxYGkJ+CgNNWEnGy4aZBYToMtqceRgMoAlKYF3cvE9XK+F9RHyvn fuRQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id y23si16279512ejp.249.2021.03.17.00.21.26; Wed, 17 Mar 2021 00:21:48 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229508AbhCQHUH (ORCPT + 99 others); Wed, 17 Mar 2021 03:20:07 -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--