From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CF6B038DD6 for ; Wed, 20 Dec 2023 14:14:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=infradead.org Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=infradead.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=infradead.org header.i=@infradead.org header.b="mJ9Y1aBn" 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=upMoMYmYXslt+fyn4QzQsj8lri95H6D9tWlWB4yk1Ho=; b=mJ9Y1aBn9JmLEwVITeAsKLqvZ8 LOj/Pu6+e6LgY7pOSiNh6skuRG1mnu6M57KfmQzUNbnSmiBm0nv+IjgXQZ6J1/pnZmzaAlcpZEBd7 guriGYZT7ul2C/LcmDUYmeXMumGb0q3apjBlMuU3PDUJy4m4zXmDZu2IhWyVYIWHerAWjEG53Qrc8 sZToRI0FvIeYyOUoahnpVQ86dRVyg4/8vPOZtNNSeCpVm+WpnXt8wcxV/nZNmDMC5pn6sDZYZqTqo Fu4xdDrPU29rlnLfpfnL456hHDEe19fKK3qcpgzrowbzkeh29uRUklcblF+mIYLCTqIRSRP+YvUDW eozqVYgQ==; Received: from willy by casper.infradead.org with local (Exim 4.94.2 #2 (Red Hat Linux)) id 1rFxKn-00436p-2d; Wed, 20 Dec 2023 14:14:05 +0000 Date: Wed, 20 Dec 2023 14:14:05 +0000 From: Matthew Wilcox To: "zhaoyang.huang" Cc: Andrew Morton , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Zhaoyang Huang , steve.kang@unisoc.com Subject: Re: [RFC PATCH 1/1] mm: mark folio accessed in minor fault Message-ID: References: <20231220102948.1963798-1-zhaoyang.huang@unisoc.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20231220102948.1963798-1-zhaoyang.huang@unisoc.com> 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 your workloads? 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 = DIV_ROUND_UP(i_size_read(mapping->host), PAGE_SIZE); if (xas->xa_index >= max_idx) goto unlock; + folio_mark_accessed(folio); return folio; unlock: folio_unlock(folio);