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 D341CD690F9 for ; Thu, 28 Nov 2024 11:13:04 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 461E26B0083; Thu, 28 Nov 2024 06:13:04 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 40F576B0085; Thu, 28 Nov 2024 06:13:04 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2FE0A6B0088; Thu, 28 Nov 2024 06:13:04 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 14ED56B0083 for ; Thu, 28 Nov 2024 06:13:04 -0500 (EST) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id AFD74121B15 for ; Thu, 28 Nov 2024 11:13:03 +0000 (UTC) X-FDA: 82835241804.29.56C51A5 Received: from out30-124.freemail.mail.aliyun.com (out30-124.freemail.mail.aliyun.com [115.124.30.124]) by imf02.hostedemail.com (Postfix) with ESMTP id CE6A68001E for ; Thu, 28 Nov 2024 11:12:47 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=pass header.d=linux.alibaba.com header.s=default header.b=nxoT6YJb; spf=pass (imf02.hostedemail.com: domain of ying.huang@linux.alibaba.com designates 115.124.30.124 as permitted sender) smtp.mailfrom=ying.huang@linux.alibaba.com; dmarc=pass (policy=none) header.from=linux.alibaba.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1732792375; a=rsa-sha256; cv=none; b=3vJdI39mmAYoAEWTIe+NAikEx9pWpUNitKm4PczsYj6At+lfKiTKKeafdlzgM1ogfGSeD3 Tl5zxOTzsGD/iYUYssofaLyzXgBf73lWjP5F5FE/BYb/F0o64ou/ygi6uoM1VUdZFeUN7l IRynlxM6FsjUAewfhoYNPHPCMbsxt/k= ARC-Authentication-Results: i=1; imf02.hostedemail.com; dkim=pass header.d=linux.alibaba.com header.s=default header.b=nxoT6YJb; spf=pass (imf02.hostedemail.com: domain of ying.huang@linux.alibaba.com designates 115.124.30.124 as permitted sender) smtp.mailfrom=ying.huang@linux.alibaba.com; dmarc=pass (policy=none) header.from=linux.alibaba.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1732792375; 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=auSYmrP4H1sEfPgq0w8ztv2jUfFB1qQmrkLw05UiALw=; b=MMpXyuXVJVi26B9NdlTnxc/4oLEh9WJ7Nscsa+5Ft+6zhNSYY9+C1/W7BUYtf1jpwu+ZzX +YIJoyRBdOZfAcKSqoD6GM3hQ3KkYBp4O3S/+33UtZordiauIkXeX+MjOnQQZ7c01/LRPt ij+4/PSJaky4PtKIKiARRNfOWvoAki0= DKIM-Signature:v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.alibaba.com; s=default; t=1732792377; h=From:To:Subject:Date:Message-ID:MIME-Version:Content-Type; bh=auSYmrP4H1sEfPgq0w8ztv2jUfFB1qQmrkLw05UiALw=; b=nxoT6YJbwwYpevK2ae7q8UDzAeCZNYQJV3yCDWGcYILxh8jwm/IlNAGPaKAlltehMusx7aHHpyoSgKaB0yJbZIc+9HfrYemh9EnPFp9zdF9LCQ1kPPq+NQDQ3ueQ1vDw2k69uW4hRPCPLlUUm7TnV95I+cuFF96SWQbTf6aaPec= Received: from DESKTOP-5N7EMDA(mailfrom:ying.huang@linux.alibaba.com fp:SMTPD_---0WKPndYG_1732792332 cluster:ay36) by smtp.aliyun-inc.com; Thu, 28 Nov 2024 19:12:54 +0800 From: "Huang, Ying" To: Gregory Price Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, nehagholkar@meta.com, abhishekd@meta.com, kernel-team@meta.com, david@redhat.com, ying.huang@intel.com, nphamcs@gmail.com, akpm@linux-foundation.org, hannes@cmpxchg.org, feng.tang@intel.com, kbusch@meta.com Subject: Re: [PATCH 1/4] migrate: Allow migrate_misplaced_folio APIs without a VMA In-Reply-To: <20241127082201.1276-2-gourry@gourry.net> (Gregory Price's message of "Wed, 27 Nov 2024 03:21:58 -0500") References: <20241127082201.1276-1-gourry@gourry.net> <20241127082201.1276-2-gourry@gourry.net> Date: Thu, 28 Nov 2024 19:12:11 +0800 Message-ID: <87plmfeho4.fsf@DESKTOP-5N7EMDA> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=ascii X-Rspamd-Queue-Id: CE6A68001E X-Stat-Signature: cb4mprn13tci1ptzmwiusa8gxmiaznka X-Rspam-User: X-Rspamd-Server: rspam09 X-HE-Tag: 1732792367-67558 X-HE-Meta: U2FsdGVkX1/5YErTE5oqgCc6DukFXtuid2lcT/IMT/0jR8u8D+LmyZR1Ymz0840bWuF4HrI6/R3D6dlARbLFxhvmpacr58ELcHQjF86zETikNyTlqu8pgmcIIGF4xW4fAfiNaR4+WlgbHCBKCywXL/KuK3Oul6jbF4iJvgDRdajHvJrQTgVixcABchN6Ml4CIIJXIHrIxG0qpDMAToDWg57QzCxrQzMgEAAVfSEasbvWYq/z+7qzLEBSKOIcDY1TqpFAR4uD+G3AFILKFWP4XiwKGDUBjH0Zbf5iaoN1cG2tf4X60ttrmaLLa4WYvR8jmNEXwaMpey0/pArD64Nn8L/eDzEgC51UVOLFIPZZu8V6dr/8SMHQKoGHMG3Am2VUjsAXGRC9XtCoim8BVQpahc935TRSoOl5pOAFNIPJ8imq4n7SxUE05KVHIfuNeQWMnb+j9+MFRUFP/BgkVBF4/sHN9YviboIQdKbz2EyysKfkrCR4fqUNWoea3XUMPy9XnX7YfdnljfM72nRS7aEP88dOA4SyGkeY/dgJ+tXPmyixqDyIcPbmv6sYkwLdlZ5qgYWu5M+Dw8eUCbefvZMUuq00nnzvteUb47F1Iiy5L/Y1Y+x192er2JsVsiSPhzwLs9Ss5uKem5T5QmrBxwcuYLPBaZ2BaVVScEPenq8U05tZyQoN84LcoXksX86hUXGaEbso79xA7xuEFFKd9FRLFVzGk+ZX2W9pisgrQputA/haqdm8L0PwRbPgMR3solGyCKJ67h3M67RfE8w0dQMUv+tkb2y9zFJf3mHCoYSAIMSv/5Ycue/d674JmL/HqYAJaOoCOJt9jf958AoOWerzQr0pJj7rlAH2UujM1wIKCgtddGelgnPt/SLOCFQhFPc97iGmAyM5YoGOUjHSl55KcR2VoVPm+jEQd3E8tqCjajJq2vtiBix8/gH7Szq1pMthzkOyXVeyjSnsADnAhTt yADR2v5P E+9+HMoKvBl4M8cDCKeilSkr7kD1LFeWNRbkNjJIb3Z8gld/ucw6FPvtMNKm0YkC77Ifzwybctm7MU9lbJx0jl98jKGMvIqi8IaeslEwlbhZY5w6BOGuwmvrl1yr/h7nIcL+nZxsE2p8uhURcv+YKAL9XrorK5gTD0vBdVDsSUxoF0I0qZaN+olDHIgxNTmf2MN6Hbg8feWZlqrqFpt9OILZMdrtjPRPVXK+5HgwiKdZqJLrmju1yw4l7Q/16Bg3leBqTF4JDT4ajTNzBurvxvxAnNMxa2QOKKVuaCzu50QqLBXQeVcclOU4OrWZK4O67ls+XduNxicRvZoB6ccJoKOGpUj7YjA59S6G1lruUpWMvSboHJ3Wznq0HkA== 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, Gregory, Gregory Price writes: > To migrate unmapped pagecache folios, migrate_misplaced_folio and > migrate_misplaced_folio_prepare must handle folios without VMAs. IMHO, it's better to use migrate_misplaced_folio() instead of migrate_misplaced_folio for readability in patch title and description. > migrate_misplaced_folio_prepare checks VMA for exec bits, so allow > a NULL VMA when it does not have a mapping. > > migrate_misplaced_folio must call migrate_pages with MIGRATE_SYNC > when in the pagecache path because it is a synchronous context. I don't find the corresponding implementation for this. And, I don't think it's a good idea to change from MIGRATE_ASYNC to MIGRATE_SYNC. This may cause too long page access latency for page placement optimization. The downside may offset the benefit. And, it appears that we can delete the "vma" parameter of migrate_misplaced_folio() because it's not used now. This is a trivial code cleanup. > Suggested-by: Johannes Weiner > Signed-off-by: Gregory Price > --- > mm/migrate.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/mm/migrate.c b/mm/migrate.c > index dfb5eba3c522..3b0bd3f21ac3 100644 > --- a/mm/migrate.c > +++ b/mm/migrate.c > @@ -2632,7 +2632,7 @@ int migrate_misplaced_folio_prepare(struct folio *folio, > * See folio_likely_mapped_shared() on possible imprecision > * when we cannot easily detect if a folio is shared. > */ > - if ((vma->vm_flags & VM_EXEC) && > + if (vma && (vma->vm_flags & VM_EXEC) && > folio_likely_mapped_shared(folio)) > return -EACCES; --- Best Regards, Huang, Ying