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 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id C7DB1C4707B for ; Thu, 11 Jan 2024 02:11:32 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 412736B0083; Wed, 10 Jan 2024 21:11:32 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 3C3366B008C; Wed, 10 Jan 2024 21:11:32 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2632E6B0092; Wed, 10 Jan 2024 21:11:32 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 0EACB6B0083 for ; Wed, 10 Jan 2024 21:11:32 -0500 (EST) Received: from smtpin22.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id EA2A016053E for ; Thu, 11 Jan 2024 02:11:31 +0000 (UTC) X-FDA: 81665403582.22.F9A01BD Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.65]) by imf19.hostedemail.com (Postfix) with ESMTP id 583471A0008 for ; Thu, 11 Jan 2024 02:11:28 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=N8wHybkS; dmarc=pass (policy=none) header.from=intel.com; spf=pass (imf19.hostedemail.com: domain of lkp@intel.com designates 134.134.136.65 as permitted sender) smtp.mailfrom=lkp@intel.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1704939089; a=rsa-sha256; cv=none; b=egTK2657XSyjUQPxO7NbnGDQPvENCvERXV23ABsrVHOoUEWS6B37BFEWiCbS4kSkMi4uPd amUruoi+RTII/+PG2bwORnYwuG5KK7I+KQY+oe9srdpray1J7uYEHOdxmUn0a4JwNAr+4e xl9SWrRHHnwXabrZQbEpkAUzOndp7Co= ARC-Authentication-Results: i=1; imf19.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=N8wHybkS; dmarc=pass (policy=none) header.from=intel.com; spf=pass (imf19.hostedemail.com: domain of lkp@intel.com designates 134.134.136.65 as permitted sender) smtp.mailfrom=lkp@intel.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1704939089; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=NlHYyl4dhpTCs4dCSLO18nEPAa+87pQ0WBLpwl0ejrw=; b=Cr7qgrNUzfm/0hmdcnnKj46Ci9XCksN4DvLgPh6JEdsp8Z6X7K7SVzhfZ9nHtMdnXWCC5H UMmZA43htMiGlOA/r8aOutQsPQUPgBSQu/I9fRAc4debw4izikn5RvLSHfsnBOTD8QjUJI ggWbl/VDKEOzUQ4s/T+01y4yJmbqDoU= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1704939088; x=1736475088; h=date:from:to:cc:subject:message-id:references: mime-version:in-reply-to; bh=DkPraAq0020/lZhQeYKp24jTGAcVpX34xDJna0J7SFM=; b=N8wHybkSY+LYwtfxZxFQ2+76y5UPoc3VRZ+JVnMxlEtnIq7WIbVxzQIM OtafJJKLD/W2O/Y4vreoCnP8h3Sxgq9xUsNd7pVtSvWNTy8PxKVi8SyT2 4VGvjKeDEvLeCvxN4fzDslM/5QaNRlggOShZUN79ges/uuWwOlUPwnFvR u9pKR6b0D0/8aUsW2Z+dGsGtUJlvxMUJnwq7H09fm3w5nhqDtMPCS6fcm ENQf7t34pFT1IXxSrvjJmbwuLq7FVzZbvzQDuBv/vM+2ARTH+Fm8PP1Iy QtXw3+ijBmY6sMQw4PBmkcgsEIyfCOg+M1Qp++LbUR/XMTT6HEcEvxOIq A==; X-IronPort-AV: E=McAfee;i="6600,9927,10949"; a="402485070" X-IronPort-AV: E=Sophos;i="6.04,185,1695711600"; d="scan'208";a="402485070" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Jan 2024 18:11:26 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10949"; a="1113657415" X-IronPort-AV: E=Sophos;i="6.04,185,1695711600"; d="scan'208";a="1113657415" Received: from lkp-server02.sh.intel.com (HELO b07ab15da5fe) ([10.239.97.151]) by fmsmga005.fm.intel.com with ESMTP; 10 Jan 2024 18:11:23 -0800 Received: from kbuild by b07ab15da5fe with local (Exim 4.96) (envelope-from ) id 1rNkXQ-0007hi-26; Thu, 11 Jan 2024 02:11:20 +0000 Date: Thu, 11 Jan 2024 10:10:56 +0800 From: kernel test robot To: Chen Haixiang , linux-mm@kvack.org, akpm@linux-foundation.org, hughd@google.com Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev, louhongxiang@huawei.com, wangbin224@huawei.com, liuyuntao10@huawei.com, chenhaixiang3@huawei.com Subject: Re: [PATCH] support tmpfs hugepage PMD is not split when COW Message-ID: <202401110924.z8NSGZ0Z-lkp@intel.com> References: <20240110092028.1777-1-chenhaixiang3@huawei.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20240110092028.1777-1-chenhaixiang3@huawei.com> X-Rspam-User: X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 583471A0008 X-Stat-Signature: npfue785cjdad85dpjj9ct6a9w4spb53 X-HE-Tag: 1704939088-676461 X-HE-Meta: U2FsdGVkX18mJKy1b0jStJhPQveu6BdHhSCcgkcrJd7/3+IYnolzExf3AXRsm/EZSh8PrhBDNLjmjkGhqwO3UYj/dJkQy7HGzFQrbyXFTk2KCVpjhudGBCST18Jp/AHL6x38u3PUSzWVeOJZc+AC/VdTLiXxxwDCOSs8F8gqcHBQxCV+6J4OwhmL1iDUszes9lHBgMoXlHZPitwWTh6IcBaR5KD0bhfVajnv1m9/ZvWfccRwIVDbGU8kUMKvb2KYLeahyU8EaglvLR78Xu85XbbQFnIx9FYzktu7T9zrAD7+WVn+Bccf9DXJDlJQVjuP142JBnkuWOGZXnJfGeRbiastS0ABOH0Ef/dka4E11p2FUkEvSaDdkrHddrCW8oPysDpzYrj61iH3bLwdpNJYCwNW7ZuJuYkw0CkBiTQDlm9k0DpAzMf5Yq3+7L6Huao6vCGO04vWyJ1/X97UN2NU/q+SLv/VjnPn1dgVdasDVIGmTvKBpA3oNdHxnP6XhfsMVhL+2A3kSAWs7qHpNUqhe3TQwJ/Wl6LzBc0pntNJJM+0d292k/4T4Ovwuh/2fGSzHkd7KdhJzcgxBcaLy8Ypqs1yn/PDH7Gu7FXqmF/gpYYICX5bRLS9Jzw691Ydd6YZzeWaoLZKfm/HY43rhgKwoyfMLguRVm7vr7olgyeQLGiXJx2k5qFkCUgkO3hKaamzKD78GvyjLFRurdX3kBb8Dpxv+qeofFGXQE648cWWuuun/5p6kX1LIQk7lb3jeWruCbr/rq34WysiRDYJ8Fhu14WSZGs6oy2Rq8bYCDLbH2tv32hDb8Xfu5Rqlpc4eaS9KJaaI/9NptGdzH9Qhb7X7NTF90IGEre96Aud5MZZ1azr+D+eheHgn+0OsZ28/7dNuM/0wsN7PkmgT/5pN+ghla0z1okzjLpOgC6z8kdFLySEsK1S9lJRwMMcMD0W5u5UwRMaQneyyHvLtntiVZD OwgwQ733 MpDD3MglD3ATYG/SC+1zbcenuynUhF4PAuVrS0AO6L4TLhnPPfnfCql7GuVh5v0ITPEx9FbsA6qyD/m6ovNOb7i5dChEBv1njDsqk20AXf4+wVUlaK/GO6mJg5ZEo8AJRux1NTl1dS5Dwj3WZ19/OB6EUL5XNRz1Vom3VnoK5mL/Um0BxVBR1g7pKYkXsGN7u/5r/1MM6i7XddfzQq3vDN5DRkDGvTqvOJpGJhgG67+4a2ngPSXIDA4wn/2g7Zj8JSdoYNs0Fv6V9ReBW2Is6pnpD1qS37XkARii/KwN+U4A1s0SivWleh0rPvNoFuzQjhFOjS94iz9JFzUFtPAw0n+GOimBZ0bg4q5zUZeDxfzTUeAnh7NxN/VwyO9ziTgGX5zxUY4DsSqZCmqE= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Hi Chen, kernel test robot noticed the following build errors: [auto build test ERROR on akpm-mm/mm-everything] [also build test ERROR on linus/master v6.7 next-20240110] [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/Chen-Haixiang/support-tmpfs-hugepage-PMD-is-not-split-when-COW/20240110-172314 base: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-everything patch link: https://lore.kernel.org/r/20240110092028.1777-1-chenhaixiang3%40huawei.com patch subject: [PATCH] support tmpfs hugepage PMD is not split when COW config: arm64-randconfig-002-20240110 (https://download.01.org/0day-ci/archive/20240111/202401110924.z8NSGZ0Z-lkp@intel.com/config) compiler: clang version 18.0.0git (https://github.com/llvm/llvm-project 7388b7422f9307dd5ae3fe3876a676d83d702daf) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240111/202401110924.z8NSGZ0Z-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 | Closes: https://lore.kernel.org/oe-kbuild-all/202401110924.z8NSGZ0Z-lkp@intel.com/ All errors (new ones prefixed by >>): mm/shmem.c:2278:18: error: use of undeclared identifier 'THP_FAULT_FALLBACK'; did you mean 'VM_FAULT_FALLBACK'? 2278 | count_vm_event(THP_FAULT_FALLBACK); | ^~~~~~~~~~~~~~~~~~ | VM_FAULT_FALLBACK include/linux/mm_types.h:1219:2: note: 'VM_FAULT_FALLBACK' declared here 1219 | VM_FAULT_FALLBACK = (__force vm_fault_t)0x000800, | ^ mm/shmem.c:2278:18: warning: implicit conversion from enumeration type 'enum vm_fault_reason' to different enumeration type 'enum vm_event_item' [-Wenum-conversion] 2278 | count_vm_event(THP_FAULT_FALLBACK); | ~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~ mm/shmem.c:2283:2: error: call to undeclared function 'page_remove_rmap'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 2283 | page_remove_rmap(&old_folio->page, vma, true); | ^ mm/shmem.c:2283:2: note: did you mean 'hugetlb_remove_rmap'? include/linux/rmap.h:311:20: note: 'hugetlb_remove_rmap' declared here 311 | static inline void hugetlb_remove_rmap(struct folio *folio) | ^ mm/shmem.c:2291:10: error: call to undeclared function 'mk_huge_pmd'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 2291 | entry = mk_huge_pmd(&new_folio->page, vma->vm_page_prot); | ^ mm/shmem.c:2291:10: note: did you mean 'mk_huge_pte'? include/asm-generic/hugetlb.h:8:21: note: 'mk_huge_pte' declared here 8 | static inline pte_t mk_huge_pte(struct page *page, pgprot_t pgprot) | ^ >> mm/shmem.c:2291:8: error: assigning to 'pmd_t' from incompatible type 'int' 2291 | entry = mk_huge_pmd(&new_folio->page, vma->vm_page_prot); | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mm/shmem.c:2294:2: error: call to undeclared function 'page_add_file_rmap'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 2294 | page_add_file_rmap(&new_folio->page, vma, true); | ^ mm/shmem.c:2294:2: note: did you mean 'hugetlb_add_file_rmap'? include/linux/rmap.h:303:20: note: 'hugetlb_add_file_rmap' declared here 303 | static inline void hugetlb_add_file_rmap(struct folio *folio) | ^ 1 warning and 5 errors generated. vim +2291 mm/shmem.c 2239 2240 static vm_fault_t shmem_huge_fault(struct vm_fault *vmf, pmd_t orig_pmd) 2241 { 2242 vm_fault_t ret = VM_FAULT_FALLBACK; 2243 unsigned long haddr = vmf->address & HPAGE_PMD_MASK; 2244 struct folio *old_folio, *new_folio; 2245 pmd_t entry; 2246 int gfp_flags = GFP_HIGHUSER_MOVABLE | __GFP_COMP; 2247 struct vm_area_struct *vma = vmf->vma; 2248 struct shmem_sb_info *sbinfo = NULL; 2249 struct inode *inode = file_inode(vma->vm_file); 2250 struct shmem_inode_info *info = SHMEM_I(inode); 2251 2252 sbinfo = SHMEM_SB(info->vfs_inode.i_sb); 2253 2254 if (sbinfo->no_split == 0) 2255 return VM_FAULT_FALLBACK; 2256 2257 /* ShmemPmdMapped in tmpfs will not split huge pmd */ 2258 if (!(vmf->flags & FAULT_FLAG_WRITE) 2259 || (vma->vm_flags & VM_SHARED)) 2260 return VM_FAULT_FALLBACK; 2261 2262 new_folio = vma_alloc_folio(gfp_flags, HPAGE_PMD_ORDER, 2263 vmf->vma, haddr, true); 2264 if (!new_folio) 2265 ret = VM_FAULT_FALLBACK; 2266 2267 vmf->ptl = pmd_lock(vma->vm_mm, vmf->pmd); 2268 if (pmd_none(*vmf->pmd)) { 2269 ret = VM_FAULT_FALLBACK; 2270 goto out; 2271 } 2272 if (!pmd_same(*vmf->pmd, orig_pmd)) { 2273 ret = 0; 2274 goto out; 2275 } 2276 2277 if (!new_folio) { 2278 count_vm_event(THP_FAULT_FALLBACK); 2279 ret = VM_FAULT_FALLBACK; 2280 goto out; 2281 } 2282 old_folio = page_folio(pmd_page(*vmf->pmd)); 2283 page_remove_rmap(&old_folio->page, vma, true); 2284 pmdp_huge_clear_flush(vma, haddr, vmf->pmd); 2285 2286 __folio_set_locked(new_folio); 2287 __folio_set_swapbacked(new_folio); 2288 __folio_mark_uptodate(new_folio); 2289 2290 flush_icache_pages(vma, &new_folio->page, HPAGE_PMD_NR); > 2291 entry = mk_huge_pmd(&new_folio->page, vma->vm_page_prot); 2292 entry = maybe_pmd_mkwrite(pmd_mkdirty(entry), vma); 2293 2294 page_add_file_rmap(&new_folio->page, vma, true); 2295 set_pmd_at(vma->vm_mm, haddr, vmf->pmd, entry); 2296 update_mmu_cache_pmd(vma, haddr, vmf->pmd); 2297 count_vm_event(THP_FILE_MAPPED); 2298 2299 folio_unlock(new_folio); 2300 spin_unlock(vmf->ptl); 2301 copy_user_large_folio(new_folio, old_folio, haddr, vma); 2302 folio_put(old_folio); 2303 ret = 0; 2304 return ret; 2305 2306 out: 2307 if (new_folio) 2308 folio_put(new_folio); 2309 spin_unlock(vmf->ptl); 2310 return ret; 2311 } 2312 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki