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 80F37C433EF for ; Fri, 1 Apr 2022 06:41:05 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C9DE46B0071; Fri, 1 Apr 2022 02:40:54 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id C4DEE6B0072; Fri, 1 Apr 2022 02:40:54 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B15486B0073; Fri, 1 Apr 2022 02:40:54 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (relay.hostedemail.com [64.99.140.27]) by kanga.kvack.org (Postfix) with ESMTP id A0FDD6B0071 for ; Fri, 1 Apr 2022 02:40:54 -0400 (EDT) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 965BC61328 for ; Fri, 1 Apr 2022 06:40:43 +0000 (UTC) X-FDA: 79307361966.10.0B7DFEF Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by imf29.hostedemail.com (Postfix) with ESMTP id 9C169120008 for ; Fri, 1 Apr 2022 06:40:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1648795242; x=1680331242; h=from:to:cc:subject:references:date:in-reply-to: message-id:mime-version; bh=F2u5reVKngNG7rsHH+KeIseuLTsishF5Wx5rk2BYJhQ=; b=XKOMdC2ijWry6oAMQ5lUeibxZJDgMRmaaYvQ/yYOD9bkbldyv1pjnI5j 7kH9frMxqbcgJO3UBzz0m7OX32YAgmbbp42HlzATX5Lg++YyTCQqnD+VY JpQuaeuG4C4ReuIUmZSG66GGOm3mkwC/H5/Ax90CZ/AaXrzafSjH5nVpj pXxB9eQi2qAttLbL0N2/6e7m4LIRvuIqdhlvdyb/Ghjg+CIhH8n9beBi1 Eb391d7zKIvQYEwCzBncyS1TC5MPmGgufH9u8WAdffftFrxRex1beWl+d ln3vKoiDLssZGN6D0+Dq7Oe2G5EImziPi5Uh/8SjYoQx8KuNpg/lTx07r w==; X-IronPort-AV: E=McAfee;i="6200,9189,10303"; a="346495200" X-IronPort-AV: E=Sophos;i="5.90,226,1643702400"; d="scan'208";a="346495200" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 31 Mar 2022 23:40:40 -0700 X-IronPort-AV: E=Sophos;i="5.90,226,1643702400"; d="scan'208";a="522659774" Received: from yhuang6-desk2.sh.intel.com (HELO yhuang6-desk2.ccr.corp.intel.com) ([10.239.13.94]) by orsmga006-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 31 Mar 2022 23:40:38 -0700 From: "Huang, Ying" To: Miaohe Lin , Joonsoo Kim Cc: , , , Konstantin Khlebnikov , Wu Fengguang Subject: Re: [PATCH 5/8] mm/vmscan: use helper folio_is_file_lru() References: <20220329132619.18689-1-linmiaohe@huawei.com> <20220329132619.18689-6-linmiaohe@huawei.com> <87y20pa3r6.fsf@yhuang6-desk2.ccr.corp.intel.com> <191fa86c-2548-d136-19f5-3e0a744b6da9@huawei.com> Date: Fri, 01 Apr 2022 14:40:36 +0800 In-Reply-To: <191fa86c-2548-d136-19f5-3e0a744b6da9@huawei.com> (Miaohe Lin's message of "Fri, 1 Apr 2022 14:14:49 +0800") Message-ID: <87tubd9uhn.fsf@yhuang6-desk2.ccr.corp.intel.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=ascii Authentication-Results: imf29.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=XKOMdC2i; spf=none (imf29.hostedemail.com: domain of ying.huang@intel.com has no SPF policy when checking 192.55.52.43) smtp.mailfrom=ying.huang@intel.com; dmarc=pass (policy=none) header.from=intel.com X-Rspam-User: X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 9C169120008 X-Stat-Signature: 4hpcfctfkegi7dpd17n4xpuwi5tbcb6i X-HE-Tag: 1648795242-874060 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: Miaohe Lin writes: > On 2022/4/1 11:20, Huang, Ying wrote: >> Miaohe Lin writes: >> >>> Use helper folio_is_file_lru() to check whether folio is file lru. Minor >>> readability improvement. >>> >>> Signed-off-by: Miaohe Lin >>> --- >>> mm/vmscan.c | 4 ++-- >>> 1 file changed, 2 insertions(+), 2 deletions(-) >>> >>> diff --git a/mm/vmscan.c b/mm/vmscan.c >>> index ebd8ffb63673..31e95d627448 100644 >>> --- a/mm/vmscan.c >>> +++ b/mm/vmscan.c >>> @@ -1411,14 +1411,14 @@ static enum page_references folio_check_references(struct folio *folio, >>> /* >>> * Activate file-backed executable folios after first usage. >>> */ >>> - if ((vm_flags & VM_EXEC) && !folio_test_swapbacked(folio)) >>> + if ((vm_flags & VM_EXEC) && folio_is_file_lru(folio)) >> >> I think that this should be converted to >> >> if ((vm_flags & VM_EXEC))) >> >> We should activate swap-backed executable folios (e.g. tmpfs) after >> first usage too. >> > > Dig into the git history, we can found that commit c909e99364c8 ("vmscan: activate executable pages after first usage") > activate swap-backed executable folios after first usage too. But later swap-backed executable folios is not activated > via commit b518154e59aa ("mm/vmscan: protect the workingset on anonymous LRU") to pretect the workingset from anonymous > LRU. So above change might not be wanted. Or am I miss something? I think we should restore the original behavior to protect swap backed executable folios too. Hi, Kim, What do you think about this? Best Regards, Huang, Ying > Many thanks. > >> Best Regards, >> Huang, Ying >> >>> return PAGEREF_ACTIVATE; >>> >>> return PAGEREF_KEEP; >>> } >>> >>> /* Reclaim if clean, defer dirty folios to writeback */ >>> - if (referenced_folio && !folio_test_swapbacked(folio)) >>> + if (referenced_folio && folio_is_file_lru(folio)) >>> return PAGEREF_RECLAIM_CLEAN; >>> >>> return PAGEREF_RECLAIM; >> . >>