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 BD15AC4828D for ; Fri, 2 Feb 2024 01:11:48 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 487786B007B; Thu, 1 Feb 2024 20:11:48 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 437766B007D; Thu, 1 Feb 2024 20:11:48 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2FF7D6B007E; Thu, 1 Feb 2024 20:11:48 -0500 (EST) 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 1FA6F6B007B for ; Thu, 1 Feb 2024 20:11:48 -0500 (EST) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id B831FA0E52 for ; Fri, 2 Feb 2024 01:11:47 +0000 (UTC) X-FDA: 81745086654.01.12B64B8 Received: from mail-yw1-f201.google.com (mail-yw1-f201.google.com [209.85.128.201]) by imf12.hostedemail.com (Postfix) with ESMTP id 0E3D240007 for ; Fri, 2 Feb 2024 01:11:45 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b="Sdl7/SCO"; spf=pass (imf12.hostedemail.com: domain of 3UUG8ZQoKCPg3txw3fmrjilttlqj.htrqnsz2-rrp0fhp.twl@flex--yosryahmed.bounces.google.com designates 209.85.128.201 as permitted sender) smtp.mailfrom=3UUG8ZQoKCPg3txw3fmrjilttlqj.htrqnsz2-rrp0fhp.twl@flex--yosryahmed.bounces.google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1706836306; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=5wTI5por6UkHgJmYtmcJhLkhPMr6uJPPJ6ylUKRgo0M=; b=Tcl/iqSsYEInBpiWrcDESBJR/2Nt7MqsxruaQTVIqErAcmfKUNzXzeYTRD7ujsMBbExAhx eHRYs2CX+aaKx86OWNuRANcx5Eh4GbWlwE81OqzBTChYoQH1YbQw4ZxZ+bSefad7n45LIj 4i7X6gGacuFRck5MGp3g4lguA6oEe5o= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b="Sdl7/SCO"; spf=pass (imf12.hostedemail.com: domain of 3UUG8ZQoKCPg3txw3fmrjilttlqj.htrqnsz2-rrp0fhp.twl@flex--yosryahmed.bounces.google.com designates 209.85.128.201 as permitted sender) smtp.mailfrom=3UUG8ZQoKCPg3txw3fmrjilttlqj.htrqnsz2-rrp0fhp.twl@flex--yosryahmed.bounces.google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1706836306; a=rsa-sha256; cv=none; b=EgwZN9h9CW4DRzR12T58cT+1s6HDcHsGSSByryLWWxriF42hl/O3TQNEmLCD/jBUtRtlh6 zqjNNZqQdCjTUV6PBTSIt+6T1Rv/gafCeS5q2Wo3CZceweoMQaoel0JXwB59+63nP9hK2c 7JboXFZqDwILOLAn5DEMX3islGNEusM= Received: by mail-yw1-f201.google.com with SMTP id 00721157ae682-6041bb56dbfso22733887b3.2 for ; Thu, 01 Feb 2024 17:11:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1706836305; x=1707441105; darn=kvack.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=5wTI5por6UkHgJmYtmcJhLkhPMr6uJPPJ6ylUKRgo0M=; b=Sdl7/SCOr1COtzm1vl0PQCQgiV0H6amWuIxWqwh484B53XJivB0fedipQD6UN/Xf/F Cu3T80jNUpUtoImPpc7pm98I+K+8BpCLbtsrMFia+wzkaTEFHU/18vCGvrBtJp0mf2BX 8m/SoOXvkX+3iHaZzjYpnB4YTDHHDVD1BWCW4b3r/9xtQliRSxJrTERIrCydSm+jO36F QLQ5YwNKVc8Y4M1zn0LDLofnMcKxDxzbNjTyh0MWlFhrtyWhDPaQc0h34E/ZoPl2ANlz ALER5U5rPKJdHidbp3OcBuIsvj7dZO4an2qOFkoWk5N8GJaLLHLKflZHcuaHQw3Ex430 BwEA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1706836305; x=1707441105; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=5wTI5por6UkHgJmYtmcJhLkhPMr6uJPPJ6ylUKRgo0M=; b=EVIgapsckeYZqGmDQVhG0fxqC/zOSRWWwubSDfFDF93RWE1xAxn/WXe5vYUMTHxEF+ 9cVaSg53XZtv4TdW7z5LrHpiK/MpfqIo7TDPlbS+mNBbz5jWh+aUm4bzx1TwpnZWGR+0 I21+jIURTj+WL2Dsx4xzLjwRPCiaPFW5XA3AwXd8CnbyGz/nwG13Ggw+lhTMQGoMpz0W 4rnR0APs8aPEXwewga5xYT+Ao5P3F3uSuOw6E77FH5V/OiAqRKoS4q9dXx5fxB7Fpand hvDsstLwHI77Rc+iOGeYM1aFozNyYxBvS1m2AynHHE2kZXpNfrNHR+hDhldLAtsDL4Q7 Jlqg== X-Gm-Message-State: AOJu0Yxszd7NgPSS8h+OugEQrGPoLfabCqDpnBNTNBQVCpGRiuePcx1Q 0mvIEWXPPPbOMzAxRA9+LzMcOzQEZYVkQ8vtexP0jhvipO+MGmy/1QRLKvHmn+m+Zo0KrfasLJu k+IvhXCrIVXYCRKvx3A== X-Google-Smtp-Source: AGHT+IGdNK+C7pghP6+H+HztU3yyWwYdjHBtYqFFAZm7I9D1rud4Li3ClrDAMeIUq4i6P+9+h3i93CnqrW6Ix6Pj X-Received: from yosry.c.googlers.com ([fda3:e722:ac3:cc00:20:ed76:c0a8:29b4]) (user=yosryahmed job=sendgmr) by 2002:a81:4c14:0:b0:5ff:a885:65b with SMTP id z20-20020a814c14000000b005ffa885065bmr665836ywa.10.1706836305085; Thu, 01 Feb 2024 17:11:45 -0800 (PST) Date: Fri, 2 Feb 2024 01:11:43 +0000 In-Reply-To: <20240201-b4-zswap-invalidate-entry-v1-6-56ed496b6e55@bytedance.com> Mime-Version: 1.0 References: <20240201-b4-zswap-invalidate-entry-v1-0-56ed496b6e55@bytedance.com> <20240201-b4-zswap-invalidate-entry-v1-6-56ed496b6e55@bytedance.com> Message-ID: Subject: Re: [PATCH 6/6] mm/zswap: zswap entry doesn't need refcount anymore From: Yosry Ahmed To: Chengming Zhou Cc: Nhat Pham , Johannes Weiner , Andrew Morton , linux-kernel@vger.kernel.org, linux-mm@kvack.org Content-Type: text/plain; charset="us-ascii" X-Rspamd-Queue-Id: 0E3D240007 X-Rspam-User: X-Stat-Signature: snigkmtyshtctbuysyabqfmrnmnd7ah4 X-Rspamd-Server: rspam01 X-HE-Tag: 1706836305-998960 X-HE-Meta: U2FsdGVkX1+JFVN9Z+kG8fCcUx4Bka3qToK+RvkYZ5WITymL1ygLKdOKtyyuTYepS0HOqKkf6brn/Kc8xSWCfyu090p1JdL6rz7Z2DlnAHrhzri6PbvYL4vHEn7MVaST0d2zJ9oGot1cpRVsv6e4P07izHkSu02tlZnWEKyt9QUkkE+1cv1HWoNeGcA6pPo4dEE/Me7tctziKLje3rScOV1Og4jhMRNf6B2DOI22FEe8bbUZfrdF2wzQB0SgG6QZyj1AABsVTqQUL1UHp31PetK/qEKFsx5yEY2MLhVPtKCPt0LMuzoBqb7efbxmZ2tHAgXVQGwYzMAbWu4pI7NyQ6TEs/idb/Uj6E6NySSnqE/DFAkD3CdGoO1Cs02VF3ZAJEREfVAA/x9ep/VbtreuU2CnMPs1Vu9dgjzER6hVyVWYa0CRYklTguca4jryXRwUROYD931+26MALCzCoR2JzK45ous2XbfDREs/XvyMecm6TViyMxPMEaeMGhLunZke+Grx/6F+GXMGUqJ+CeebEBGGQVbf7T9Ojm5v/d/v6Pc2+wxX4peiAmEmF6BZsJVlbsRqULP8Mt0KXOgKCQ+SMsTqTP2wcBqTAVB6WHo4qX+wiRAGUYeQiW9EBLIXkb9NbpuQ2ZjcGu+tQViyWw0pCOW/OJe+L4dP0bRtruG/rpQVwgjzU4ANhLZAh6P3YxQ6V9Qp2lbLgTdriXAtpn7EBN24oLoGejrOfSJB+KosCqGcNpGEGM2JEGua0HtAKVTnJtQyKJa1AKT/ltZlXVjOkomPkUa984odstPmRvnMeWgllD74DNPl9PBk00poKmq3frrvAXDqz7f8NC3PEoNmD6ceHF9GOq/027tKiYXNjdaWK1045G32AENqPLL1Ml/oh1vWixi3oa3B3jkjzsIbdw0e7SfKP0mnIx8rMHKUswWOi8/7q0lum6/HkNcERGMEFcO7pwHAjCgD3XhQHtg mLdRPLdq pnuw+Nx6wSzsLDAxuHeEPnEX/6NNPp3Z7I42Kjsftw9TZHga3GeGj6jPjerISLzUl1TDAG6HetsETNsiHGnG1WX/gcINDpizB4s14lQTAYVPxMAQjHKmvaKUj7J/SgXB/bvKY5cZ95ByaP9Iv5J3pqBHr76MmewqnH+//xrvdfb6Bw4MnP8H8Gv8088J4dfvWcsshTDMBlvi3uqrjEGtM3iIDyRfoI9EzyYMyh6pOeAXGaeVaV6LrNRwreCfRJ5c5sr9RFK9CiPgCRebVVbdz1ElmERWK337VIVr0zl7Gfqq5fYb3+pnAYm2LXJtHhMBtKWnSW4ulz8OgMDEL+htdxG5kEHfi2mNfZKfaVmVd/+YN/t8986hweAB12o5QJOEcrqNLKDCCiEYSwdXaFIN2aQq1yYeuaDlQwd2sT+QMdxWTSGnHv2kH6oUJr2HfI0FuxHKWWhsuIqlDCrUS5irAmUHqrAVsq82OM+fmq7fgyAbRiNiywDvHZfUFlxrUt3mlHs9HlAa8SpTHXWK6WUhtMIwhE/QjiIjVcm/G2zu2djcP7eZKLeJuiQiQ0TEr3CtWz9udjiwiq7NQk1IIT6Q9NaMJjsoB822lGILffaqwhcuPKBc+iq5CBuBbzc8KMNcON3LlZrkYmY1zd2CQBToD/Ov+62uY7HF6+WaG+usi0mrT6zE= X-Bogosity: Ham, tests=bogofilter, spamicity=0.006173, 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 Thu, Feb 01, 2024 at 03:49:06PM +0000, Chengming Zhou wrote: > Since we don't need to leave zswap entry on the zswap tree anymore, > we should remove it from tree once we find it from the tree. > > Then after using it, we can directly free it, no concurrent path > can find it from tree. Only the shrinker can see it from lru list, > which will also double check under tree lock, so no race problem. > > So we don't need refcount in zswap entry anymore and don't need to > take the spinlock for the second time to invalidate it. > > The side effect is that zswap_entry_free() maybe not happen in tree > spinlock, but it's ok since nothing need to be protected by the lock. > > Signed-off-by: Chengming Zhou This looks like a great simplification, and a good motivation to only support exclusive loads. Everything is more straightforward because every tree lookup implies a removal and exclusive ownership. Let's see if removing support for non-exclusive loads is agreeable first though :)