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 CB616D3F2BF for ; Fri, 18 Oct 2024 22:29:05 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 58C466B00AD; Fri, 18 Oct 2024 18:29:05 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 515136B00AE; Fri, 18 Oct 2024 18:29:05 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3B5D26B00AF; Fri, 18 Oct 2024 18:29:05 -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 1C4A16B00AD for ; Fri, 18 Oct 2024 18:29:05 -0400 (EDT) Received: from smtpin30.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id A47D61401DA for ; Fri, 18 Oct 2024 22:28:51 +0000 (UTC) X-FDA: 82688164272.30.E5EB0EE Received: from mail-ej1-f43.google.com (mail-ej1-f43.google.com [209.85.218.43]) by imf15.hostedemail.com (Postfix) with ESMTP id 3B4F0A000A for ; Fri, 18 Oct 2024 22:28:50 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=XTgHN8Ww; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf15.hostedemail.com: domain of yosryahmed@google.com designates 209.85.218.43 as permitted sender) smtp.mailfrom=yosryahmed@google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1729290508; a=rsa-sha256; cv=none; b=Nx326F6VZj4YdrGvaoAV0RibCYeD9q62zj16SgqCzEKqlWAG+c7tAg8iNBA8m5xyKnB4gN vpNP+I6GTITo26h93CyQqxKsIrBwv6M54e4GXciI86FHmCvw3MW859dP46FskqdKnJt057 I+ZLbWEsTulhTArcQrVbMHoBEOJez7M= ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=XTgHN8Ww; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf15.hostedemail.com: domain of yosryahmed@google.com designates 209.85.218.43 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=1729290508; 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=judkw8O8sSJO6cXFyOVA4iO8bRDGeONqQ6yqYjr3e3g=; b=wyN95ACOuTGmAPamdrdM3834hpIQ8+6RfK38nbRBDqivf+951kVYQGyO/IFFRM+9Q2ZBub KMWlQS/Bsq8TGeiHFEbUzdOHVPU3cZgJ40zp8RxtuxnkuVh3um9KxugD14JpryQdrqpT83 QL2Ww5wTCIF+vHLw5elP699oTWkNi9Q= Received: by mail-ej1-f43.google.com with SMTP id a640c23a62f3a-a9a0ec0a94fso288497666b.1 for ; Fri, 18 Oct 2024 15:29:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1729290541; x=1729895341; 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=judkw8O8sSJO6cXFyOVA4iO8bRDGeONqQ6yqYjr3e3g=; b=XTgHN8WwD0mlDW807W8rlCqBxUdzIRgM2eQmj5GlottsDzgk8i51Ff9/58j0Vnrea8 XA+648C2ZHI2nT86AiOZRTOL5Ws6sMBq2/RpZ3jUxnDqP2U6ITHTJpOwqHEXnTl0242k nIB4MaYtgen5IKMfXfX/6iDsl5W0frHNnYLBy7W9iZwcdTuluv6lc3HC1K+UgHGnpxhY Jh8mrFO7V/ZYoH5aYKVXcxjPe7r5lE1RyNVQHXppjkNEv0YoI3s8JVpBB8NKXwN5xLGz UmlDEBzsb7NR+O4+9EzEBCQu8iphKawnTfNd93Ep+qKATT2PvVi5pHx+uWdje8xApAmZ 771g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1729290541; x=1729895341; 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=judkw8O8sSJO6cXFyOVA4iO8bRDGeONqQ6yqYjr3e3g=; b=ckrwtBJ/BblduTAS/9hwQfwDqZFX4sapDXZDMz2Z5OuWTsiMPkO/g9Z5Ptgzfj5w5H idJTaJeioniqfEPmhCLrV7NQU2BbfqAyEmN8t28ED/Rd8AAqWlNRZh7MIfbjHyTWnNNU tpeo5h4tdUSH3lwL/5HJoClCd9JmXJDBQGOpG7uz50v8AUgGlcRhthCH9OBy/xDnGk+t m4ZTMxM+A0tnbyt2GFvxjESFqL84OABbguVeFnB2CnuDb6+pgRLSFMmNUbZMNBOBX13h 6rulp8nP3fBstHxLkLQKbWZDEwkjTLXNSDoL+vz0mHwb87cFZWh/KDrce8KCcqpDnw61 66PA== X-Forwarded-Encrypted: i=1; AJvYcCW99Lu6AM7Zm4jDk2nGi/N2wccSoP3DwZQT/CfbO/k3Lv8F5wkj3txboL4xSmBZGVcXFBmcVBvERw==@kvack.org X-Gm-Message-State: AOJu0Ywba6kz4igsQYC45a1CbMGgtHsm00D6FxHvWvswmByAL24d+OyP eTt/M+KxLOEwdnpSp7eOnwuKgvS/nfyg0ddoB2Ml27eEdeqcia7U6DTY17y0PzRGiis9JuaWzXd SSw7MQgkKdw0QWv/qP1qDZ51re34/5Jy4Yt0n X-Google-Smtp-Source: AGHT+IGOgAJ6LnmbnDiKfkl9xZZzFY0FfHd2A14Wx40MUuYwgypPAjhNEqxQhhHeA4IFlxGcQ5lTjOCrHCkyWUwCrao= X-Received: by 2002:a17:907:980f:b0:a99:fa4e:ba97 with SMTP id a640c23a62f3a-a9a69bad21fmr340098166b.39.1729290541002; Fri, 18 Oct 2024 15:29:01 -0700 (PDT) MIME-Version: 1.0 References: <20241018192525.95862-1-ryncsn@gmail.com> In-Reply-To: From: Yosry Ahmed Date: Fri, 18 Oct 2024 15:28:23 -0700 Message-ID: Subject: Re: [PATCH] mm, zswap: don't touch the XArray lock if there is no entry to free To: Matthew Wilcox Cc: Kairui Song , linux-mm@kvack.org, Andrew Morton , Johannes Weiner , Nhat Pham , Chengming Zhou , Chris Li , Barry Song , "Huang, Ying" , linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Stat-Signature: n63gp3r4z39ddswh58qifmwk53x3jfd7 X-Rspamd-Queue-Id: 3B4F0A000A X-Rspamd-Server: rspam02 X-HE-Tag: 1729290530-987176 X-HE-Meta: U2FsdGVkX1+cXSej7sNOq48h7bP4m1ARyP1ckN0qnyhi5jFtI1e1AohcR+uLhRTlqPfGjqc+v5xWzNnJ9uVR+wa4wY3rD7mhQd6gmFvqIgb+3b8rWkVvYmyTb7tJmdf4NYzf/cVQ4+QprTTSCxNIJCqu+HvTmQMGA7b3/bf/y1np+kcYhYwAWwXBgzjqmeX1rX8dF6T3qf9d1Ej1uG9r0VnUWVjrF4ci6kNWZPMbEtTlsmWcEYtXUanbJaqyIvds93lQDXOfiGgMUZ7LoSj5+6BTG7Wkwlhyq2bWQSzlo7I2OnFN/3fYhTiIyGOXnXEHmBqU67sZZ4cnLtj1abu1S5DbS0oLsWuF1lfT7vBCBpPg7wRkTKIKBxgNBiRR+f064nwlCJy0KEQY96JJD1SiWh0yJcEqBIuHOxWi9+2JUER28QzsbIHeCQSHqYQ3h+YVUJxgY4wrHwtADI3COOKwiTjWXkh17YWrPLJmf/Ge3vXvVi+XJp1Q+AObMY2ep8BqsckH/vsa2MOpMYwhH3NpLWOyZHXlkSybEzDMMH0ECAjO4ILzIHXq5B/K6tmWKxoyUpd8IwkDbdYwtdUy3RGuoqwGRemwNWL7Abo2nIdPuNKRhnD+nX2DaRxS6HEvYcABYkuKyGbvWZQhWeSOHgFPuFU2VujiDO7AKUGVidQPJeHo4hUYdkapITQc7t/Yg/tILktvrXNqdwJaDnAxAUaX2xVztbfN951q4WeOv4PiymWVBvdX1VeK+DSO4RQkrbGVzd8LgzVzAUGMaGK15yUvyO606eldP2EKGKWTmrzw8yz2zez59Jz85xoPdLVRCXleTE45WYhbSsUtKuvU1TdsZyRYpNhykszsMl18rdPWyUFbXAtfAi1dl1RF0pGJwNEPFVbYQW8ftykencehz2Vhv5gBxWEDrkaB0ek7h7/B1m4BdIPlZQqme4dH2StvPBJ5bl7IUQpDlnzLEJYbdy/ rQ/cK80L EdQyUvfMFljjFCG20MsJPrMCTE+oANkVlVd4nxAZAun8l9gkilrHW/A0X9G3pv69hANn/WEZRQhx6g8Tr7Utw9oMeiONEt1chQFyfEgeso2zJridgduSy51JaGfPqt1r7IQtKoXzMu1+6/GOgitOuGIz6TsUzHcXXGtfIp3Wq/YfMFL7ky4vgx/n+LjEsSduWLrMnMyMZNmLxBnvQnCyuvdyBu9KUwEsSzKlHR0mu+nWk/9H5ExH1KixzVErgmyHbHh9vwDpLbwqxXu70T+SCgSqm1Q== 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, Oct 18, 2024 at 2:38=E2=80=AFPM Matthew Wilcox wrote: > > On Fri, Oct 18, 2024 at 02:00:16PM -0700, Yosry Ahmed wrote: > > On Fri, Oct 18, 2024 at 1:55=E2=80=AFPM Matthew Wilcox wrote: > > > > > > On Fri, Oct 18, 2024 at 01:40:18PM -0700, Yosry Ahmed wrote: > > > > Oh I thought xas_reload() is enough here to check that the entry is > > > > still there after the lock is acquired. Do we have to start the wal= k > > > > over after holding the lock? > > > > > > Yes. The entry is guaranteed to still be valid, but the node you're > > > looking in might have been freed, so you can't modify the node withou= t > > > making sure the node is still in the tree. We could make that cheape= r > > > than a rewalk, but you're going to need to write that code since you'= re > > > the first to want to do something like this. > > > > I see, thanks for elaborating. > > > > Could you confirm if the current patch with the xas_reset() added > > would be equivalent to just checking xa_load() before using > > xa_erase()? > > Yes, I think it would, so it's probably a poor tradeoff. Thanks. Kairui, please feel free to drop this or if you want you can check if checking xa_load() before xa_erase() helps.