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 0C253C54E67 for ; Tue, 26 Mar 2024 21:03:23 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7C5156B0095; Tue, 26 Mar 2024 17:03:23 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 74C696B0096; Tue, 26 Mar 2024 17:03:23 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5ED586B0098; Tue, 26 Mar 2024 17:03:23 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 469B56B0095 for ; Tue, 26 Mar 2024 17:03:23 -0400 (EDT) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 143D1805B4 for ; Tue, 26 Mar 2024 21:03:23 +0000 (UTC) X-FDA: 81940415886.29.62A4402 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf24.hostedemail.com (Postfix) with ESMTP id 0EA47180030 for ; Tue, 26 Mar 2024 21:03:20 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=t7TounKa; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf24.hostedemail.com: domain of chrisl@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=chrisl@kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1711487001; a=rsa-sha256; cv=none; b=K+D2uKBEtHMkqkIiYwUGRBqSxtKTo1yF22j2Ajq6SSWQ8+VnB8/FBqrPnAEQaIOpl/DXcK lV1k0EPh2l6yUsEPQWHtOXYP/7bQRakrd5SZGBNkD63km6cJK7gOxNgkP+dkd59CuRLIGX cele1Jj2Sj86WbY2U+SttjZYZRB3Ix0= ARC-Authentication-Results: i=1; imf24.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=t7TounKa; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf24.hostedemail.com: domain of chrisl@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=chrisl@kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1711487001; 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=Cd63ATfQ7tULkBLA6IAqshUN6ob9r5tFzef69jNsXkk=; b=07enm12y4yfA3wrpsce33hbSlBxrK6SQapmTu4ZiP8lgxEcgj/E6HykDJVq35+4dizmGcT AYL7ee0hCJHywHI7dQN9TRU2G/w6Llt7QxTMMN4ONlGLpnO3XQaFUL7WnidzyVdpTrpniw j6vR7GZs98wkXWG/NzQA7s+ZiYco8dM= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id 019BF612CE for ; Tue, 26 Mar 2024 21:03:20 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id A3174C43390 for ; Tue, 26 Mar 2024 21:03:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711486999; bh=G+a++kNjQurBcA3LiA4cP05re6SA4msV1Gc1yXADqZI=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=t7TounKaP4ShWSs2QLK4mJPaG2BZ2fO4gPdzeBFG10R/Ve++tmOG6vtWOxdQa28OZ u5c/uZ/zIvHMnDxUZC6lLsDHlc45RXTbm4NN4YmpIQqBBhle8rQGRbHoUTXO0EbDTo 81/7D4JpUDQ772z/y75sOqhTAqu06cyOxvA2c7fKOI0ra3raA6Q7UscNqQddzSO9pF Vbd1QyS+STWHzyWtS6iDFFAXMDE/dZoYFioG/S7AqdGi4B0l378dTILy+H0oatfOYs 0SM6iHimecGiyg+urHKDH9RutFXY61683htyz174Fj5/bv1/f205bk5pIfiIUeBb6S 59jTEEX2GmhLw== Received: by mail-lj1-f175.google.com with SMTP id 38308e7fff4ca-2d52e65d4a8so80253591fa.0 for ; Tue, 26 Mar 2024 14:03:18 -0700 (PDT) X-Forwarded-Encrypted: i=1; AJvYcCXUQqk2Ps+oqJ0Wzv7jlt7vY0NxKA+2wdBL+0ItGVvDF4kNllk3/yAS4kSvLsn+vBxfPyVfTyrhFLJN3sIp9dfLZoA= X-Gm-Message-State: AOJu0YxVVOnFEhSGVkgsbv6jAYq2dV2mxX6j6/ywsbE77D2EOnb6JE5u VaWVCh70Eps6q6i5Hj3eE4CCfJoZzf3Qh8q6etTbqPK3C6gzXuzqK86VgG8NJiXCprjKKxUXnHe y1KftkM1FbaXvlq+DfePcaDYVNw== X-Google-Smtp-Source: AGHT+IGpShG06dy2Iv3ekbiR2tBs0kqc7LKX5Tjbx7DWUCpYMKmU8RF5hvpz5WOnAwuQtqFGCCamjbTbJN/VWCpjk50= X-Received: by 2002:a19:644b:0:b0:512:c8f0:1954 with SMTP id b11-20020a19644b000000b00512c8f01954mr7070115lfj.0.1711486997354; Tue, 26 Mar 2024 14:03:17 -0700 (PDT) MIME-Version: 1.0 References: <20240326-zswap-xarray-v9-1-d2891a65dfc7@kernel.org> <20240326204836.GC229434@cmpxchg.org> In-Reply-To: <20240326204836.GC229434@cmpxchg.org> From: Chris Li Date: Tue, 26 Mar 2024 14:03:05 -0700 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v9] zswap: replace RB tree with xarray To: Johannes Weiner Cc: Andrew Morton , linux-kernel@vger.kernel.org, linux-mm@kvack.org, Yosry Ahmed , Nhat Pham , "Matthew Wilcox (Oracle)" , Chengming Zhou , Barry Song Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 0EA47180030 X-Stat-Signature: hkep5mtqgr5g4n5btr5pp3gt1hcrfcyt X-HE-Tag: 1711487000-336795 X-HE-Meta: U2FsdGVkX19G73G5tdLcBrVXGR/M0IBBCKm3yvsby0oYXf8Thy3lEABfdacF0RvbomrmBJ8F+AxbRGoq/pWDpgR2+8NyI/RNpd3pmad9yrTvm7sIhObpJR859qMpinwKBs5C7ZI8IlGN1kmdffQX0h/td/6jYFNYafZirWbYXk6cK4Yr2uq5lgwwCBT5WSXW+cQJ5cl0OjFzD+g8BTjobqMuSzrM4TmJq4C5RZGqzPnZr6gu2GUrgilxabzf4la8xpiZSk2Yip22OqEWeHbOktsFtxcB/CA+zEPiVCf43MqU+JBWzHMhNtMf5rOXzKU07F/IP+vGAVsEKjHMv/iQykEVZ5Tcu/FNnvUie8UPpSXRFDuW4veOt5uLn6IlxVChY1+lnhiG24jhbC2Wl8pgL/lCaoWWNNX0xCWTjEpXLmOTp8NqHCuP2HRtjnnfZ4zchBbaWrDWf8/B6vD2h1P2HpK1Y/eCXlyb0kOxf3WjTYMglrdjFmeEpV+AzTrOIR3tkEbfx351dyut+6yAujLn/OwsTzgFZmcg9VuuTlIpuxGfey4fvy7aFW2fJjbqaixGrJ4fmgRqdFKDHvQcEbqECnL7msZB3Oal6zzmtthzUsz2E3P6LANY4eNU5V5jdz16fiQT9UQabB7Lx9f299KH94GvO1jnKOU/4L3ARQNlDhY02odaK6I8i1sn4e0S319N47Vp4/4G9pJC+sFdqNXsXtqv52XMjeEewphMN5LFMwBbrXmfxX9PeQi/D4aMe3lKlCk51/B1lc7kI09Fpd70/EYAOjFtkZLIRdJbH8b+t82yxTHZsB844fNX+BbBZXqP6rZE/c+jv7P3CdDE3vyoWzlUooA8I7hU0NrEHbW07TK/316ErMI1pr/Zuf35zEHykfLgyMRdiheBxdnBlYkW8dBnwo9jd9lsYK9xoX0kdVnSmvpRfF8C5KstVmxdrvdnCKpucDAriiz6dgn9wxj AUAxLYKU bmHXJp88VJlnqrLLa1ryoMdZ65w00YveM6bGZRoqxvAjW5txWquZgfvrzXSNf8tjqcoUxFS82N8r4J5kvLz3Nr4OKpxykw0nqbgoNkYHO8mTHi8J028UVpkyrtYqixHupfPZgylTk/htd+FL22Ap/5X5gXnRQl4hdu1LkawmSGPVlI9OtvgBvAgymnM3Fu0FnhBzjDE/9h/LWErvv/l1gCYvFot4WgaYiHQSV9U4eWtAO3A4+1+NVVzmW/7xJPc6itYOTkg46eNhZW+KZhm6vZUOrNg== 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, Mar 26, 2024 at 1:48=E2=80=AFPM Johannes Weiner wrote: > > On Tue, Mar 26, 2024 at 11:35:43AM -0700, Chris Li wrote: > > /* > > - * When reading into the swapcache, invalidate our entry. The > > + * When reading into the swapcache, erase our entry. The > > * swapcache can be the authoritative owner of the page and > > * its mappings, and the pressure that results from having two > > * in-memory copies outweighs any benefits of caching the > > Not sure why you editorialized this? Your patch doesn't change those > semantics, for which "invalidation" of the backing copy is a much > better description, given we're also marking the folio dirty again etc. I was thinking the zswap_invalidate_entry function was deleted now. So I use the erase to match the xa_erase(). > > Can you please send a delta fix to undo that? Sure. Chris > > > @@ -1649,8 +1581,12 @@ bool zswap_load(struct folio *folio) > > * the fault fails. We remain the primary owner of the entry.) > > */ > > if (swapcache) > > - zswap_rb_erase(&tree->rbroot, entry); > > - spin_unlock(&tree->lock); > > + entry =3D xa_erase(tree, offset); > > + else > > + entry =3D xa_load(tree, offset); > > + > > + if (!entry) > > + return false; > > > > if (entry->length) > > zswap_decompress(entry, page); > > Otherwise, looks good to me > > Acked-by: Johannes Weiner >