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 33695C47074 for ; Fri, 29 Dec 2023 19:44:48 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7FEA36B00CE; Fri, 29 Dec 2023 14:44:47 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 787DC6B012C; Fri, 29 Dec 2023 14:44:47 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 64FA76B012D; Fri, 29 Dec 2023 14:44:47 -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 5265B6B00CE for ; Fri, 29 Dec 2023 14:44:47 -0500 (EST) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 252A8A1DD8 for ; Fri, 29 Dec 2023 19:44:47 +0000 (UTC) X-FDA: 81620883414.29.B888F97 Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55]) by imf04.hostedemail.com (Postfix) with ESMTP id 0A79B4000C for ; Fri, 29 Dec 2023 19:44:43 +0000 (UTC) Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=korg header.b=wVpZ6jPr; spf=pass (imf04.hostedemail.com: domain of akpm@linux-foundation.org designates 145.40.73.55 as permitted sender) smtp.mailfrom=akpm@linux-foundation.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1703879084; 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=dCpnguFez/RrYaco+okO0SwI4cUytBCQLHMCxfSWCMw=; b=gPqD4DHIo1TbdrawdRhUZE1aIiPr9LCYCjsJAqKvHAGctbd3PoozM2t0IirB0/hcsUmrBS SlYdtceRsGmLf63BPBjDrGZSSMZ7ypKBJJtC2YO/8faXk7gAshcTHP7oKi2mGpdTY2gLqU txurKtNM6EpF/LmbNyfiikpHHzQHA0s= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1703879084; a=rsa-sha256; cv=none; b=NeVjC6FnAsD7BfhyJjGK52jxzI96gy6mgFiZTFYhQmF0Ggv9jvQaLD10Lj6hwpfNBfAnS5 mJSo2M4VqAVZrAltEWuMVNLjf4kDTpzw/gkasnmcrYjqvPOIx6OSpuxbzkgbKda/5zAeYw fbdFmajDgMrp1qr+LLkOaQqLP3dMR1s= ARC-Authentication-Results: i=1; imf04.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=korg header.b=wVpZ6jPr; spf=pass (imf04.hostedemail.com: domain of akpm@linux-foundation.org designates 145.40.73.55 as permitted sender) smtp.mailfrom=akpm@linux-foundation.org; dmarc=none Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sin.source.kernel.org (Postfix) with ESMTP id E1E8ACE191D; Fri, 29 Dec 2023 19:44:40 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id B7829C433C7; Fri, 29 Dec 2023 19:44:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linux-foundation.org; s=korg; t=1703879080; bh=ns1k4uVM2WW3ED0MkFvVFGjMioawgHcjU5xtCgOGIjw=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=wVpZ6jPrKKPoOCPMaBquKZMt6vkoHZ7d2yQDRGa/2gydAcH5WmD4KjibPVoffWOoY KUl81fD5OI4W1AtvD817iwKXlFqEE2tFz8W7kyFA7hhVJZG/ZdOrC88W3YH/Pco7HM J4tPRxdIhT9JRSxqyC56wBvLXsvr3YGcAZVRTyL8= Date: Fri, 29 Dec 2023 11:44:39 -0800 From: Andrew Morton To: Zhongkun He Cc: hannes@cmpxchg.org, yosryahmed@google.com, nphamcs@gmail.com, sjenning@redhat.com, ddstreet@ieee.org, vitaly.wool@konsulko.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Chengming Zhou , Chris Li , Nhat Pham , Yosry Ahmed Subject: Re: [PATCH] mm: zswap: fix the lack of page lru flag in zswap_writeback_entry Message-Id: <20231229114439.e3f3a33652fdc1e6df666ab5@linux-foundation.org> In-Reply-To: <20231024142706.195517-1-hezhongkun.hzk@bytedance.com> References: <20231024142706.195517-1-hezhongkun.hzk@bytedance.com> X-Mailer: Sylpheed 3.8.0beta1 (GTK+ 2.24.33; x86_64-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 0A79B4000C X-Rspam-User: X-Rspamd-Server: rspam11 X-Stat-Signature: o1yhff5pwhhhpxkoycsefwmczdwag9yi X-HE-Tag: 1703879083-58651 X-HE-Meta: U2FsdGVkX1/ZhDZlrmwnzyPufS8tdhssoOa8QJts0tQBrVCHp+4JNnXx5LcozSIFNMj2DIm6owRzx6Mj+2lWRY/X2SNW0q7Fx3iV31rJWXXIp07Wtgq4K6oNzqY72V3t32XwJIll3NtJCjVf5Ur6RuUg3BRb6lG4ErVGgDsmkeCT+XTzXynq5aKkvk9RD4QbpuuL5M1I9FfCMeNQSiachA1XDynXYZPbmVr23sLPvAuujnnNY7LRvcKlMLrL/kB+GlZ5WIDxLICW73OCWW6ejmniyhR7mCy2VLyTwg+/nmWhSCK0axLJO/ue0hQFMDF3G0RxGPtKu6ziBQlTQQ1nDJGWijFTzdtn6zZmXUPqSl89P0OTfXZzDPBpzRolb08iNTJIQR6Oi3nIN+X+4+/C/V9BRmz+etUEl1uxWNJO2KT/gveDJX0u3Epaz8NAXgpFFmdDxR5hTmPa92WrUPZaat7Tm+fAtwJBrar1bcFi6uwrwhNsyrIC3IjaBzSFzBk9zep6XLb8BPJQxDYwCulwR/bo8HBXgjcQLSGB/f7NFxWwo/F3cp7VwC9/fgFQQbPgL60frBuUN5xmfiiROXbaIQK7toyg5p6BB1BRweC6URnl3C9p4XU1B51j9PbewYaJgGA21A0MviWMb/2KGselzCkos69KW084CUMTCInFVG0T1ugHxghm8nkaVvqAWTbBwHA03eaQ2aiTWLLY2yfSsHdngw0OY/wisGWv/J+534GE4YovGXGhlIEyxfh9o2WBgx3rdZu/zkLRKY+7lt/nxLIVJFCgkYBQVa89rQQl6ySNi3kSO5LEjzS3ji2HjoIKV43hK9zL7rjlU0/FUShM2K/0Ovvvv9QFnnNdeFNVx7vYrr/fGMeXtzKgqKJJfBh5eM1NwZSj3N23T/vCpmKOh+aokoCHeP5MM9XhswbGzOcfDuzEJGmbYsxM5AugZnuA+mfvToY9h8RKNsaG75R qdwHjv/W GdosyLmmsWxf9E4wzurVH6M5zHC6jUNWtarSuh7x+Mjvbw+UEmZcUfkcX8IlQyWhmhQTNV1ot+PIQVdr/FyIUPHPlmJt8h4MllZcQX7FyppdppdEBZwoXoM8lSCP2VjJlZR1+1O+ldo9P4M94G/T/dramVaspgWDv0qrJs12j/RYEsMWFoF9FdlTnmwCqZU3qvh7YFj3tJNHQQBurDDKaOJuHNSTNDG3R8xoit5bcN0lcGH+d9F5ICyQWOPYCL+ZJNORli21ARRp9mKh/VV2KXJ/Q1w9UwSSTtI7E1yGkHIVd2NAHDa75EcUy++YRZL11mlUzikGlB02WdTWHUVzVjJAxhck8+Sill5DNKakiMAmmn+AeYgP1rngsQWBC4S3HqTrpOPJhNt144XmpdbE66D3yig== 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 Tue, 24 Oct 2023 22:27:06 +0800 Zhongkun He wrote: > The zswap_writeback_entry() will add a page to the swap cache, decompress > the entry data into the page, and issue a bio write to write the page back > to the swap device. Move the page to the tail of lru list through > SetPageReclaim(page) and folio_rotate_reclaimable(). > > Currently, about half of the pages will fail to move to the tail of lru > list because there is no LRU flag in page which is not in the LRU list but > the cpu_fbatches. So fix it. Some reviewer input on this change would be helpful, please. Also, is there any measurable change in overall performance? > --- a/mm/zswap.c > +++ b/mm/zswap.c > @@ -1139,6 +1139,11 @@ static int zswap_writeback_entry(struct zswap_entry *entry, > /* move it to the tail of the inactive list after end_writeback */ > SetPageReclaim(page); > > + if (!PageLRU(page)) { > + /* drain lru cache to help folio_rotate_reclaimable() */ > + lru_add_drain(); > + } > + > /* start writeback */ > __swap_writepage(page, &wbc); > put_page(page); > -- > 2.25.1 >