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 B62EBC4345F for ; Mon, 15 Apr 2024 07:13:08 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 46FBC6B0088; Mon, 15 Apr 2024 03:13:08 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 3F8706B0089; Mon, 15 Apr 2024 03:13:08 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 299826B008A; Mon, 15 Apr 2024 03:13:08 -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 06D6C6B0088 for ; Mon, 15 Apr 2024 03:13:08 -0400 (EDT) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 859211A047E for ; Mon, 15 Apr 2024 07:13:07 +0000 (UTC) X-FDA: 82010899614.02.1A05041 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.9]) by imf29.hostedemail.com (Postfix) with ESMTP id 5AAC8120003 for ; Mon, 15 Apr 2024 07:13:04 +0000 (UTC) Authentication-Results: imf29.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=fpFC+Udj; dmarc=pass (policy=none) header.from=intel.com; spf=pass (imf29.hostedemail.com: domain of ying.huang@intel.com designates 192.198.163.9 as permitted sender) smtp.mailfrom=ying.huang@intel.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1713165185; 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=OFo17NiRUWFMRgGiXiP+G71BFdkD+SLllIBAHuGQhrg=; b=SNmjgMNzkW2V6kC8Ji5WKtYZWMnuToR5w9pCOZ7XiUJ7pqPKHsAKVTHL815lN+Yllq1EUu ud9KIPQLPIhRhIIxlinCeeOYiF+6Ki6zsVN9a8fsNDwiPTgg8jY/kb94JCJf12G6DZ6gQc JhK0HDYdWqKC8TmGFqSsHFgxdvHuYcA= ARC-Authentication-Results: i=1; imf29.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=fpFC+Udj; dmarc=pass (policy=none) header.from=intel.com; spf=pass (imf29.hostedemail.com: domain of ying.huang@intel.com designates 192.198.163.9 as permitted sender) smtp.mailfrom=ying.huang@intel.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1713165185; a=rsa-sha256; cv=none; b=3a8c4yp1U95XQw0F81oz2BeKsBlRk73PitOgmSayaVQQYZqiJZyQA9h7ckKOzysUmFiEyY inwGMwNnwG/Ic0Atv7IvcsvlbheTO7h6R1m7dFMgZGBiEP2/kZyBeXSJkIunqynwno9Nt4 m99s7HlZpwDeBm8zlBMrP1n8wqVJ7Rg= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1713165184; x=1744701184; h=from:to:cc:subject:in-reply-to:references:date: message-id:mime-version; bh=5T7wocrkGUkYtFWVtAOkskz3wHL2g03x530sd6SWxxU=; b=fpFC+Udj/B7Q4y8pOLYWGJyXWXJQYh+e5XS+DhSyIV4IxC6cgCT4P8gs n1L7hFPIKoHXPeIBJyYJkRVb/yezEtDl38+IBcOR6uXjt38XZYXAmIN3o Har6ez2VrJD9rs9/Y9rbOnrchWvBZkj/+lk/AV9/iT8swMTiJzDMacW/k VWOXHFQeJLhKtwa9hKiT/KmOCRomL//1EyYmccVEDIrwAokPTjDXRxI2Q urMdjm5jbMJElfwqLBahLfxuN9661hTnZJ71Q8LAXAAAXu5K+2Nyaytc8 L0/DgWp0UKOGwCONkonjzbEYu0JbqM3rJlONMVeiFBWxhQeJFrNv2qspR g==; X-CSE-ConnectionGUID: PzZyDagnQoeJgA9na9a74g== X-CSE-MsgGUID: rbmmrnTUSTihs0qLXgV9Aw== X-IronPort-AV: E=McAfee;i="6600,9927,11044"; a="19249366" X-IronPort-AV: E=Sophos;i="6.07,202,1708416000"; d="scan'208";a="19249366" Received: from orviesa009.jf.intel.com ([10.64.159.149]) by fmvoesa103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Apr 2024 00:13:02 -0700 X-CSE-ConnectionGUID: QpR5hby4QoaRypCiFjF4PA== X-CSE-MsgGUID: equk+3cmTVKn7MThfaDkKA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.07,202,1708416000"; d="scan'208";a="21818366" Received: from unknown (HELO yhuang6-desk2.ccr.corp.intel.com) ([10.238.208.55]) by orviesa009-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Apr 2024 00:12:58 -0700 From: "Huang, Ying" To: Barry Song <21cnbao@gmail.com> Cc: akpm@linux-foundation.org, linux-mm@kvack.org, baolin.wang@linux.alibaba.com, chrisl@kernel.org, david@redhat.com, hanchuanhua@oppo.com, hannes@cmpxchg.org, hughd@google.com, kasong@tencent.com, ryan.roberts@arm.com, surenb@google.com, v-songbaohua@oppo.com, willy@infradead.org, xiang@kernel.org, yosryahmed@google.com, yuzhao@google.com, ziy@nvidia.com, linux-kernel@vger.kernel.org Subject: Re: [PATCH v2 2/5] mm: swap: make should_try_to_free_swap() support large-folio In-Reply-To: <20240409082631.187483-3-21cnbao@gmail.com> (Barry Song's message of "Tue, 9 Apr 2024 20:26:28 +1200") References: <20240409082631.187483-1-21cnbao@gmail.com> <20240409082631.187483-3-21cnbao@gmail.com> Date: Mon, 15 Apr 2024 15:11:03 +0800 Message-ID: <87o7ab2j94.fsf@yhuang6-desk2.ccr.corp.intel.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=ascii X-Rspam-User: X-Stat-Signature: iocsieyuathhwrdgw5h7dr8w3iskcahg X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 5AAC8120003 X-HE-Tag: 1713165184-605092 X-HE-Meta: U2FsdGVkX1+jP6lUfZ95bB5ef/t0boZVRRM2EwffBRQryzswwNFfHm+dPagICbjBBlwljF8nCqTOE/piKaxFNWJhA30l80bKQ88iragw4FlciY2y/7qIyDpSglZYUvTjNdJy1oAqQHtJcWzG0F9k84k2L4Q5zBdL3MuoQ0EXRcIhgQ86kU1w5pEihvT067Ec7HUxUX7a/JDElywDWVBtRja7SwZMrwR+fWoNIQzkH6Lgb0C9SMEewfzJGkn4uhXyNZFr6Jhg0mItgUOootRLDCn/e3fyWVwuEW8K80R7cNRcsX1Oo/aukgGyVdCDtc+Fg+LItIzUYMgQpgYC8/PVNIlbnterH7RniIHfd64zQu5RkVTa3MPbdq+XgD3P1fHuA4OjeYf2ExcMftBDcu+Pf07Xa/RHTmrvHmf3fZSrhRkgudXhA/n3jlPUuweDbB7AsThOZA6uGH2qHJOJ9QfU4d709/mrP0fOwGRpV130TsQv1tzhueVlp7KkNCtI6gVUNeRTUmBfozHUl0ZTnFT8BR8nx0uIIfKHhJVp5pUXZDRTCCpEaCpOLu3NLjULeXFTK2TzO1wSnV6gT4IexO36ZDW8P44ODLc+PK37E79W+7HfU8th+qv+GL4hrpRza/8GCFtVtaTBqlwPHgZ42jGgyZjaEBcGTciAapw4Opme+2dkfh/UDrMbzuOE6PjIG1T2iPQ2nCYPO1GcHWiszWPICpRz7ATKzcSaiE9H2n5qTpGitcvd2SE1e+kdQlnig9cOgtojJHJ3yPRBFdQ3TB9a+FiKOwAhsO5qpm4s3KUFKiUH2HRjs7NyH62GAhzzXK59cHhp5VRkklT4pAmf4FYf4TvRczrcBREWuwBmMWsHrYFRaieTbpNj2j3w3Re2CRALpEHyo8lDb9Hp9SpW9A0dbSYC2u0QX+mJ9H+z5Rruw0i+RbeRKMXo0oSymM2JZ5Da9DlomG6ZXpjA1dp3Qye xj9TA2nN J/7DLHQ2DmyoPLCQ5i0aqLReu7chLEGA04fWiBodobeyF9rQT71p3INVbt2gcvBksiW5IME3cg3rbCk7m/xTIjClLbf1fiaFDKR8qCerFmxmDm0DkoDrlGnezBpBTVaksjM8ZaSFQlGlCj0/1QI9tnTihdrScNeg9GV5norAphi43fh+Rgwup2tegn1UDkowe3XVcP/mNhzI2WiBoFiQeGj3WzUnKcEk7dWDrg1NL5hmRRhg7+EO58BV/XH1UmCMmCGY35WTtozCUOriKPOg9iPPshPdCqaZm0dVjBMO0RQaHRF2ImoenVfRPONCTj+iVFMTtfQLXhHEzfdrZit+lvoJmNTTRyFv4ED2Tcs1Kg+1BCZf8TdqwJ2i+RZr1/d/6wR/FgwJjXO8FmvzofOZtrxGX3kZ2SxasjOdIVvrHOJBZX6r6nrbjJ5iygf3ll0HyL+NX 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: Barry Song <21cnbao@gmail.com> writes: > From: Chuanhua Han > > The function should_try_to_free_swap() operates under the assumption that > swap-in always occurs at the normal page granularity, i.e., folio_nr_pages ~~~~~~~~~~~~~~ nits: folio_nr_pages() is better for understanding. Otherwise, LGTM, Thanks! Reviewed-by: "Huang, Ying" > = 1. However, in reality, for large folios, add_to_swap_cache() will > invoke folio_ref_add(folio, nr). To accommodate large folio swap-in, > this patch eliminates this assumption. > > Signed-off-by: Chuanhua Han > Co-developed-by: Barry Song > Signed-off-by: Barry Song > Acked-by: Chris Li > Reviewed-by: Ryan Roberts > --- > mm/memory.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/mm/memory.c b/mm/memory.c > index 78422d1c7381..2702d449880e 100644 > --- a/mm/memory.c > +++ b/mm/memory.c > @@ -3856,7 +3856,7 @@ static inline bool should_try_to_free_swap(struct folio *folio, > * reference only in case it's likely that we'll be the exlusive user. > */ > return (fault_flags & FAULT_FLAG_WRITE) && !folio_test_ksm(folio) && > - folio_ref_count(folio) == 2; > + folio_ref_count(folio) == (1 + folio_nr_pages(folio)); > } > > static vm_fault_t pte_marker_clear(struct vm_fault *vmf)