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 717C0C27C4F for ; Sun, 30 Jun 2024 09:35:33 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 640356B0082; Sun, 30 Jun 2024 05:35:32 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 5EFC46B0083; Sun, 30 Jun 2024 05:35:32 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4900A6B0085; Sun, 30 Jun 2024 05:35:32 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 296346B0082 for ; Sun, 30 Jun 2024 05:35:32 -0400 (EDT) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 97CAF1215BA for ; Sun, 30 Jun 2024 09:35:31 +0000 (UTC) X-FDA: 82287047262.23.D2EFD82 Received: from mail-oi1-f181.google.com (mail-oi1-f181.google.com [209.85.167.181]) by imf03.hostedemail.com (Postfix) with ESMTP id AF7C020014 for ; Sun, 30 Jun 2024 09:35:28 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=none; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=kernel.org (policy=none); spf=pass (imf03.hostedemail.com: domain of 21cnbao@gmail.com designates 209.85.167.181 as permitted sender) smtp.mailfrom=21cnbao@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1719740113; a=rsa-sha256; cv=none; b=ztzzVwmkqwgcy+eggSJlF6FJUWZK5bsCXIQCYwrUe/FkO4aYVFznd/+JnrlAixc0joLXCU CRA1J8Fkx1fJM3tCZpnAIR4LOhJDGFFR0H/k/nZgDmdkNF4baBapc0UClXc6sJs3T8UDYg RsojgSf61vseN8+FNqYkxhGcpR6TqpU= ARC-Authentication-Results: i=1; imf03.hostedemail.com; dkim=none; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=kernel.org (policy=none); spf=pass (imf03.hostedemail.com: domain of 21cnbao@gmail.com designates 209.85.167.181 as permitted sender) smtp.mailfrom=21cnbao@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1719740113; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=fa0craKq8Fvm8bkWAnyHT4L9wh19HhtSlODuh8HZXoA=; b=qJyDWJA5PWhmvGVv69NaMHOS5EqCyEyyycWoahN6attw92ZitcsaVtIM4NZkBIGNDNqmCV KPxvSJRjfWIYF7SC4hOs7+kqf7+I1CXf/S0kya8r+QwGBOG0b5yDAa9uLfYB97XA5Lu/tX tjD/8T4W9PT+Iqrg4r1FZscoFi0EbGo= Received: by mail-oi1-f181.google.com with SMTP id 5614622812f47-3d55c0fadd2so1350688b6e.3 for ; Sun, 30 Jun 2024 02:35:28 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1719740128; x=1720344928; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=fa0craKq8Fvm8bkWAnyHT4L9wh19HhtSlODuh8HZXoA=; b=gYstOI1NLkBJ9TDSX+BrGFYe9GPjTbdRKKRJTOj4BRNrUMRptOdgXSup1zbMWNENL9 TxWHYFCuhhKju+NJZWJ8yhFSr+8PECelW/OUKFzX4/ZKqbKSTaO797ZWULVfToOW2ww5 ZTFsEV+h2MA6VVmxBRkkDyOc/kCfUnDLeMqLF6ghXcZbcpp0U7/VI6I6eL9ASoMR3i/k 4w5DdtRBrcD9qy+7ySWFgEQzSpTUx6qAQtJlPPJZy1keIxyDMwwFgXmLIxvxr4N0MR1a nmrWSoPv0I0hVIJndM1qFjl3zHEyL6KPYdnO3huTPc9gfANaAzdC6HCisvZ6W+zCJHG2 ltUQ== X-Forwarded-Encrypted: i=1; AJvYcCXkLe0lsodxT94mfnhMx0mNeWzSpv6J+Lvd436TwAT45t4bXhZpqL89C1Cad4YbLBRJhYDS+Hc0WFDrk7L769ey2EY= X-Gm-Message-State: AOJu0Yxh9L0UN6obNXQhQI/h34UyLbhMy/dZmByStZjug2slFkvJGSpa yAZ3Gp5kjhflnqjuI1p1Zb0nLMNqFZJqEDkQ9A0VPUFY6vyIgVZA2iLU9zJzSO3SJ1XXVnkwjfz MhjV6/ohYjovPohpSgtKD/1v6ZWQ= X-Google-Smtp-Source: AGHT+IF18VVEZk/QEdbv+aSO5JzRkAfarKSu+RGRYxbbGUZermxNFAEqCR6nhlbym9tOWEXD47u3l4Bcl+dkPN8oAd8= X-Received: by 2002:a05:6808:1a24:b0:3d6:3450:7fed with SMTP id 5614622812f47-3d6b4727127mr3626319b6e.39.1719740127555; Sun, 30 Jun 2024 02:35:27 -0700 (PDT) MIME-Version: 1.0 References: <20240221114904.1849-1-justinjiang@vivo.com> In-Reply-To: <20240221114904.1849-1-justinjiang@vivo.com> From: Barry Song Date: Sun, 30 Jun 2024 21:35:15 +1200 Message-ID: Subject: Re: [PATCH] mm: shrink skip folio mapped by an exiting task To: Zhiguo Jiang Cc: Andrew Morton , linux-mm@kvack.org, linux-kernel@vger.kernel.org, opensource.kernel@vivo.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: AF7C020014 X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: xwgayppyf4oc9w86b6wniimo5wzqgug8 X-HE-Tag: 1719740128-577199 X-HE-Meta: U2FsdGVkX1/Bcs0DY04KQSrzYayxgkBXsv63dTmhjTPtkilcxpC1nzuuY3WCcZnoWm96UgEgjKmklHJ917OpQ+5EmeKF3qXqHFZV5GEB+jEI2TNEsNGZTzKJP2Ut6KQuqxIrM+hHe8LsqF1PDiiZi7RhRkhaOSWaKtZzWDaRUbu3jF+RtpVeDpPiqU6itYbUuMxSpfBA5zmqGSwS5kJhc2KsSRzYmUF2T9ZC2P2DPlMxYSV0GedyWZImgK6sz2Oj3BVk7UGYhh5uVq5dvZcIKijzaLrgM3FN6f/AdzjbS59MYCRZ/l21QiVvSXDSvhb1KurJsconplUVYVe4Sy5Mw8mRR2D4xW2c6z89I4iHe1R1hCA3WIllSOmAESqBMDrmwfLeOqsTwXtDNnSprJA2y6GMHYDRobJVBxUZUXV0Cza8OZmhz3v3U1RtJl2Kq8k1Y6pYXbxiWlrB7EsN7CRTfo4FqN90TMeZsLhwsTPucE6N1H0Dxr+d3PSxVpqqqPUZ1FQtucI735mR7xCVOWHOmkcwMSGJRmygdmTApg//8FbEP4SvphloTxaDNZTyk7ZQf3efE67FqtkmtvMxgecTdNAIxa0RhAhYxHPug6bn/YTJAAYEH8fgTl/nV0X020mqRrtkYysj/hN28u/OeP+hZTiN5ptMIjikLyH7UqNgMWv6Li2lNcb3+8l3x2p/mQnRNDNmpnr3/it0UKjol1kHNoOUzLjnUFZDRa9dpeHwbKDoZzsxa7i2c1HN2HqxgkcY/ilu4A41hX5yf3Iax3/3xzza9sotFWCsHT/VOntdhSvW4sYvmTFCNeAnPhAqdh+niDtoE2shoAcCRcI11M0NaxhIW9akJ+v3mmUixetIMJ3Y5b+T0uJ7ZUhmCl6ejWYtOEHF0kT4GJsBGeIqXCyjvC2wQl2LK1u9FEYtLBg6Xpwf0IZWeBB8dq3FnyApG2kVekf0BtmCCnNUPhi1Qe8 EPnqvOog z7kzPHmiuj9fgJ5x8pUFmNs44MVKk2FpEXBTDD6JmuNtWxcbdqYIWSN78XsmPquyrkhmisuhLwUOQXqLTUtMNxjvn14Qz3jgIKGmhxfWzTAFas/AuoVzLWa2d8AeCb/y2F0YbOVT9K8diYmtK+ey2G/HxFuhzuDnnOhxCXPCyPaKI2dUwjlbjEjgJJ7yrgbGZB8WClYdrqlkz7xRjJhroTu5sSZcyf/eTE3fgbvDHv1HgszH3tsJJUveaRp5A+X1LeiecwQFz/3B04zhosTSTXE3pLptZCZKcMfn6HQJZrIWzdb2n8kzjPL46VG+InVZwTvvbT4AfYNFpnEc= 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: On Thu, Feb 22, 2024 at 12:49=E2=80=AFAM Zhiguo Jiang wrote: > This is clearly version 3, as you previously sent version 2, correct? > If an anon folio reclaimed by shrink_inactive_list is mapped by an > exiting task, this anon folio will be firstly swaped-out into > swapspace in shrink flow and then this swap folio is freed in task > exit flow. But if this folio mapped by an exiting task can skip > shrink and be freed directly in task exiting flow, which will save > swap-out time and alleviate the load of the tasks exiting process. > The file folio is also similar. > Could you please describe the specific impact on users, including user experience and power consumption? How serious is this problem? > And when system is low memory, it more likely to occur, because more > backend applidatuions will be killed. Applications? > > This patch can alleviate the load of the tasks exiting process. I'm not completely convinced this patch is correct, but it appears to be heading in the right direction. Therefore, I expect to see new versions rather than it being dead. > > Signed-off-by: Zhiguo Jiang > --- > mm/rmap.c | 7 +++++++ > 1 file changed, 7 insertions(+) > mode change 100644 =3D> 100755 mm/rmap.c You changed the file mode to 755, which is incorrect. > > diff --git a/mm/rmap.c b/mm/rmap.c > index 3746a5531018..146e5f4ec069 > --- a/mm/rmap.c > +++ b/mm/rmap.c > @@ -840,6 +840,13 @@ static bool folio_referenced_one(struct folio *folio= , > int referenced =3D 0; > unsigned long start =3D address, ptes =3D 0; > > + /* Skip this folio if it's mapped by an exiting task */ > + if (unlikely(!atomic_read(&vma->vm_mm->mm_users)) || > + unlikely(test_bit(MMF_OOM_SKIP, &vma->vm_mm->flags))) { > + pra->referenced =3D -1; Why use -1? Is this meant to simulate lock contention to keep the folio wit= hout activating it? /* rmap lock contention: rotate */ if (referenced_ptes =3D=3D -1) return FOLIOREF_KEEP; Please do have some comments to explain why. I'm not convinced this change is appropriate for shared folios. It seems more suitable for exclusive folios used solely by the exiting process. > + return false; > + } > + > while (page_vma_mapped_walk(&pvmw)) { > address =3D pvmw.address; > > -- > 2.39.0 > Thanks Barry