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 466F8C4725D for ; Fri, 19 Jan 2024 22:08:47 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D39E46B0085; Fri, 19 Jan 2024 17:08:46 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id CE8F16B0087; Fri, 19 Jan 2024 17:08:46 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BB0856B0088; Fri, 19 Jan 2024 17:08:46 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id A86176B0085 for ; Fri, 19 Jan 2024 17:08:46 -0500 (EST) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 7792DA24F1 for ; Fri, 19 Jan 2024 22:08:46 +0000 (UTC) X-FDA: 81697451052.08.4D3BE96 Received: from mail-ej1-f48.google.com (mail-ej1-f48.google.com [209.85.218.48]) by imf08.hostedemail.com (Postfix) with ESMTP id A8B3C16000D for ; Fri, 19 Jan 2024 22:08:44 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=oyGdh+6n; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf08.hostedemail.com: domain of yosryahmed@google.com designates 209.85.218.48 as permitted sender) smtp.mailfrom=yosryahmed@google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1705702124; 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=Qbi1G6F8BUFvl4DD/h7+WYMvisIsLuju9f0daY5rOe4=; b=QSCHs1EkKdxeHXSQ6RmcwPM2BmV4b9XYxEiCkB1aLmHgPsEWiZUCCq2Z4rOTwlIUkOmjyA JIm11ZAJu9+L4v4+SQjPQshYIblu6IzGeX65U0nvU7lCe2AI3j1gCrCmjAUn5HXDTyC2ZO mWsr8J6TcR/jVcXdklWFcF6v1oTAkxA= ARC-Authentication-Results: i=1; imf08.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=oyGdh+6n; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf08.hostedemail.com: domain of yosryahmed@google.com designates 209.85.218.48 as permitted sender) smtp.mailfrom=yosryahmed@google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1705702124; a=rsa-sha256; cv=none; b=qjbp7LIU0l/Zae2LwWUiCKz6Zc2zENt/n/MwglN5O+9Ra+T2KGBDvVAp10oYReK640O8wb QjMAJlB6DqIf6CA5spUHNlMk7SFmzUQMGR1PrAIXmOehOXId8k9y/aQywOCpMjfjKLNhSN nzXpfZyxloHwMP1kyF82Er1Y7KRPtuo= Received: by mail-ej1-f48.google.com with SMTP id a640c23a62f3a-a2dda9d67ceso153054366b.3 for ; Fri, 19 Jan 2024 14:08:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1705702123; x=1706306923; 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=Qbi1G6F8BUFvl4DD/h7+WYMvisIsLuju9f0daY5rOe4=; b=oyGdh+6ngUUWBHddQRTgEpLU5JMOcj4FTaBdc9XM+ynvDsSvYixFqCCW23ITfFTBRS F+sEQpGKWc68a1ad55wga+Bl/A9P3fbkWLS0cx2bQn+Fc/H3MIfPYR3JzzxEGbruoF6s I/I/1Xh/uaE3FDK4gcXcjBc2mm/LdR9hcPGmk86NbOa27CFJh5FoNo8YD+YJNARk/J41 hjf7nZ7rx7J7zgJVhLkF+8wFkhUPk1AwPN1ux5aoiTh0ZPRhLQwm7T5mhnD95mN0lJXH 8M9c+o1so9CET5lGDbbslxYnGT7ZhabU1ltc6JMzcd/dWUR+GuOCsampDynw5VTqiie+ +wjw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1705702123; x=1706306923; 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=Qbi1G6F8BUFvl4DD/h7+WYMvisIsLuju9f0daY5rOe4=; b=tKtxg+0nhoaaBaZx83CepWtOa3q5uGR0/4MBx4tq1zHk16EJ+hbkPwQg8DBLzkoEM3 DBR22VaGMPRoAYhsWrc1NTIPAVbRPN27sWk96C55nQW+DZp75EeLHAk10IAAghCj7xDN wvRwf6LNl9TU3Yzun+831AlJERUYCLOoS7wJx890j/mzFyp2wOwPyR24IdCcstZq46u7 P5CdwElk2BklOVG3fdCobkqYdsM+Il2PSdA4FRKgWgBs5hMFdZSaaHhqK18X+KvKnSwM 8FaPwueuOJqncSn5mwki8lj2JxvCWYXAOohU6rsdSFHM9d2B4/Mt11q9042vYzAwyU3R aQbw== X-Gm-Message-State: AOJu0Ywm6DP3WXMJ92BEMzuab8CVE+D3uWyF57CnhT/rB8p5SEONIRvN LiJ0MNHqyLcpi4x11WiB26T45NkBBFMXhMhecmlw4DMePrBXDJrghChB+ozjPQJiG4Uhvih0x+T +1R+dfX3mpc6cibAZbZXWBrJHabJbKXS5ppKl X-Google-Smtp-Source: AGHT+IGONCOvMnuFAD7rG72w0oyYlQhTNSLHYjcvFhVaVyuiDcnkqYf6cR+YO+/Ym4kJDQfLohY/N9ODdz3qcYsUS0g= X-Received: by 2002:a17:907:2812:b0:a27:f465:298c with SMTP id eb18-20020a170907281200b00a27f465298cmr227334ejc.124.1705702122995; Fri, 19 Jan 2024 14:08:42 -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: Yosry Ahmed Date: Fri, 19 Jan 2024 14:08:04 -0800 Message-ID: Subject: Re: [PATCH 1/2] mm: zswap.c: add xarray tree to zswap To: Chris Li 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-Rspamd-Queue-Id: A8B3C16000D X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: yfx5aga5j756sn51fxe95euwhfuq858m X-HE-Tag: 1705702124-447831 X-HE-Meta: U2FsdGVkX1+TkXAgb3UqFvj1TpwT5lDnXJS23GSN/8yzhVhzZxmZDzp/kPXvPFlnZ+j45tybgTrcs4ceWEsbSNg8/M/WJSwiSv1/JQsGDabc3rqLQ5MJG6gQhh8Mj2fWPOf4j7D01zhECh1xfjF966j7hG4doJXiKYvvql4Hoy/TG7dufDbPkY+WDzG8oTp6J5OQ8HHC/Aig5py0L7bk2G7bwlpQ8wlyFTOyrwfx84Au6ANaFuvezYAxuvBo8AI57Y8zAELO1PI249sc7jH2FfYaE6CsBFAID0+3gRxQ8DT1hn+QD1E0HkWKWxIETPQedoGQmgGh/HBwLp76rll7nZsS0+kZf1iikdDMd/uV9yp0arXo41Nj/uzLTC5OzxcesFpGIde8BsBMY4XcgW5knHIYKErpfrEX3F8uIXMB3oF5THYMHRaUjY4a0EiS9bc8fbZeM/dph8kt7JAHX4lR60bAxIyA0TfDrc0jwdGQGMlRJVZzNI55QofmStKvj5V10fBXLidw72jhCMN3EmIN/dyP1Zu3gkRWHJToOD9KvB+CZCv4lKSpr3LVHs/UYGZPhmVttET75u8gJJPgI96uwzba6rHMkn8fieQHbbJgpqQpdWdYT/mPszDkuYLML+ohVuRFKaxPbrynwQ1xJ1XEw5EO2oUryqeq5EJjRcNn5xL6bvEu7V+q5c80Wf2jCT9GJZNy56FCEDSJ+LTO4J4bA0ik7vphgw2GGSQUfOtMJUNLWK87qB2fP1Vdq6B7QWBpxebQBvq22Ab0CpeEHCnFaVhgwRTcbKs2pVm+P6K3z1QNo422obAW1ONfzfiXg2j2GbS3wJfaUIO82+pBbjR8B9WVJFCwzSfwXsqz0v7UWIlXn/weHW7+LDKubucyfCAonZePAK5cLMgrSqbL0MSTFRbzG3D7Gi2EANof9KFV6UWWQ+tfqJtugBLMI3o7U2WayJ1d6rSyNIgGC37+6MP S4TBqq41 DWkvEYUV3Emc5m5Dg+sfkaJeSiluumYMtXlKeU52OdBUVfEClxQGxH3T5KyVsDsQkGGllVZAS35GNS5LS6752BqFhCGA45626SnwACB+QDvuaWNmtc0HkAthQwAYYHrH2CZDLnckJ/ux6AB4as77mcOkrBJnNeRPrA5EYYwEOE2Rw9ggES7mpyFdk+93HK+V6Rz6AV/72wvRsWXT7h4nhqS/YjNj8YQXKm78DVKc2mED42CxZBQEQ8uScFg== 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 Fri, Jan 19, 2024 at 2:05=E2=80=AFPM Chris Li wrot= e: > > 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. During swapoff no one should be trying to swapin or swapout, where would the lookups come from?