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 F2BCFC0218F for ; Fri, 31 Jan 2025 21:33:09 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1DE5C6B007B; Fri, 31 Jan 2025 16:33:09 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 167EC6B0082; Fri, 31 Jan 2025 16:33:09 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id F24986B0083; Fri, 31 Jan 2025 16:33:08 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id CF70A6B007B for ; Fri, 31 Jan 2025 16:33:08 -0500 (EST) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 5A0A348AA0 for ; Fri, 31 Jan 2025 21:33:08 +0000 (UTC) X-FDA: 83069047656.01.732E9FB Received: from out-188.mta1.migadu.com (out-188.mta1.migadu.com [95.215.58.188]) by imf05.hostedemail.com (Postfix) with ESMTP id 8517D100007 for ; Fri, 31 Jan 2025 21:33:06 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=jyD9gPXS; dmarc=pass (policy=none) header.from=linux.dev; spf=pass (imf05.hostedemail.com: domain of shakeel.butt@linux.dev designates 95.215.58.188 as permitted sender) smtp.mailfrom=shakeel.butt@linux.dev ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1738359186; a=rsa-sha256; cv=none; b=FTZNV9xinFhU1y4eWourUmqsrcglx+Y964Xe9UFWoYbODgchZUnyQHOcVki66py9z7/rLA 2xqCBwUEg/+oHpUSfNg1bPoNixFl0O8Pmhu8DdFUhUIdkJk70CH+sjFpVces7I95SQ1NMg 6CTT0An4eXzK0Oa2u+wyc7DuAMOy1Y8= ARC-Authentication-Results: i=1; imf05.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=jyD9gPXS; dmarc=pass (policy=none) header.from=linux.dev; spf=pass (imf05.hostedemail.com: domain of shakeel.butt@linux.dev designates 95.215.58.188 as permitted sender) smtp.mailfrom=shakeel.butt@linux.dev ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1738359186; 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=FKADDN/gzLU5ps4Oe+ymmjbVA+yTOl27darYW9+bIr0=; b=0hd0fT8pJhi0CHGqXzpMO4wBJn+sQzL423zjXzjxRIIBTNOYmP+whqzWo5ylNJsb+yaR53 vpFdVRz1tlNHoDeF+2UpkNyTRnn4y88DwXAt4uRuKRsMN2QnI3FRyEgyyqyOR/TNxvNFmz 5WZp7ITPdzZ1CpTCVXEM3lWODD3MrvE= Date: Fri, 31 Jan 2025 13:32:56 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1738359184; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=FKADDN/gzLU5ps4Oe+ymmjbVA+yTOl27darYW9+bIr0=; b=jyD9gPXS1WTaul95TpeSAfE5cKe6GAm6eOkWb/GiX7s5qiCfSRB8BaOinWtNL/E622IZjh 0QScNYaKTFt28s6IqWK1DsqmrG5njsWa/Py97/n3byOUomQBe9xiy4XrKkYlPSzhlhYxVK kdV1A0T7T9VIc3IRqV+q4ufc53+aXuY= X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Shakeel Butt To: "Kirill A. Shutemov" Cc: Andrew Morton , "Matthew Wilcox (Oracle)" , Jens Axboe , "Jason A. Donenfeld" , Andi Shyti , Chengming Zhou , Christian Brauner , Christophe Leroy , Dan Carpenter , David Airlie , David Hildenbrand , Hao Ge , Jani Nikula , Johannes Weiner , Joonas Lahtinen , Josef Bacik , Masami Hiramatsu , Mathieu Desnoyers , Miklos Szeredi , Nhat Pham , Oscar Salvador , Ran Xiaokai , Rodrigo Vivi , Simona Vetter , Steven Rostedt , Tvrtko Ursulin , Vlastimil Babka , Yosry Ahmed , Yu Zhao , intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linux-trace-kernel@vger.kernel.org Subject: Re: [PATCHv3 06/11] mm/vmscan: Use PG_dropbehind instead of PG_reclaim Message-ID: References: <20250130100050.1868208-1-kirill.shutemov@linux.intel.com> <20250130100050.1868208-7-kirill.shutemov@linux.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20250130100050.1868208-7-kirill.shutemov@linux.intel.com> X-Migadu-Flow: FLOW_OUT X-Rspam-User: X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: 8517D100007 X-Stat-Signature: n6bq85y38ytk6h6n6zcnixwnqccpedhp X-HE-Tag: 1738359186-528148 X-HE-Meta: U2FsdGVkX1/oRUTvG05qzuIkhjBCZd4lhSj2mQwS7aw6hhkuo64AEjT51mCd33D+UteSAsWnq71lw9k46PFgMKIWQA7I0t2LzVW5FPr8MHV1UK1T2CB0X0k1qARPEgv2i3Ik5HhNvJAhKbZ0NGgpnxurgPGDjrpnMH09NKfEpB59Te2a3IxEM76VNuQLmQvYR+ya6rruTP9t91aQZeDEbvYxJ/KBWNOZWEPRvVYopex/0VBD9TYPSotiuiXhueqwVy1FFZuRuMz5pprhfNNh1vcAXUgGgBo3XD/5oElfLn1TGvaMLOPqtWN4PkydUzSrAElcx9Ddr7yt8FTakCkbCWzWhCW4y13RwQ2KUjI8ahUPHtleYDVjiBBU9ooJBZCFAZbJdAsR5seOW2EpADuoe1cigTd7qnDFfpL5D/nFuVnNmBWEQE+m5cJthe6NQfHKLyZiVt0d3z9WanccjmhuG3NizwK3w+Hp5n4lGbOTN7fanSKN6wADCI7MkOcrq+LLvUiNtIcfl5jLIPh/GFlLqbT1DlSAbk9JoL19o61+C3y97hdIwTF7mKyIN+kkVys4E0haW9S26qZDqjqhGoqdUw4p4QNDQvB9IF4BbZxPVoTw9gcXt7odc8/dzjc/0BQ77eqytSvCurTS2/bfzSbCo154oHJGXa6WfUOqO3ec+zYXwXAEKhbWAq/a+3h5n9KI5ixid99hyi6hGPzv5iblYuhY64PWB+cU+I60T45y76aSkzAOuhlt8fmFGcZaqmdqv1BXgN12fYSMI6wyp8Tadk37LCkkEXBgk3ph0q7K2QR8gMOzdL9oEkINaSrBlNM7/LsZYgyYJgVxyTIRtSZAwsfjaVNW9jZr6WJf9KW6usSAWkkfjK6Y6B4Wtw+fBIF+mXozyk0c5guF7H7o3o9IB3118/1HkZK9ofHPydWbhkC6EF6bhfKTxjaTS2H9/gFCYrCYb9hHQ/Mut6VyMLn AqcPW5W6 pvrQXnvS+EO1Ofgl0dJM4nJ4lvc18gTZsBAj55o6NyeAxjNJ8T9pyCX/fbMdGtFWUsaRTb6KNZ0PT0HbJ9DpO5wNi+cAQw2uhP3wW9hpxOte2wtofs9hB+dKOBe53Yuemev0JI3zwmCbQTEZfdcgJW1ez3YvdZdRc2cW2/8+UmSMYn1dhhZoGA1bKJALa8gNyAr4f2AGMYHxu6e97bLfw09sn5fzy1jHvPdQz2ULcdZ0BtXZxupVnjB+5FxYjtFVgQKV4dZBYWxUnsL3sTdGuZBnMTQ== 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 Thu, Jan 30, 2025 at 12:00:44PM +0200, Kirill A. Shutemov wrote: > The recently introduced PG_dropbehind allows for freeing folios > immediately after writeback. Unlike PG_reclaim, it does not need vmscan > to be involved to get the folio freed. > > Instead of using folio_set_reclaim(), use folio_set_dropbehind() in > pageout(). > > It is safe to leave PG_dropbehind on the folio if, for some reason > (bug?), the folio is not in a writeback state after ->writepage(). > In these cases, the kernel had to clear PG_reclaim as it shared a page > flag bit with PG_readahead. Is it correct to say that leaving PG_dropbehind on folios which doesn't have writeback state after ->writepage() (i.e. store to zswap) is fine because PG_dropbehind is not in PAGE_FLAGS_CHECK_AT_FREE? > > Signed-off-by: Kirill A. Shutemov > Acked-by: David Hildenbrand > --- > mm/vmscan.c | 9 +++------ > 1 file changed, 3 insertions(+), 6 deletions(-) > > diff --git a/mm/vmscan.c b/mm/vmscan.c > index bc1826020159..c97adb0fdaa4 100644 > --- a/mm/vmscan.c > +++ b/mm/vmscan.c > @@ -692,19 +692,16 @@ static pageout_t pageout(struct folio *folio, struct address_space *mapping, > if (shmem_mapping(mapping) && folio_test_large(folio)) > wbc.list = folio_list; > > - folio_set_reclaim(folio); > + folio_set_dropbehind(folio); > + > res = mapping->a_ops->writepage(&folio->page, &wbc); > if (res < 0) > handle_write_error(mapping, folio, res); > if (res == AOP_WRITEPAGE_ACTIVATE) { > - folio_clear_reclaim(folio); > + folio_clear_dropbehind(folio); > return PAGE_ACTIVATE; > } > > - if (!folio_test_writeback(folio)) { > - /* synchronous write or broken a_ops? */ > - folio_clear_reclaim(folio); > - } > trace_mm_vmscan_write_folio(folio); > node_stat_add_folio(folio, NR_VMSCAN_WRITE); > return PAGE_SUCCESS; > -- > 2.47.2 >