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 85064C369C2 for ; Fri, 18 Apr 2025 02:36:21 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E42CA6B029F; Thu, 17 Apr 2025 22:36:18 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id DF1156B02A0; Thu, 17 Apr 2025 22:36:18 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id CE1AF6B02A1; Thu, 17 Apr 2025 22:36:18 -0400 (EDT) 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 B0E126B029F for ; Thu, 17 Apr 2025 22:36:18 -0400 (EDT) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 0BB74140C2E for ; Fri, 18 Apr 2025 02:36:20 +0000 (UTC) X-FDA: 83345600520.14.33C9B5D Received: from out-172.mta0.migadu.com (out-172.mta0.migadu.com [91.218.175.172]) by imf13.hostedemail.com (Postfix) with ESMTP id 17DB820008 for ; Fri, 18 Apr 2025 02:36:17 +0000 (UTC) Authentication-Results: imf13.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=aaTqAWJ4; spf=pass (imf13.hostedemail.com: domain of chengming.zhou@linux.dev designates 91.218.175.172 as permitted sender) smtp.mailfrom=chengming.zhou@linux.dev; dmarc=pass (policy=none) header.from=linux.dev ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1744943778; 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=pbE8PCxj37IlfzeB23r98u0SEU9TacNSUq2UwVU1+Ag=; b=m4CldWkpAEfKXO1VKPIKCTcwnxJnKXe24//A6f7BQw36R0rwpEInv6NmJFvznRxV+uIpmo 7ly6LrGnlZ3YT48QTws93EXxRPLX8Y0L8D8g/USLTdHEyhHSe80abjJEzMevxQMP2aQR4y zWHTVVuOmwvVkLojWjwjAc5CeuGSXkQ= ARC-Authentication-Results: i=1; imf13.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=aaTqAWJ4; spf=pass (imf13.hostedemail.com: domain of chengming.zhou@linux.dev designates 91.218.175.172 as permitted sender) smtp.mailfrom=chengming.zhou@linux.dev; dmarc=pass (policy=none) header.from=linux.dev ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1744943778; a=rsa-sha256; cv=none; b=pJIQpE5g6G+5wUHgPDkw6xjPHNekUPSSCPbStfN2JpFhor3CDGolDKucO3FyWJpPBkEUI5 +6JqmPB78CHqrpPrjqpNxjSVSN15tEMrFShVoZxTgZBsHbRKXMb0tfAPY3jRPdbi/cyLUJ gEBhMizz9e9I9WoPVrBTyprivDzxBK0= Message-ID: DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1744943775; 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: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=pbE8PCxj37IlfzeB23r98u0SEU9TacNSUq2UwVU1+Ag=; b=aaTqAWJ4vWMSW3JKJLdxB+V6toZe5COJtDrFrTe3YygJoTCx+cj8cFUMAZxFSQa0VdkWaG mOGyXLvF1+F/KnTGW10tDstqV04gRCIoK76cl2pcDZmw6SOQkrAKqbchj65/FIr6YdDkMN gZl4IdXmdFc2lbgbELuxvI/JHf414V0= Date: Fri, 18 Apr 2025 10:36:03 +0800 MIME-Version: 1.0 Subject: Re: [PATCH RFC 21/28] mm: zswap: prevent lruvec release in zswap_folio_swapin() To: Muchun Song , hannes@cmpxchg.org, mhocko@kernel.org, roman.gushchin@linux.dev, shakeel.butt@linux.dev, muchun.song@linux.dev, akpm@linux-foundation.org, david@fromorbit.com, zhengqi.arch@bytedance.com, yosry.ahmed@linux.dev, nphamcs@gmail.com Cc: linux-kernel@vger.kernel.org, cgroups@vger.kernel.org, linux-mm@kvack.org, hamzamahfooz@linux.microsoft.com, apais@linux.microsoft.com References: <20250415024532.26632-1-songmuchun@bytedance.com> <20250415024532.26632-22-songmuchun@bytedance.com> X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Chengming Zhou In-Reply-To: <20250415024532.26632-22-songmuchun@bytedance.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Migadu-Flow: FLOW_OUT X-Rspam-User: X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: 17DB820008 X-Stat-Signature: uq6f9uhes9u58px4gd8jdwnipktfbp8b X-HE-Tag: 1744943777-898901 X-HE-Meta: U2FsdGVkX19TgNZcQlsFyFkjfCqMzBiHO+iItV6lbhSX08v/a5SDvCS/gXtwFrU2Z5VF7ciTN+lsGHl1FVSuxNtqBsEZqJglDyHVsxade0g4v/sXjUeKjXTvBqlcQAVORqFD0poRo5Rz5sOCN9zxLiCG8NSl3MOefcfbdRfQkYBqAtaf1dhOhPugVuEdSl0cMbjzv8ouitaKGA8ZFyAU5LvrayJrZYQ/m6zoQ7QXJS6SHgrLHsWVVbaW8K8zYaHpZUN+/XXk9oVVgLgGXxoPmk9Pzn+w2ws0uaiU0OSdmKx6nCYYopM2GLyuwgXz9+vmnr0rsUUQLgbdfR48nXvsKM/ran1s2s0xORs+Lh1QuIeCYs4gYNu/cTUtKEoEjMX2CUfqs5pnB9jpt+rDQ43OgHV8Ogi3JZzKLUSrpNWpKWruOvIzAZlWQiWe1Ie2UVUAFWqX4ZIQC2EqYsQS5bDnw8s7hVk2Ibj3V3mTEavRP+U7ZXU7TXu8sv+TmmWNsrfBC4xaEX+QIMO+imSt75hhX4OaREEg35OYISGf2Ts0EoxXb3uXXiZrscR5JNERxs5ac/QsTlULnkb/HNuSVlZBQcLZlKWNlaMPd5Vl8XCgqRs4nAtBFRk5YciSIS1qwqDOIsX7tzGn2xnN2nbJHEag9m9B1ORprME/vJXHDVZYmPDdeqRu9FF4mD4HOdYO1B1KJe1kKfE4FfmjGoyjra+EoXy/AaF9pUVGjwznU/rTF7DW+oAYjjRNOxU8x+tEtgdWkz9lAzurTRLu3ghu8+AjI17aid0Q4pctL/9ekYy/sSHSSNdcwRpk17pI+imRzIflaztl25x0NeGFwoxgxgKsmpylSEOLKlxXgYPJOItm/jKO09Wizi2MrEA7KgyGvFeJXlZgrvU1dwy61YX5TizoOnW1htaBk09u5L0nQ1EHXrgzFUB6rAOrU6gpOXfDRd0U7Ufzzg96klw+juKBrAh 3alNti5V CboI64GqYPwL0fiKnd8GWq15EiIjUuKckoXEdBIABRBp2F75RLguEZwnzKCK50PVaV62suw/wQ/VAUtgL/yrxQ9JWRjJou+JwcpvGIMRNWOr/qSFfQ7tit8/YplgjVFImnBpy6cGcMpII+gA2OSXgbeejx0fUiAwxOZMD0lS7SgPGalqdUKsGmR0NpsbqEYk8/OgFJE5wQHDOhQnqGQo06B9feuOc1rg4lz8y0Lmxba3JgGVzHo+E1q46bnD3mi5Oesde 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 2025/4/15 10:45, Muchun Song wrote: > In the near future, a folio will no longer pin its corresponding > memory cgroup. So an lruvec returned by folio_lruvec() could be > released without the rcu read lock or a reference to its memory > cgroup. > > In the current patch, the rcu read lock is employed to safeguard > against the release of the lruvec in zswap_folio_swapin(). > > This serves as a preparatory measure for the reparenting of the > LRU pages. > > Signed-off-by: Muchun Song It should be rare to race with folio reparenting process, so it seems ok not to "reparent" this counter "nr_disk_swapins". Reviewed-by: Chengming Zhou Thanks. > --- > mm/zswap.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/mm/zswap.c b/mm/zswap.c > index 204fb59da33c..4a41c2371f3d 100644 > --- a/mm/zswap.c > +++ b/mm/zswap.c > @@ -752,8 +752,10 @@ void zswap_folio_swapin(struct folio *folio) > struct lruvec *lruvec; > > if (folio) { > + rcu_read_lock(); > lruvec = folio_lruvec(folio); > atomic_long_inc(&lruvec->zswap_lruvec_state.nr_disk_swapins); > + rcu_read_unlock(); > } > } >