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 B6029C4725D for ; Fri, 19 Jan 2024 22:05:51 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 03E756B0080; Fri, 19 Jan 2024 17:05:51 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id F09B06B0083; Fri, 19 Jan 2024 17:05:50 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id DAA4D6B0085; Fri, 19 Jan 2024 17:05:50 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id C7E1E6B0080 for ; Fri, 19 Jan 2024 17:05:50 -0500 (EST) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 5D47D40485 for ; Fri, 19 Jan 2024 22:05:50 +0000 (UTC) X-FDA: 81697443660.09.7A752D4 Received: from mail-pj1-f47.google.com (mail-pj1-f47.google.com [209.85.216.47]) by imf15.hostedemail.com (Postfix) with ESMTP id A0801A0011 for ; Fri, 19 Jan 2024 22:05:48 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=gE5LXPAR; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf15.hostedemail.com: domain of chriscli@google.com designates 209.85.216.47 as permitted sender) smtp.mailfrom=chriscli@google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1705701948; a=rsa-sha256; cv=none; b=Lg/H0Yt290i7uYp0QV1zynA+/16249Df86N9WwXOIPQO/1TISvNkl6d4jZ9tRVf3e9muFu o7+20DxqBRrQWECeKkmzKH4iULrlo5UZduSMYteTH27o9ty4NoWBabPKW8lO4v9ctfVPBO nUdFrXmCdTpivxTlCf5HrWwOPWuasYw= ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=gE5LXPAR; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf15.hostedemail.com: domain of chriscli@google.com designates 209.85.216.47 as permitted sender) smtp.mailfrom=chriscli@google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1705701948; 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=JvLEJ5iYwm0j9MPbrk2yPdPy/G2pUyzqxjNRaXk3G/Y=; b=sHiJ2uStk0zCgpuifqZ6s8TRozQKubcKd2B5SyD71hqvfd8S5MUykiY00+Mis7XqYgBtQu cRJMwQTbKqQvzPnL4qo/vRRFjOy6xJkFUXEe5Z/LJ1+Qm/TIsDfZ5S2JsSevI++xh1C/9n DYmeskJ44JWnxSjSZ2y61XbtCwrOEW4= Received: by mail-pj1-f47.google.com with SMTP id 98e67ed59e1d1-28e82c39e69so914727a91.3 for ; Fri, 19 Jan 2024 14:05:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1705701947; x=1706306747; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=JvLEJ5iYwm0j9MPbrk2yPdPy/G2pUyzqxjNRaXk3G/Y=; b=gE5LXPARugZ5kwDE9zkuLP+Vy9asepAHKZFTM+i/97UGv41Q8DyWEkURyIa+eLYhC9 KY42bPB1MULwzYPH2CO8l9FjFFdoALBr4pwVyk4YAqnl89MLLm0ITJjXDXOQ7LyBWAsO K3koc+z1XAeXiOE8ATvPTJMmgS+2rgrH6fHNZ41BzPNnkoe2IhUp3upS4jbn0lcaOEfr aKaEAk/YtqTlAkhfiun75Mx4RtJcYaCApo77D+LygSz+TbnRmL8PSkN8M7Xo51EYsn9x wWLNMRuZa+j+pHnZBMuf4fLDvzB7id/GO7Kiejqu8kg1nJGymM6+C67ojHo5ulw9bapb eekw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1705701947; x=1706306747; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=JvLEJ5iYwm0j9MPbrk2yPdPy/G2pUyzqxjNRaXk3G/Y=; b=ptRx0UbcchyyqctZuatzl9/12PnlTe+Ql59ZiclHqHfKN12QpwqrbecLBCcqHh+Z6v fWqiARK82TvNF7YtDZ6M6KAMG44VTiuPH4Gueee17EcCQDNE+JtUAt832YOSJB2e56Z8 /d0FZQ0sKmLTvFI6VTyfdwQQOKdW0ths0w4pcUfDAH2rHEjeEXBxP8V0u3GlztLWI8wj 49sgyGDOM6pdID5+cMk5qDZvgEPRNeqqlX/pJH4XbuS2qEYenzYTTKDdCi3sRGw4vtLq cniNqOwtnwYKxslseHjbFuHO9zW+LJjiLNW/gqdq8AWPzwMWN8N1UFrj0G53gi7A24Xp 0uDQ== X-Gm-Message-State: AOJu0YxCfmH1ZRZkw2tCnqr5t9kADViqoNet4MT7t/jYPqQwl239T0qm WwxcW1yc3amhTIEuMTx56X/wuyd0pAAvFnq0nQ2+pN9Qu7e/O8bmjO05os4ajdNneemhHdxxAYr cnHik8/TcaTAJ9QRPOaK/NfdJCjh8p0ppo+cu X-Google-Smtp-Source: AGHT+IHSzp2BR8nz8aHNw/3cc3v/4AitTKYLkGTJHb0M2/oimZxTmZymJV4ZqzphJHWWyrrg+1PN3gZmm6os6nhUlfY= X-Received: by 2002:a17:90a:d905:b0:28e:7964:1257 with SMTP id c5-20020a17090ad90500b0028e79641257mr404465pjv.97.1705701947215; Fri, 19 Jan 2024 14:05:47 -0800 (PST) MIME-Version: 1.0 References: <20240117-zswap-xarray-v1-0-6daa86c08fae@kernel.org> <20240117-zswap-xarray-v1-1-6daa86c08fae@kernel.org> In-Reply-To: From: Chris Li Date: Fri, 19 Jan 2024 14:05:36 -0800 Message-ID: Subject: Re: [PATCH 1/2] mm: zswap.c: add xarray tree to zswap To: Yosry Ahmed Cc: Matthew Wilcox , Andrew Morton , linux-kernel@vger.kernel.org, linux-mm@kvack.org, =?UTF-8?B?V2VpIFh177+8?= , Yu Zhao , Greg Thelen , Chun-Tse Shao , =?UTF-8?Q?Suren_Baghdasaryan=EF=BF=BC?= , Brain Geffon , Minchan Kim , Michal Hocko , Mel Gorman , Huang Ying , Nhat Pham , Johannes Weiner , Kairui Song , Zhongkun He , Kemeng Shi , Barry Song , "Liam R. Howlett" , Joel Fernandes , Chengming Zhou Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: A0801A0011 X-Stat-Signature: 5dfh49x8ox77u4ybwz7ych6zdhk7hg78 X-HE-Tag: 1705701948-820147 X-HE-Meta: U2FsdGVkX19O87gLBlJwHAjeOMRmOHWtzaySuwEX6qGxZwo4T8H1dyN6jw+YEEZW9Gwd6WTki730Sjmp0MDzFo+o+7I+byiKd4U7KMggMfNTrVogS4VcuqwMrLPlpzgrA3YuKYSVjggj4Mg8kq9YTjibbL7175OfXZwzSKWEX5hKT/qbGbBNIefaCznpIh0nBY7O5YB9IlToVs+Bd9Ik1KcuZn4ZmushFBJupvb+K+jwS9sDr+zv6ZTku3F4bg4upNvjDDgfIiImTshOLFA7qs8W9KCm6MF0Po0gCXQpoSF9R/Yqdctgo9+3kewtmAf6XtB2qUF4BbTCSb9qMCtEdr9yMKJq/3D6ruBzCC5FGC+1U5hen5e8unJoPqyDDiH/Oqh3uvOQSqVbBvULwh6BrOYr7iav+QXNgjro7wKzz8c73huET12GHZrHdFdB/o8QMkqj6dryJPdO0R4g2AOvfOLq+hcv+KNeO/3foBL5Sz6RV3jfAuGEJO580IEXQi3o6BhotEMuN6EWrI4Rtgso84sWln+QB2crvF8cwI3vT2+wMqpon8IkSJsysdGXkfmOQBp1YsCLkwnJh+rcHuOtFNwYJQbBQ3HGXVQ+TC1cejQfczy3Iil941DpKzMqouC0xb9CGOExqdevXHi5ACHXY9v8YCN9wl0uE22T1WYpJEAz5OgyTz1tpj/dq+ed1qcH6Wr1VlSq6Mf3s2czy8K2LvFjsAOak6lqx8ZRI7sXCLH7uhgDgJCCSl2/tDftstHMNM6gdEnH44g2wC7bMb2hIuRExMvoO/t/cwcKW4W5gHu+009JWS+wuwDXvUZue2xdBHe7Sl/mVQyDyjYXQKYLxpPP/jn8NFHabzH98Lcn3031b5K4ITkRRnGLG1mDQXdTKHuAHTcp7DXqx7XuQlRyENdrcg8B5yLoO97I1DaW0k78xrQuu7Jno5/O1JuWCDytDYfGerLZFwKfIlHRPrH Voox1vTR BpyvzjSMEuCX13o2gW5hntk6GYS0NFFkA1lPcQxVpFBCLyndTxJjhc6mA9+1nTIH2prVQBvZvLom/KjSMgfV/2Jr9aPhem+g3B/uL4pytxqz4KAnYvRBIyu5tuhoWU/VbXdmCH+nyRTL3jf7j12eSGU1aKTdH5ByhYiVpCdl7Qh7h1QkVuMsw8i3gQg+SKEyGeMlBdVf58lTjAQe7WBqdHxhaB4sYnjSYuOag/7G1N3RYIi0qlsaVw/uQYw== 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: Hi Yosry, On Fri, Jan 19, 2024 at 1:41=E2=80=AFPM Yosry Ahmed = wrote: > > if your code is naturally structured so that you delete the entries > > after freeing them, you have no reason to call xa_destroy(). > > Thanks for elaborating. Based on this, I believe doing xas_for_each() > { zswap_free_entry(); }; xa_destroy(); is both closer to the current > code structure and more efficient. > Can't do that in this case though. Because you get the RCU read lock on the tree. Other threads can still lookup the xarray (also RCU read lock) and get a pointer to the already freed memory. Chris