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 6D64CC4725D for ; Mon, 22 Jan 2024 13:14:01 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id CE7216B007D; Mon, 22 Jan 2024 08:14:00 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id C97EA6B007E; Mon, 22 Jan 2024 08:14:00 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B5F446B0082; Mon, 22 Jan 2024 08:14:00 -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 A77CD6B007D for ; Mon, 22 Jan 2024 08:14:00 -0500 (EST) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 2EFBCA0A01 for ; Mon, 22 Jan 2024 13:14:00 +0000 (UTC) X-FDA: 81706989840.10.A2F5818 Received: from mail-pf1-f171.google.com (mail-pf1-f171.google.com [209.85.210.171]) by imf22.hostedemail.com (Postfix) with ESMTP id 56B55C0003 for ; Mon, 22 Jan 2024 13:13:57 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=IyTwyZNE; dmarc=pass (policy=quarantine) header.from=bytedance.com; spf=pass (imf22.hostedemail.com: domain of zhouchengming@bytedance.com designates 209.85.210.171 as permitted sender) smtp.mailfrom=zhouchengming@bytedance.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1705929238; 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=S9m5xL1UcAIW5Th4J3nWvbXTBdcQrCpR+emEwkfnp8k=; b=L1euLNK2XR+t4wZWSbDFa0t50+F2C58VGwC0haMiePqa1k+9uCwadCKHuZEc8IDDGe05v0 xc20sdcJItZ4oQ34Y4ZOQ4baMbQiznIQJtxr9Jir0rlRvr2J1y5Dp4fPx9OmnJMkiciN2Q fFBSHyo98m+/bk1pYF8PSL3F15VxKGc= ARC-Authentication-Results: i=1; imf22.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=IyTwyZNE; dmarc=pass (policy=quarantine) header.from=bytedance.com; spf=pass (imf22.hostedemail.com: domain of zhouchengming@bytedance.com designates 209.85.210.171 as permitted sender) smtp.mailfrom=zhouchengming@bytedance.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1705929238; a=rsa-sha256; cv=none; b=uUI7tQY0hvRwMFZZfWNMjBNFu5OfZ7mQTqiAMza1ih1yyv/K/ny4eL2c5rHvFBONBR8EPU 1f3M4SEuQkhHkMnnmxepcbdvXiLyadIKIJciOfoVLu5bSfBWrMNgrVTiDx8bvnpXiucV4b vkTHNz6/5c2hb1a0UF/t6zC25t3gcvQ= Received: by mail-pf1-f171.google.com with SMTP id d2e1a72fcca58-6dbb003be79so2769482b3a.0 for ; Mon, 22 Jan 2024 05:13:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance.com; s=google; t=1705929236; x=1706534036; darn=kvack.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=S9m5xL1UcAIW5Th4J3nWvbXTBdcQrCpR+emEwkfnp8k=; b=IyTwyZNE7P/16BFaaUwh/xzVGbvyTJfvXrGYhiK8rZfrSoi8TT3XqdSKc+zKSRJLvQ YcWrfsMLpGTW6Tjpwu8fYX7aSjfYpc7Kr5kSafMU8QiTtNGuXs2nmIkDn8aHCTHh2j7k KaSNg60wTVc872rzX50Hi2TK5LzdFVm+fa/4izL03n5TTXrKVh/iAiBa6Y5V9PvBsHRO c2skNKrvsOLl1+mhxDiOb+n59HmnzCDSgaEUpuYu4ozhrUCX7YxdX2vA57/4xgMFaFlS 1Sjz6VwlZN2Y1SYqG4sBxzXCw3Ke6NqJ0bb1CAePrpfvyehl+t+hlASDSU0LEhl3cGjg 11Kg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1705929236; x=1706534036; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=S9m5xL1UcAIW5Th4J3nWvbXTBdcQrCpR+emEwkfnp8k=; b=TTh9/zTDju6KmVj48lt16q0LPCkj9wlkQp4a6KCQDUSqeaVPbgklQUTn1Ew7LTCmXF pjV6h4eRrvMJKKWoMNUcgAvuyrV1oX7YyK6qT4JxV1NauTWK8eaAmNJ6thevoDgLIQbr eCXvKqTJ/uugUMkK/Y2Y8k341J+FHJHnYWPh5LwLrchZZOm1Jp3VI7WlvPP30rIuwgsY AYY43Ptx8vfMZzNDfVCg2U55NrRoR8qLUMfM/4io3fa803MIHuhKvf7xr4+81JusHUl+ T17ZBRNQJMkq3soG7Jw9GcucwEubGTv/S873HlOxgbPPq14dT8ABEPPqffIUUKW7kcfS 3lQg== X-Gm-Message-State: AOJu0YyrmHGcWMoB8tWtWYpE/7Z3jLIU0DV8AMFbAqAXKlMZnEcepWqo noCFjFSVike/mKkyFDJUClLCqN/t2zzu93u1Gj1fJzGTXBcE1mLgRVEcEzXh/cM= X-Google-Smtp-Source: AGHT+IFputq7UFFL827FFoI/oAfRWz79uIU4OBZSmCcoJo+oNBqN99aJWqv0U1ox8jhqLMyo/PvaTg== X-Received: by 2002:a05:6a20:9599:b0:199:84a8:9358 with SMTP id iu25-20020a056a20959900b0019984a89358mr4277279pzb.45.1705929236011; Mon, 22 Jan 2024 05:13:56 -0800 (PST) Received: from [10.4.246.34] ([139.177.225.245]) by smtp.gmail.com with ESMTPSA id lc9-20020a056a004f4900b006db105027basm9507610pfb.50.2024.01.22.05.13.52 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 22 Jan 2024 05:13:55 -0800 (PST) Message-ID: <5fa2bf99-3c80-4196-94e7-af8c1591acdd@bytedance.com> Date: Mon, 22 Jan 2024 21:13:49 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 2/2] mm: zswap: remove unnecessary tree cleanups in zswap_swapoff() To: Yosry Ahmed , Andrew Morton Cc: Johannes Weiner , Nhat Pham , Chris Li , Huang Ying , linux-mm@kvack.org, linux-kernel@vger.kernel.org References: <20240120024007.2850671-1-yosryahmed@google.com> <20240120024007.2850671-3-yosryahmed@google.com> Content-Language: en-US From: Chengming Zhou In-Reply-To: <20240120024007.2850671-3-yosryahmed@google.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: 56B55C0003 X-Stat-Signature: u1aon1kbogeng5gk88of4dtsg1swr8au X-Rspam-User: X-HE-Tag: 1705929237-300679 X-HE-Meta: U2FsdGVkX1+hPDXZA3qLIEDYsNlmiy45Rh+RnUF4Hhig+BgmzSLvAX6qTr2L7r+PX1DKmq9zG4ZL8GsCC6BGXVgADeh/CCzDAm0n5Y3sosuxQSacRMB1Jnj9ssLLYxGTUYS1R5u4K0K95yhmCs86wMzeFyzb9FqfCVkKyAtir2V+hVYi3+hra+OQt2Win/iNz6u69xjoi7J0wYEEa6ibbZLCYIh5UtnBXlTbH1PYa1aQOSLx8i0oi2wm5rdSMS3vryY955rK80CZwZHNF3NK7Nv5J6QBJ+wzNwnVDL+ZM+CaIIvudOd5VVpPZ/l+lEqOL2uQrFamS2VNamGE80r9qAem0XMDp75ln+25DgYLOpXWUJTIHkEoUmm/OxWPgX22ZS9bZO8YTkIve8hfyqMmP1m1hiVWnYtRnZ1zevZXQeC+6G3ZPMxaRPkXEIfCcJVCjbKIl+MdjwORvJxtarqeS/70khAItEZnzGl4rU9xr5oEaKQkI66PvyVKMyXHNtWyMLJ63p70bTLSoPA3gTdT6a49SfPMQtoII0wkPJNk/g56rOU2xcr35ZrmI3oD4I49L50fiTtzz3O6qIYzJ9mpYJljdekQ1tXgZFtXuDHjOYroqmA5gvR/sgYwEFjnS/ybV1ZkYJtFWrzDdVL4/fhWGaTIvMmYf242b1iep7tULWbeHTqBF6JJVjls4bu9K7W4E/Dbq5U3BMOK57UijRI3kjEAX0QR+hGWn7vkuD45eNa5SuJ972rM8p+SUCLjqYLZXrRUAg5ttFnQNFhxPoDsBBda27rzQa2jo12Z+h5TcCNr2iVzeozMQG6uJu0Whv1K7G7pBFAIIibEGU68PZtGYiO90aTyPNfoqz6CO4KKiCSgiETXH4dm5AbH1zsjz58NKMFQcjCZWdPxD8oDIQW5xPePKEw07szm8zOHj7TtZf402zkvembcd+vz76CAM3XtLFHY+Sl6+/fT3s93+Pi Bymfr9gV H1LdI03eQtusMh4LA5oMWC+0QzMvYK/8wxAZGGOKPHdzYTOt/lBDOqBECzJNZ7l2tsLFiPYW50uF1Dw+HqcyHDrWlgH7Dd3E9cLcGXvP5oaoeCkZ5KvOeurFTCc4lgPvcqedbO7tMT1yGe8V7T3dWvKPBEdYuK+01genNFmQHo2mW5DkOoqrgwqzdWJmrHedJlR571QICPIZyJqFQB3ElgFoylMJBbfdt6yWh2hukrJAdhm2tjdWzuUHZpzsDaSHP/X0Vg59GGHxftqlheoClSad77pEEzalooCTOOO7vwGpg2zDn/VYzLzGDvFYdoykx4nNA80b93n7TY/psQGPsqJeA5x0qrnlyVqc3G1VCPZZW60HLnsn41RcIPJ5d9WrOtWbUsWe/DljrKH5mrQv/fUe/YgYsKGw1dTkv7y9njyS5L7V45L5ytE6aRq3O5r0/H188KE/nIly8Z7baVEeKbUt5VDP8lO+alFx8zuAReBWRAsR5hfVGYcUwcMf/gTTmpru6xbNmiDYJhX/cCeAkxhDTOg== 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 2024/1/20 10:40, Yosry Ahmed wrote: > During swapoff, try_to_unuse() makes sure that zswap_invalidate() is > called for all swap entries before zswap_swapoff() is called. This means > that all zswap entries should already be removed from the tree. Simplify > zswap_swapoff() by removing the tree cleanup loop, and leaving an > assertion in its place. > > Signed-off-by: Yosry Ahmed > --- > Chengming, Chris, I think this should make the tree split and the xarray > conversion patches simpler (especially the former). If others agree, > both changes can be rebased on top of this. Ok. Reviewed-by: Chengming Zhou Thanks. > --- > mm/zswap.c | 9 ++------- > 1 file changed, 2 insertions(+), 7 deletions(-) > > diff --git a/mm/zswap.c b/mm/zswap.c > index f8bc9e0892687..9675c3c27f9d1 100644 > --- a/mm/zswap.c > +++ b/mm/zswap.c > @@ -1790,17 +1790,12 @@ void zswap_swapon(int type) > void zswap_swapoff(int type) > { > struct zswap_tree *tree = zswap_trees[type]; > - struct zswap_entry *entry, *n; > > if (!tree) > return; > > - /* walk the tree and free everything */ > - spin_lock(&tree->lock); > - rbtree_postorder_for_each_entry_safe(entry, n, &tree->rbroot, rbnode) > - zswap_free_entry(entry); > - tree->rbroot = RB_ROOT; > - spin_unlock(&tree->lock); > + /* try_to_unuse() invalidated all entries already */ > + WARN_ON_ONCE(!RB_EMPTY_ROOT(&tree->rbroot)); > kfree(tree); > zswap_trees[type] = NULL; > }