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 E2060C4828D for ; Wed, 7 Feb 2024 05:53:15 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 602136B0078; Wed, 7 Feb 2024 00:53:15 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 5B2556B007D; Wed, 7 Feb 2024 00:53:15 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 479A46B007E; Wed, 7 Feb 2024 00:53:15 -0500 (EST) 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 321526B0078 for ; Wed, 7 Feb 2024 00:53:15 -0500 (EST) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id BCF3EA227A for ; Wed, 7 Feb 2024 05:53:14 +0000 (UTC) X-FDA: 81763939908.02.DB2C125 Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55]) by imf09.hostedemail.com (Postfix) with ESMTP id 268BA14002E for ; Wed, 7 Feb 2024 05:53:10 +0000 (UTC) Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=VWuRugET; spf=pass (imf09.hostedemail.com: domain of chrisl@kernel.org designates 145.40.73.55 as permitted sender) smtp.mailfrom=chrisl@kernel.org; dmarc=pass (policy=none) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1707285192; 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=mn8gXq14XAZBLuWVrxGUeNd5QV8jGsHpQPbsz7ocwiU=; b=FcDIeisBZsPQph0IN+E/t4+JhFHoKpFFBtdf1oLWcg1M11btYJ4Nj5i2oY5Fzhv5zDSJFa Crtel0uivA3qrGWptd3/pxK3Z6d4TW8MgVZaIyKN6jwGzB+rzPsTJsB+Jd8HjBy1ryRegx ZPlMNcSxjdkimd2IiWFy8CkMo0zdPEI= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1707285192; a=rsa-sha256; cv=none; b=0cenO86nl5sEQrU9JIhHxRZ+G6XhFWL/OscHqFel9XAgbJavwGsNcFOs+NUzqStSSMHEiS LvZ3TozaBMJ9vaNaLR9YUz53AVCmikuxFOapmqSUOgzw+pKnXVM3BWvTmGGaW7tWRlR1bF qsrAnfRF4+oJA+L2/eaEQ4u37T7KleU= ARC-Authentication-Results: i=1; imf09.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=VWuRugET; spf=pass (imf09.hostedemail.com: domain of chrisl@kernel.org designates 145.40.73.55 as permitted sender) smtp.mailfrom=chrisl@kernel.org; dmarc=pass (policy=none) header.from=kernel.org Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sin.source.kernel.org (Postfix) with ESMTP id B95B4CE17CF for ; Wed, 7 Feb 2024 05:53:07 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8BEF3C433C7 for ; Wed, 7 Feb 2024 05:53:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1707285186; bh=TByPXr7dTrWn79s6knx+N7D+PQY5JFNqw/lbqQ/BLu8=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=VWuRugET//9iAp/Ke71ta5Mw+Tv2qJhWf15UxvbSj0TSVqxTEBbPmHLgEQ+JVkSIM kUFxfCxYrI1riZdm8Ly6YT6Y1s3tC52RZ+8Mlad9bVxVVk/l/31zDlUvC6Rv15MqMf e3ShULMeNqWM2QtQc3gUnQlWIZiiGGuS3/aG5GVbUznOQonCUGf3Gb4EAZmwQZ6L0F fPFqddC1SEczggTj5W5P0Isu67iSGaZf5mR4INZoiAO/4AKlWP9fH9twJzpQK8R/Ya dJYJpvo3qwHPmRT6miGDDhZ7dcQ2pX/yDGuUvNKPa/7sV+XAYFxIIT7J1g4vWO7p3d yyrRvl2OKUOsQ== Received: by mail-io1-f52.google.com with SMTP id ca18e2360f4ac-7bfd0e99154so10381839f.1 for ; Tue, 06 Feb 2024 21:53:06 -0800 (PST) X-Gm-Message-State: AOJu0YyzFdJTiVA2cfzqGsXPukOY2B0AJj0m6/c5wfNijPRt7+VObMPY zrhQLmm6YStdJefkkf93UqyGl5HltmCsE2FvkwXwGOzwbr8s1tuq/EKeeRzFlb6cnhjoIlLW2Ep cse3G6uJ7QkDp6A2fMbOI3BxZOO3HdCPCncW0 X-Google-Smtp-Source: AGHT+IEItXQ2dsvOVA3WJNrIak4YuH04DcNdDXg3J9pUKtIGPzVHGjWe8iOrcecC+5xCvWGBzwk+7+XwjhYU0roWuR4= X-Received: by 2002:a05:6e02:1d04:b0:363:b0fb:322 with SMTP id i4-20020a056e021d0400b00363b0fb0322mr6273507ila.0.1707285185861; Tue, 06 Feb 2024 21:53:05 -0800 (PST) MIME-Version: 1.0 References: <20240207033857.3820921-1-chengming.zhou@linux.dev> In-Reply-To: From: Chris Li Date: Tue, 6 Feb 2024 21:52:54 -0800 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v3] mm/zswap: invalidate old entry when store fail or !zswap_enabled To: Yosry Ahmed Cc: chengming.zhou@linux.dev, hannes@cmpxchg.org, nphamcs@gmail.com, akpm@linux-foundation.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Chengming Zhou , stable@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 268BA14002E X-Rspam-User: X-Rspamd-Server: rspam11 X-Stat-Signature: qs3y1eik8z7jb3uqop87ze7wpysxzxig X-HE-Tag: 1707285190-335410 X-HE-Meta: U2FsdGVkX19mlVfEdIxwjRQjoTX0C0Q+9hKW6vRn38A3zX6rBnUs2ptWkPn9tYtbu5k7mtJKK9CpNFXr2GrpF738xGecRMGY201fH/R6g3UHLsY5Og6TQJ9TjFMozot7ljVtnPu6X0/Xk2yxNQwKw+ago2T8LuWub6xG1S0t5Zopcvrgse1JBh2/vutgNrxMl8himZ1HGYXrnRYWLTVqV9yAeMtcQCGrYI/RWQ85LaWQWJyzCCIKCM/BVYqmXOwrhD27B2d+iIrWVpld6Y7+ET8CPUbAUqKExJPlh/3VNzi/+hqGUpa6mBLjK0fistfcbXLRNRV1+tHQhRR59P4INcu7m4Fk4cTimRR0vEePjfUch7t6TstfLLN96fZ65C/Zu6ep39dX7rv2cklTLyRv9ji7LDh9KS48KAcvRkB5U7b6kSJC8/FGazBMt8RZ70HK9rDvrLHnbB5pIuJbMXOK7d1V64xSC9wL4O6aRyKXhmAqn/zqgiLOap62NsuPzmlVLBhklylvGYjr6UIyI+D9pS1nXBW6xcec1DsGThuf3maY9+QLYlx/UUWntkKH2P6EJmS3bBgAdIgw+rAUKJhGnSE3jABQ7UZPvDhEwuL67BnbvNniav5iXaft+CQBE+hCuFYcpEPqBJLWd1rQuVwBr0aJXu0+7BG81/JnkdQJwKNSu4EOc7tTH5661uX70qodi3rh8TlQRYrUmHuYXG5nKkJcV1yDzaUvZlNliDfAwLS7nqxEI1H0I0BNobGAlUvQlO3pMDufOQMnVWCJiZinmCk2kZSkuKSmZLW1JrKmreMsV6f1geKdgPtAmPJzdmKMoTywlAFUcMiBZScQL1pL3KPd10zn4nKc2auMtYQL0S13GD/0d4Qy2dSjZz8RpwAeUPM86gWESNvmPVMJkCyCXMVnQ91ARP4E6B0fUgmG+pj4deTB7WddoVZRYl02SUTSKQyRcRgm4w0JdL5gv5V WchNMiu4 nTHDEEdL6+yqk+/kyh/tQY4cPur1leHSXGB5vjlSsEfnSEt8nouHcKse9TfQTcmkDzwfJYrWNNzNZI7Dm7iKUcsstbxxqKmLYKTlzy3LpCa6WzC7WT2dRdIUDI3Xi6SCkbw2+O98+c+0KjXjIwcE/lcyiU3XGdyFLwBE+DF1LwfRI7/wC7IuRRH23ROulxY0tyvISuWIPrlXzPKRBuVw3vvms+BhhOCUK258UXsiIuR0Th/27oBWqV/jEVs5iG18BxB3uv20xm2FTWhB7tjJz3vQRqdI/ZTStubfIBO/qLJsLrBmy1nT5llKVQfh39XU3JycqqAKVkrFgJ736qcjAMzdjaouFbt3l7t8BpsLRucqpy2V9Wnr3L5H7uDbTMppMzVtPyOxyBeRWOZTT6zXoGHiNSnVhRCoIrRpC 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 Tue, Feb 6, 2024 at 9:46=E2=80=AFPM Yosry Ahmed = wrote: > > > > @@ -1608,14 +1598,12 @@ bool zswap_store(struct folio *folio) > > > /* map */ > > > spin_lock(&tree->lock); > > > /* > > > - * A duplicate entry should have been removed at the beginnin= g of this > > > - * function. Since the swap entry should be pinned, if a dupl= icate is > > > - * found again here it means that something went wrong in the= swap > > > - * cache. > > > + * The folio may have been dirtied again, invalidate the > > > + * possibly stale entry before inserting the new entry. > > > */ > > > - while (zswap_rb_insert(&tree->rbroot, entry, &dupentry) =3D= =3D -EEXIST) { > > > - WARN_ON(1); > > > + if (zswap_rb_insert(&tree->rbroot, entry, &dupentry) =3D=3D -= EEXIST) { > > > zswap_invalidate_entry(tree, dupentry); > > > + VM_WARN_ON(zswap_rb_insert(&tree->rbroot, entry, &dup= entry)); > > > > It seems there is only one path called zswap_rb_insert() and there is > > no loop to repeat the insert any more. Can we have the > > zswap_rb_insert() install the entry and return the dupentry? We can > > still just call zswap_invalidate_entry() on the duplicate. The mapping > > of the dupentry has been removed when zswap_rb_insert() returns. That > > will save a repeat lookup on the duplicate case. > > After this change, the zswap_rb_insert() will map to the xarray > > xa_store() pretty nicely. > > I brought this up in v1 [1]. We agreed to leave it as-is for now since > we expect the xarray conversion soon-ish. No need to update > zswap_rb_insert() only to replace it with xa_store() later anyway. > > [1] https://lore.kernel.org/lkml/ZcFne336KJdbrvvS@google.com/ > Ah, thanks for the pointer. I miss your earlier reply. Acked-by: Chris Li Chris