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 68ECAC3271E for ; Mon, 8 Jul 2024 03:34:56 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C6A086B0083; Sun, 7 Jul 2024 23:34:55 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id C19576B0088; Sun, 7 Jul 2024 23:34:55 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id AE19E6B0089; Sun, 7 Jul 2024 23:34:55 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 907736B0083 for ; Sun, 7 Jul 2024 23:34:55 -0400 (EDT) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 18D9F1C2587 for ; Mon, 8 Jul 2024 03:34:55 +0000 (UTC) X-FDA: 82315168950.04.2A846AF Received: from mail-vk1-f173.google.com (mail-vk1-f173.google.com [209.85.221.173]) by imf18.hostedemail.com (Postfix) with ESMTP id 610401C0011 for ; Mon, 8 Jul 2024 03:34:53 +0000 (UTC) Authentication-Results: imf18.hostedemail.com; dkim=none; spf=pass (imf18.hostedemail.com: domain of 21cnbao@gmail.com designates 209.85.221.173 as permitted sender) smtp.mailfrom=21cnbao@gmail.com; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=kernel.org (policy=none) ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1720409678; 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=ZyP6zWGAlhMRhhDdz/9ZBr/3OTIfug8ZLmO58gCs+bM=; b=LbB7mf0RX0vTRkyHO6dESLrZPZvsEAIhOlaEKnEPc7k9Pkw0XWywXCUiu1Hu7ur0IhNqPO fdcFMWgv2+rs0bUb0IuwtoseNvSIe7Yj4hrJI4Ft8Irv/qhs7Jb7sB4jefdIIpSbiYrTMP hoj0MEaZAsKq69W+B/rp2ieMTT+YMnc= ARC-Authentication-Results: i=1; imf18.hostedemail.com; dkim=none; spf=pass (imf18.hostedemail.com: domain of 21cnbao@gmail.com designates 209.85.221.173 as permitted sender) smtp.mailfrom=21cnbao@gmail.com; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=kernel.org (policy=none) ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1720409678; a=rsa-sha256; cv=none; b=pCjEobKiVpAEOQHIsfKemR266gXtZfwQ+1g8WVCiK8lOYP3Qyw1BS+Bt8ls7PtHnD42odT Z1rAoADvSyLcDklzcAVdkApXM1zv54p7IM65PWtzxBYbg+6tKWxJHmtf8TKsSUwTT9cOjR HGkAwqiYM4fjNWV42FOU1S3VD2l0mnc= Received: by mail-vk1-f173.google.com with SMTP id 71dfb90a1353d-4f30734057bso583807e0c.1 for ; Sun, 07 Jul 2024 20:34:53 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1720409692; x=1721014492; 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=ZyP6zWGAlhMRhhDdz/9ZBr/3OTIfug8ZLmO58gCs+bM=; b=W9U2cSeDGokLAtkQwOux8k9vxDLtGWjUdX4q3IraN/GjzKo4X4KsRHrU7KsJu97qDF O5Mt9hVoEELovqK5MYcdNLkVmCYwahYedPuVTR+725cdWg7uAYBpfvn7zlVFIqP9tug4 X8XAOVvl/+LQWMwO1d/kdI7LKsZcFfs7lfCKOF5oZk8Oz797DqFQfLCKk/PKJCLbWRr6 Z98PtFpXl0xu4W/8ivsuJ58cf/gJda9cfoB0Cy6Ug8OZmKLhAvpDj1BNDv7ong0DZjvT 1/W9beG067PP5SJefyUy6W9pL8pAqaV0HaHbH/nVWN5ngt+kzFwryHhDDydkdg2t5uUw GgZg== X-Forwarded-Encrypted: i=1; AJvYcCXjvh59xaK2icdhVv2JjdLrU5T+XeendR5ejMZKbURjpiacUmXRFQQXIG68olhUf5RJnqtwbnF+mfFGcanb7lnwVLA= X-Gm-Message-State: AOJu0YwsZNB3K5B2EPjdaBjDe4TqhjaeVBfnXEHVPQzVN/Rl1vjXBvHl MSYlC/kCz/YQfp0tYJQwI9OQkPtytQow8M9pyxQiqJTVBZ5HXe2EX4ZEHwBcFpBFM9mBeddRD70 c2i1yPqhoSrh/ErcQQRCLyc+W/mU= X-Google-Smtp-Source: AGHT+IFVCgz71rfe8Ch/RP4ej++XQHhEFyHot5v92twgQ2zw3Q42TOY5Hi+F+TgpMh59WSyKAJxb8iyELXEx0uHvubM= X-Received: by 2002:a05:6122:6607:b0:4f2:ea44:fd36 with SMTP id 71dfb90a1353d-4f2f3ae4a3emr11137205e0c.0.1720409691986; Sun, 07 Jul 2024 20:34:51 -0700 (PDT) MIME-Version: 1.0 References: <20240708031517.856-1-justinjiang@vivo.com> In-Reply-To: <20240708031517.856-1-justinjiang@vivo.com> From: Barry Song Date: Mon, 8 Jul 2024 15:34:40 +1200 Message-ID: Subject: Re: [PATCH v4] 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, Qianfeng Rong Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam11 X-Rspamd-Queue-Id: 610401C0011 X-Stat-Signature: atqzjo3pxodjzu9imudp33y9rofoeahy X-Rspam-User: X-HE-Tag: 1720409693-366890 X-HE-Meta: U2FsdGVkX1+LOhnZVFXFxPQArR15ANKyKQb47+jvtUjq5aG9nOv/KPi1MUL36FINNb5KVaPGEYhUjlNjyrJqQBGg2R/2r+IiNdGix1c7GTc96ZM8apxJqslv1whZrd0Y+ltgSbDNNX/9XYxZKMgzUPmotJNQ9UXrO+d6kCSjAXJCydj69YZAUswMhFXCVq549WVQeFl+ofn5FDgQMBVqWJ65fYT5Tcu6BWHvhV3ZNRqkyxr2iuUlJBx44qi6B68k/Zy1hAXRj8CJlieM6t91gmoFfEMivg9X5exlj0bjyi0IsCgHKxPaUCrZUumjdRBTz0C3wAz/1qQIafCru3q6pWHIUiDsHHvKmtyWukhKeKAyHiLEgsoznnqawt+0e9f23pCuU06VjUkaXgWHlk/8zUUdUNfeBJQYUJT9xmZWGZ8hqZ3hmZ0HIC3EXO7Kc1iV8cVhY9YjYZy/lOt93FHHXWUcAs4OJOATjeYtGQGSoa+ggCL+R3ws4Ch/EUnthPKdFVfBZc2nd3XJjp7WP3z3M42+uDLQeGb/7SPWhcf2XG/x8r4e7XoxnmpuKcprdl1tMncgItn8eptU7Lg1U6QkZ/2XO+fs3Hwpo2TvVQt6DpbnW62vKAj/1/YPVjT++Uh2JIXXg2+CQ6kagl/fNdNR+nkamTU9xdY/mLiJW9+TumokX/s7z2iUN4KBcWU6AOojBOOFAiZBH8Scv/kUHa1eokjRRFhl1SSFjqcrNMq8VVgkMXlpwlik8/yLjCrtIORdUm0lCIpjZKpwsraFzOVAzl/95YqJwJtmZjak+3oByRykFqvuh7XE2mWX6t68O+VgtMy3A0rbjuVsRzoSzN50GLRR7ykgE4rVxUgYZujPz5kBKhytB7iMDnqB/chh/s0pptJGz6Q4m47Xmkmuazyu7Z0M5UHJ9Ar/ysCn2B8+IlKXIz0pPxhUxVunlieAAyYZHiQxNjjrPqYcDPsTajO h1nW09U7 sOlm5vxHdvPTq0IG987A8QD0oHOYJIpInREuKV2coUDdENrhoU77J2nBeZAkQePnEHOOh9+ogqIesqOUyhB7caoBP1bvofncxfXtI3qGguC0mMY07K6PqswndXg45HI2qJdJ6PlVnAEnhEVlHpwEcGkKfwFfKSkyZxiP9iMiaj5FaAGsuwhgv8Rr/aZjTPqCil4hygaEfzCUQMYJwPjUpN3yTlhapASQUGzIJTGErezluXla0rvr3Sf92GzVjkK6lrTjHFyE5/i1oXi19SCPz7jSW675VjLahjzk8HaL0/+4BlNdzLZCoMLjY8moxvn0xdaSgCKRlO1u0SpyWDCurfKRwj8kZEfqsjaEq5iwJwmJRhIE= 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 Mon, Jul 8, 2024 at 3:15=E2=80=AFPM Zhiguo Jiang = wrote: > > 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. > > And when system is low memory, it more likely to occur, because more > backend applidatuions will be killed. > > This patch can alleviate the cpu load of the tasks exiting process. > > Signed-off-by: Qianfeng Rong > --- > > Change log: > v3->v4: > 1.Modify that the unshared folios mapped only in exiting task are skip. > v2->v3: > Nothing. > v1->v2: > 1.The VM_EXITING added in v1 patch is removed, because it will fail > to compile in 32-bit system. > > Signed-off-by: Zhiguo Jiang > --- > mm/rmap.c | 10 ++++++++++ > 1 file changed, 10 insertions(+) > mode change 100644 =3D> 100755 mm/rmap.c > > diff --git a/mm/rmap.c b/mm/rmap.c > index 26806b49a86f..16b7ed04bcbe > --- a/mm/rmap.c > +++ b/mm/rmap.c > @@ -843,6 +843,16 @@ static bool folio_referenced_one(struct folio *folio= , > int referenced =3D 0; > unsigned long start =3D address, ptes =3D 0; > > + /* Skip the unshared folios mapped only by the single > + * exiting process. > + */ > + if ((!atomic_read(&vma->vm_mm->mm_users) || > + test_bit(MMF_OOM_SKIP, &vma->vm_mm->flags)) && > + !test_bit(VM_SHARED, &vma->vm_flags)) { I don't think this is correct. folio_likely_mapped_shared() is almost "corr= ect" but not always. > + pra->referenced =3D -1; Please explain why you set pra->referenced =3D -1. Please address all comments before you send a new version. > + return false; > + } > + > while (page_vma_mapped_walk(&pvmw)) { > address =3D pvmw.address; > > -- > 2.39.0 > Thanks Barry