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 DC78EC3271E for ; Mon, 8 Jul 2024 03:34:25 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 42B796B0083; Sun, 7 Jul 2024 23:34:25 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 3DC7F6B0088; Sun, 7 Jul 2024 23:34:25 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2CA096B0089; Sun, 7 Jul 2024 23:34:25 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 0F1CE6B0083 for ; Sun, 7 Jul 2024 23:34:25 -0400 (EDT) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id B7EB216101F for ; Mon, 8 Jul 2024 03:34:24 +0000 (UTC) X-FDA: 82315167648.23.08DCD8B Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf09.hostedemail.com (Postfix) with ESMTP id 88E2814000F for ; Mon, 8 Jul 2024 03:34:21 +0000 (UTC) Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b="UD2/ly6+"; spf=none (imf09.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1720409633; 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=lDiS3S66EExdt/3IE9jCdjT0bUuwhnzTrpGok8jEgno=; b=FV4d1B30o2h/hdXhytnECbINoJN8XtDign3oZOgpzEGo8Fg0fdndS5VRQY2/VPBzHf/jF6 lXUGy0msHrYB7bMl7uuTZhQPog1w1YkzYmruzTX/LMsvw2GXgVBxsMWDfDCAb18WujrVti xgXyrrMsPFxsjGQilYm+1lHGXGE79zk= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1720409633; a=rsa-sha256; cv=none; b=kVWijnJJxaOzzCeAIlAnWObpSUpWl4z+YGEIrRZu1hyDLsjPYtKExvXolY5eFDGlxmzJyi SsWJV4gPbS4Tf71d6JeRpyDXz/pWNKIMUepZi1VWkZY68PYB8tHDIMusIPaQN4vi/9N9Yv TBZJXWZUpNap0f/9keBQTZvWJGiHb8E= ARC-Authentication-Results: i=1; imf09.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b="UD2/ly6+"; spf=none (imf09.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=lDiS3S66EExdt/3IE9jCdjT0bUuwhnzTrpGok8jEgno=; b=UD2/ly6+K1NUobueGrLIC1xdgU U0qya1U2TwMVp5yPj5zyZiU0bkXtqwgvC0fgUvIIpMfjvsQ/aA98eyQQ5rvgdgCJbV+C/But1WrPq rkdvAT+A4iRO4kgOUCPVBxS5zzgX6ZCzmKDy1sK8icrP3W9+6/yzbYU2j9W/zMCmzUigSYf6NmQNc ruQzM8GvlDFKuwkwy6a42O5LaiE3v//WbggCYJ4h7d7FbOLaMMpLWI3CzdEtC776yGBpTC/VxjFC/ LPwyi0szZBbhov2C76pdtaL6AJxXDiTX0ciFoWSHZQzL97jvZCdx9PhpESJnBlzNEXQJLrZniogx7 N06QVUyA==; Received: from willy by casper.infradead.org with local (Exim 4.97.1 #2 (Red Hat Linux)) id 1sQf8r-00000006THx-1fFh; Mon, 08 Jul 2024 03:34:17 +0000 Date: Mon, 8 Jul 2024 04:34:17 +0100 From: Matthew Wilcox To: Zhiguo Jiang Cc: Andrew Morton , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Barry Song , opensource.kernel@vivo.com, Qianfeng Rong Subject: Re: [PATCH v4] mm: shrink skip folio mapped by an exiting task Message-ID: References: <20240708031517.856-1-justinjiang@vivo.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20240708031517.856-1-justinjiang@vivo.com> X-Stat-Signature: ru617o5p9dkpdryra3nbbw1psaz8zrdq X-Rspamd-Queue-Id: 88E2814000F X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1720409661-790556 X-HE-Meta: U2FsdGVkX19RrtbNF0MGdxZrMIF2G9HYOAXh/LgQXk2O5W8Z4SdWtoqPXYNqSpMpYSwFu/JqFcbql29rnqql6SE5OpPPBYaJBV8GnxtTpbkXEFs9Pfu2hDz2TSMEVDqUOL5yHIV/KLWQTLNACZJx42GJsCWOz7KL087IUaj62vNjg28cbT9W65O+wB2x/7xuy+JPBZsyo9JhyxYfzhR6MF8fkGZbcZR1kxXheuwwm+g7Lv+qcWRv9eq6LFgovAqE59sBb063sLhf6Pc9pOGhXId49Gh/Nfganw9HmA1GiPNS+bid2FgLkC0uITwUiJWyUMNL7jDaPWa0PTc5S3B8UaHpVEXKYX2IJ2h59GeG2ieVX8PN617ThrNKcGGQxruVcGrLb/GgQttZw2oR+moN4oJ4mKEnudMXpVpHFaR3wkwHMJ9EBrPCPXJBDfwaNLzMiz1LxC9wAxXxNwm7i7+UHnEQDkYLWgsnj5m58iIRZd354DwZnbnx85ydYeeAKHo6w7OMng2l7+ExFe4oZTgI4P/vjCdUxIU+bTjkfSO1rB5ALoUwuiJwGE7tbkd6pBsi9dAoM8VyEdSOpr+E5VylSKA3nKudQhu1a0L/e2YKorX7wHc94sKjV8O39ZWnOPs57mYb0aBBPH9qUPBXnJjKY06Xxwo0GhxV5Yi3MMz/g9Xv2zJiDGmy8dwM9xcd+OOOpbHw4bOSXM9129AzIQZFtz7MrWrq8Zc9ZAbCap+j9Y/ZYEe538Xbl5paiHGKi1QAO/68kgFdrv8hAg3PN3D2Ofq0CJ88EidnrD+r2ZCv3BfDUaIlKyMV1j+CMhuT1ocGOCMlAlBxWivSMiXWG4m1Avqcc/pUUcjE8m85JkNzQRemVUM/6DEFu2COlUFTW9MPeUKuAvWolcUOQPzMFcHJjDgX5isfe7MpHvcPhC+4GBZMab5qa6qI94MyYAECt+pztLXcZuBpLjHDBxaSn+t 1ga7MkYk OqBBSoC9fUqd9KzJ7+zMCIu14a/aR2xAYe5ke5uedexWjf17r2VyAsQSMFSlJgptLQR7LxS+htgh4K3/rQOr6oHCuloHw1wxwgYG47rcLNA037mLAjhz7e/ohX4p9/2cys941HVrUy3pWTkTZXVAkDhVyQ/SCVqTis+y7o4MecVqoc2xUhw+LCwPCtJG7cbG/yf1cutqADNL5lSo= 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 08, 2024 at 11:15:17AM +0800, 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. How is the file folio similar? File folios are never written to swap, and they'll be written back from the page cache whenever the filesystem decides it's a good time to do so. > mm/rmap.c | 10 ++++++++++ > 1 file changed, 10 insertions(+) > mode change 100644 => 100755 mm/rmap.c Uh, what? Why would you make this file executable? > 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 = 0; > unsigned long start = address, ptes = 0; > > + /* Skip the unshared folios mapped only by the single > + * exiting process. > + */ Comments start with a /* on a line by itself. > + if ((!atomic_read(&vma->vm_mm->mm_users) || > + test_bit(MMF_OOM_SKIP, &vma->vm_mm->flags)) && > + !test_bit(VM_SHARED, &vma->vm_flags)) { > + pra->referenced = -1; > + return false; This indentation is unreadable. Follow the style used in the rest of the file.