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 88F3BC3DA6E for ; Thu, 21 Dec 2023 01:58:42 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B8F556B0080; Wed, 20 Dec 2023 20:58:41 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id B3F6A6B0081; Wed, 20 Dec 2023 20:58:41 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9DFFD6B0082; Wed, 20 Dec 2023 20:58:41 -0500 (EST) 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 8AA0A6B0080 for ; Wed, 20 Dec 2023 20:58:41 -0500 (EST) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 58EE3C0609 for ; Thu, 21 Dec 2023 01:58:41 +0000 (UTC) X-FDA: 81589166442.24.BD8A502 Received: from mail-lf1-f51.google.com (mail-lf1-f51.google.com [209.85.167.51]) by imf18.hostedemail.com (Postfix) with ESMTP id 8B8451C001C for ; Thu, 21 Dec 2023 01:58:39 +0000 (UTC) Authentication-Results: imf18.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b="a/Bu5qte"; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf18.hostedemail.com: domain of huangzhaoyang@gmail.com designates 209.85.167.51 as permitted sender) smtp.mailfrom=huangzhaoyang@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1703123919; 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:dkim-signature; bh=ErAEEiT3RhrIXvHzreTCpHV5zkBsSIfKV0fdWMIpUMQ=; b=lOmEC+rJ4z0U242gdSkjE6cpdPblMUsWQd8WqEna9UKwKC269954G2P/BkgbeTNX9+EMKY TFKid1His5kt6w2uUfFQeh7CZ1D5P5MF4aikKA85mJE7aLAjvr3VPawlBTgCasgY8kakNi u4ILXIEMWKnAbKoUWDyz+37sHKPB9kA= ARC-Authentication-Results: i=1; imf18.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b="a/Bu5qte"; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf18.hostedemail.com: domain of huangzhaoyang@gmail.com designates 209.85.167.51 as permitted sender) smtp.mailfrom=huangzhaoyang@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1703123919; a=rsa-sha256; cv=none; b=M9Ip18enjuuaDFLy8znKntFBMd6qu2jp90cd1v+idPc0VIZ/nuNnZnlxRtDHma8i2ldSzz sYFiLavQVoTC3wRvCrbGYJDox+XKeZwQl/bw+hhKwPMn4KRkLXF3JflPFq6WPHLqUBIw7/ ONlAzRbrG9zJzeL1M8/Wtu77sInfclw= Received: by mail-lf1-f51.google.com with SMTP id 2adb3069b0e04-50e5a9bcec9so459676e87.3 for ; Wed, 20 Dec 2023 17:58:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1703123917; x=1703728717; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=ErAEEiT3RhrIXvHzreTCpHV5zkBsSIfKV0fdWMIpUMQ=; b=a/Bu5qte37DpRRBEmK2+mJMlEEIL9/E8Uxc3gakHsr2Z7SLZLvZTJdK2xH4oNiUvtL mN0OnRWAICB9UuFh7jRRaY5BiGw1dAr/VHJi+qTy1zUF1wdMAtw3bZOoWu8Miyfp/gU4 svnKJxuNBPPbkSWds+VyLqHIDRy8kJPAvGejgJaR9l0mLXTz7RbFufmmPDoNQgyYXiwl nr3/H98/UMj9UmVQV6Wt5UyIAiW2KMrUIbCbsVA3/S7VNLhM2NjIy/162PUp05CpOZD1 ghpkKSa2qaLz4n+a0aDWOBJ4TAf9fc6dvFJaszCssD//wQxFV1ccCwxCL3TllagSBvKU z25w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1703123917; x=1703728717; 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=ErAEEiT3RhrIXvHzreTCpHV5zkBsSIfKV0fdWMIpUMQ=; b=WbtQ1llGre9wUBzZeCV3Sg3hvVH7gV+kPOiuFvtnVS72He2PX33S1vqv9ZUwPaH0Tz 4kQtpLhj7bA0AtfJRFoM23Oe+avop7mkhcr1Mj/GTRTaAVhhOgmjNzWZZpB72dI280iy SdqVmUs3gvDL/5+xVxcgn82cyE3HxZgYuNu3TDz3s6JyYOJMTo2F+AF3t7xrFa71Hg5+ ZLN6EvHyvzLnj6/51uyNQ7IiCPt6tWjTxiXEdaJhSpqNQGDluzBgZ3j63YbcDTbnUbMi WCNEa0IFSXoGCZSNSjGbPqYV1ZNlcKmarlfkIYaRB7LZA9O4F1o13ElQQ8B51gUVFuXq rM0A== X-Gm-Message-State: AOJu0Yw/iexFr8aKiFJ3N9qS0b9sabUQlAd1Wwxzm0wRFBz2BZMj/Fv2 TlnI7BWvlwmBMSN4Lnp5dXA4yZ7HzIdOPwN3tVY= X-Google-Smtp-Source: AGHT+IHMqhXwYu59CmMuePryKXW2xxWXRW1jObGnLa7i6A5j56gEB0lfNOSdq+FGpJILArPhBxoPpVVe9iHlFXhibHU= X-Received: by 2002:a05:6512:3687:b0:50e:384c:6982 with SMTP id d7-20020a056512368700b0050e384c6982mr2896047lfs.42.1703123917349; Wed, 20 Dec 2023 17:58:37 -0800 (PST) MIME-Version: 1.0 References: <20231220102948.1963798-1-zhaoyang.huang@unisoc.com> In-Reply-To: From: Zhaoyang Huang Date: Thu, 21 Dec 2023 09:58:25 +0800 Message-ID: Subject: Re: [RFC PATCH 1/1] mm: mark folio accessed in minor fault To: Matthew Wilcox Cc: "zhaoyang.huang" , Andrew Morton , linux-mm@kvack.org, linux-kernel@vger.kernel.org, steve.kang@unisoc.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 8B8451C001C X-Rspam-User: X-Rspamd-Server: rspam02 X-Stat-Signature: cun8fc39o9eki8ki9e55mxrek681a8yb X-HE-Tag: 1703123919-79423 X-HE-Meta: U2FsdGVkX18H6A0SoiAxFuCFRO8Hfe/dYKNpUIo1X+A0uvtf4EpwkmuVWCbSIWSHbJEuI8eJiwGC35m3yVEDK0ALfrMnQXqO3wfD5pWsnrMWPumrJtDcOY8O31LM3BV5zbb9Ds6Kt96hze7LiHhCZA8sX23vGJwLjCxkc9fbebc48F/ObmWKr5RZ+M+W8aVU8d8vsyjQ83cZUbaajrl0AFKS87D6cDSVlrdKDQ0i0X3uC761yKNWqjXX8hdIVSyg+65cbtCy+78+MUH2BVpgHL4lZp+0xSWZ316eyALtoR7IEB/bu3QfHQsTZlxAN5sj27+nv/Fq+gpu+k6q+Usc6Kz8PJFUpwl6tZ4TlH2k1NTNaBOHPTsaAzCo498NNKmi6OI4HZz0+mpXXVb5WF6Hj/HY5Wxx550U7S6b2MnLj9qXoQfomtnjxwx2V/yVfzon9ejQHzhYZ0KJC7s9aPWUdhXIj9J5cmmihp1c5c4eTAKRLB+vulyHbiu8RCgDlBt6pUPrL5MqTB3UxEE669jmd+Nlg0nfxvIwMR31x1u9HnHqQ9CHSY2L4eiK+bf/sgKb+oxAa80TBq7qsGvbbWimD6FOw5cRv5EzYCExGlMemt3Jp4rhpSDqYCzmMfVzjoM4OF9SFEYc3rCa1rU9xgpCoF7yUGhLIvZtkG6lp3nzzpyxacjOnBJD0Mku99x29qnK+rRYejP2eDKSMM+4AMkERhyD8jEfPA1LmVo6Py/tQsJpRSiQfuhWpXHLou2f2NfoDHAmg/Wy1Y+VgkDAjVRedhTVfYvqDPE8AWCwbv3IHlL3IyP201mq0iSNYamIrnoFh/0GeR1JkEZjLWWCGQQcNFz26C0oZnBxTH9pYo20ZVfs8/Lb+CfeFiUOH2VQh00yn6+DxL4a6n1kWQYwDx6cZlDh1zigzpcIs9GhjzvEV35rfzHy9SxtTxqPWKDdMqTNnbLfo1Ao9G7Xtc5YPlw U8wWGazS ux18MkkHNOScINhO2ZwUm6upcXNv8bArwscp+bhZPHMXwj9e63vVDWq0rdFV+orJMlhaAH3pAydL6GW5QCEfctGUgmO5QaZSkD1lTuDuqchF4ceRkljl8OrAM9aDVkRb+AA/eCN4SmxRhkMj9/sbz18qcFR5NNXYJC5toeRx21t2r7+k64zvzScJ8Rm0DKs9zzwTMh0306TBPx4AFQhXk7Q3Nnm219+CfRCVSu9r9Cul/rkP39X+aYDFf0Sq1r4MaA3J/tGSmtbwjfNzD0guDWlksFzkmRS1ww4nFmXNQnX8YDcGbz4H7XO5kwezAjJdgfHflflRpSpZZC8KtHdqwEM2oLlw7XOoyCQ2fJE41QEfysK+74KBGuQgMBaLW4roCHnUhPBpD+I3mN3G/BjWkIFHNBQuvJCMVJRGtznF8KZU/Por0kiJhgCct/zN9XMADnM1yeeWXSvKVWSxEtog1RWJzhQ== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000001, 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 Wed, Dec 20, 2023 at 10:14=E2=80=AFPM Matthew Wilcox wrote: > > On Wed, Dec 20, 2023 at 06:29:48PM +0800, zhaoyang.huang wrote: > > From: Zhaoyang Huang > > > > Inactive mapped folio will be promoted to active only when it is > > scanned in shrink_inactive_list, while the vfs folio will do this > > immidiatly when it is accessed. These will introduce two affections: > > > > 1. NR_ACTIVE_FILE is not accurate as expected. > > 2. Low reclaiming efficiency caused by dummy nactive folio which should > > be kept as earlier as shrink_active_list. > > > > I would like to suggest mark the folio be accessed in minor fault to > > solve this situation. > > This isn't going to be as effective as you imagine. Almost all file > faults are handled through filemap_map_pages(). So I must ask, what > testing have you done with this patch? > > And while you're gathering data, what effect would this patch have on you= r > workloads? Thanks for heads-up, I am out of date for readahead mechanism. My goal is to have mapped file pages behave like other pages which could be promoted immediately when they are accessed. I will update the patch and provide benchmark data in new patch set. > > diff --git a/mm/filemap.c b/mm/filemap.c > index 2e6b1daac6cd..8cecf82dcc5a 100644 > --- a/mm/filemap.c > +++ b/mm/filemap.c > @@ -3418,6 +3418,7 @@ static struct folio *next_uptodate_folio(struct xa_= state *xas, > max_idx =3D DIV_ROUND_UP(i_size_read(mapping->host), PAGE= _SIZE); > if (xas->xa_index >=3D max_idx) > goto unlock; > + folio_mark_accessed(folio); > return folio; > unlock: > folio_unlock(folio); >