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 13673C48286 for ; Thu, 1 Feb 2024 17:49:24 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9D4A96B0087; Thu, 1 Feb 2024 12:49:23 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 95D3C6B0088; Thu, 1 Feb 2024 12:49:23 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 7FEF86B0089; Thu, 1 Feb 2024 12:49:23 -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 69A676B0087 for ; Thu, 1 Feb 2024 12:49:23 -0500 (EST) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 3165480DF7 for ; Thu, 1 Feb 2024 17:49:23 +0000 (UTC) X-FDA: 81743971806.10.136BA58 Received: from mail-qk1-f170.google.com (mail-qk1-f170.google.com [209.85.222.170]) by imf20.hostedemail.com (Postfix) with ESMTP id 56D0F1C0027 for ; Thu, 1 Feb 2024 17:49:21 +0000 (UTC) Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=cmpxchg-org.20230601.gappssmtp.com header.s=20230601 header.b="svuBEe/7"; dmarc=pass (policy=none) header.from=cmpxchg.org; spf=pass (imf20.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.222.170 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1706809761; 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=t7PJgJejHBbCDLDpmDHfhU7gmy6DEpfV5jBLmr4xdnE=; b=HxfQcOwznICOPN5so6uQJQtjHV5PWRAQgNF3GKKfOkEaHxFyIMIdfjGnW7NEN2hrLSuNUA TtqNdZpw08MuKxg51skMwYZSBbcicFee5JdQnRw9mcm5H+n6LjZkL/qfMss9oKATHyrC+Q tDroEIkg88D7yeXfiGRE5yceXe3/tfM= ARC-Authentication-Results: i=1; imf20.hostedemail.com; dkim=pass header.d=cmpxchg-org.20230601.gappssmtp.com header.s=20230601 header.b="svuBEe/7"; dmarc=pass (policy=none) header.from=cmpxchg.org; spf=pass (imf20.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.222.170 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1706809761; a=rsa-sha256; cv=none; b=Pp450502UWuQjoS5+0hs0jAuGK9Gc7XISYVA7FW7+HHZtzbUn/gMKGPV9LbwBzBdbKb5el 6RwrSGAZDnHLbwyyR66/UUkaCTWDGDf+OfzvfqUyjl5fBkW08KkU0L3E9HPjqg80J3I2Qa 5dchyMxXdBcWXhJkR929YlUDhCw5qKI= Received: by mail-qk1-f170.google.com with SMTP id af79cd13be357-7838af983c1so90831085a.3 for ; Thu, 01 Feb 2024 09:49:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cmpxchg-org.20230601.gappssmtp.com; s=20230601; t=1706809760; x=1707414560; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=t7PJgJejHBbCDLDpmDHfhU7gmy6DEpfV5jBLmr4xdnE=; b=svuBEe/7HBnGAwZMUDWOJaYxjk9Nx+cgTmXlUF/XbDkqIOSBANsCoR78JG45j3zY4R Cfelp/yQ10u7HpGk/y4sbZ2ikmdViChvjFUHk67gP0eisCMwwAAwRos/6rQfjbS0/o2o ak7LBzqKs0+CDs3djTq7h6VrMzSvUDkPq+1u/vZ8T4fIFpSGvfHTOeNcCANzw0ZxbxYZ hwo7ql61eMbBHfQrAhorMPu34huBaqZDQlFPXdBQBC3fxCkq8HjuqjSIOgwtrfCCgiGF qXEdOTSyuHJ2b1gfIm/37Zqb/L2DvTfDctxDr3h34KF9OkroYLE2GIzhCIoErc8ooisO YSvQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1706809760; x=1707414560; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=t7PJgJejHBbCDLDpmDHfhU7gmy6DEpfV5jBLmr4xdnE=; b=dcIrzla5FL+Ne7YuJBqXYOJipNHKPkL+S4X4gBeeH77Z6twtd68lxhgayvQntLVqpg CpDboWgtMPKFdfssprELY70c5D2XS6SkbEREF1qHZk+duZVIOT6Zv/xmiyu6enxVuLJg Wdo+xhqKTHBxxCImzxo17owTolB08DZiwWAUCjB7/WqCeNlCnGiMmo/68rRQ3Anj/hBK KVe5M7NpCWlqgzwx2eq2G1Rbe2S8V0ddILH8BXKaq4O5j6dPNyKcVQdWT2eso8UUOBgQ TgxSQ3Xv6CLoozLfOVJxAz49tu6QQjCMEWe5tgqgoajV2Yf82SfiblX86PL8N+qaJ1dX OByw== X-Gm-Message-State: AOJu0YxvLAa0HnhcmtxbTb/a9X6rIwwMHFPiXD2bMGqkk9UyLustSz2W JFcoZG8LZ/koQQ/gCeQIjf4/T+L/3uo5lY8jCYlE2O7LqZ7TQD3hHTGlkyREv+I= X-Google-Smtp-Source: AGHT+IGOIDHv9aaqvKgFw3T0dExvr2in4Rlg0aVEgXQ/NjqK/q6n91gvWCWGJNgtwgIesFdWzfD0Iw== X-Received: by 2002:a05:620a:1da8:b0:783:bd02:c037 with SMTP id pj40-20020a05620a1da800b00783bd02c037mr3426605qkn.47.1706809760421; Thu, 01 Feb 2024 09:49:20 -0800 (PST) X-Forwarded-Encrypted: i=0; AJvYcCUB8bboZyAQWn5xy/zsC6LGTuzfr7hahXajhntZ+AE2LNat0RgO2UbC+iHWziZw8hDcSIv23Q+fbxXwGMr/JYh+L0vYWHrxQaKdLpUMUOPXa1fiRrgvlmeFQo3i6jhkAJEnN8i58LSakGOhMBZEEP/ayNicQnEoTc0ehobrA+eZTfuJQ6p1BhhHhbAmbQjCiSzsag== Received: from localhost (2603-7000-0c01-2716-97cf-7b55-44af-acd6.res6.spectrum.com. [2603:7000:c01:2716:97cf:7b55:44af:acd6]) by smtp.gmail.com with ESMTPSA id g9-20020ae9e109000000b007832961ff29sm12950qkm.4.2024.02.01.09.49.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 Feb 2024 09:49:19 -0800 (PST) Date: Thu, 1 Feb 2024 12:49:18 -0500 From: Johannes Weiner To: Chengming Zhou Cc: Nhat Pham , Andrew Morton , Yosry Ahmed , linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: Re: [PATCH 2/6] mm/zswap: invalidate zswap entry when swap entry free Message-ID: <20240201174918.GB321148@cmpxchg.org> References: <20240201-b4-zswap-invalidate-entry-v1-0-56ed496b6e55@bytedance.com> <20240201-b4-zswap-invalidate-entry-v1-2-56ed496b6e55@bytedance.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20240201-b4-zswap-invalidate-entry-v1-2-56ed496b6e55@bytedance.com> X-Rspamd-Queue-Id: 56D0F1C0027 X-Rspam-User: X-Rspamd-Server: rspam04 X-Stat-Signature: s9rq1bfkntoj4ibdgii7kju7nuhp419k X-HE-Tag: 1706809761-384105 X-HE-Meta: U2FsdGVkX18PtJLP0lImW9/+B7s9JL3oqT+nB6qRT7f6HT7geDcPn/sx+9LIcaK8E9kCFsZhFtEdpLx0T42MQP3KUcTWxcmb1PqgvBXLYC9qrVr1l5vMDp19w6e/q4TYPchNjJVwAuPfyUj2pjgCnGnSoM0VzuatZtQc7z358i08jsn9/EqpaK2lOWwZ2AGVv6HXkXjxamhLgtGkkYww1wzpBNBiq298QeOHaUXK9dPcE3lBKG3cgbWjF0o0XGpuPUufgvYycjugSfUXrBQqPHfqnAM5lyorT2YMU1I1o0+mGc4faeXU97uVrwJunKgOyzyiAroqlbLOiMCE60lSTK/Oag69R7V8VsiUR+F8aRNoY5islHHmU4zjzlxfUR3qflNY7gRw4WTXucRYnvzIndFoK2SvI2Omj2T0wEJVIHPquq9Vr8S55c0sg0DvjmvDuBCRkIqOnhl71ZjeRgdWg7Snqab8X6FrB5SjqkDVZQjuhz77My2ri1qHQ8dpj5NBbwrCZ1M/KxO2ZjlLY5FYcOzBOITRDaon3Kb2iZcMUPu0nrlKT0qLYSzBhWVRb1l2rhwfELilEG23V7imwi5Bn+uXLKRNxyVIZOpKMQC02OwpjAfIpmvDEzhjkQnV45RwYSyyk35JHKwd5qBcuonHLO7DNCiN0duqjTeSTvuINBaMtf3Xb279XMHtVA/ZMnn/WfxG8GtlxFTTLObpN1ttjD9NC8AtGzE5IOdUJ+85kfwl5qff3E1PpM6PKCjAPTrqBDYqQStUkzlPLFzCWFfsdCZA/eiTFnlJMHuehVTxDSmVbabYpwnco7neAbCCCa+2w8Q/NlpJroJrHFm0mXWhy9Z2vmyugWB401/64JNJ/86U0p0+sp4+PEDr8TPfI/s5tHF3zQPlwWd5qRu02Wp3lSugempQBSU1X/5dq5VbfCy2bMkAdhkKHmnIYgwBXtFdh0YSo9UUL9z7XcARPdH PJRvxxEp DrwaoJ5ASZoYblTFKyBnGePIALLaW69KMAoPi+FBseXbTrLIZ0paQAq6CNNsHpALTWCxMu4+bfCf4xomeGMBbpyxs75VE+h8eNPdhzUwmXcxmFoWcGgzS3zQPLv+q/mXgzEiOgKjEn0kBW7SxllasvmT+xiuoMmV4kwcHur4b1t7DEvE+2kQynHyuiKB+n07DN9O4PR31fi27dNKhvsbupEaNJSFtZs1jXZd1v4z1HSQvvYhVTRDVNm+0P92KXxtxsc0IdeBYH7KrIKLCsHRdDDheWKYxcmLhHgiYgSBHrapRtk6l2jSgdwZfrWEiH6ZkJXttWeRrvEqdc4jdi6zcTAiMRwpt2cCZPQFYEUWKSlZjP31bYQ5eAWTAfOBrFgaL1q4e1E5ANvJhlH88gFhf+r2OcJTP9G/Bknf94y3gj4Sru0yVB3YjBlZV0StHyg37rr22AicBM8XR2lZ+OorTd+3CDeIpRXkwbXhmmXUepkLb8H+7sZvPITZEfPh93HDfqsC2 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000001, 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:02PM +0000, Chengming Zhou wrote: > During testing I found there are some times the zswap_writeback_entry() > return -ENOMEM, which is not we expected: > > bpftrace -e 'kr:zswap_writeback_entry {@[(int32)retval]=count()}' > @[-12]: 1563 > @[0]: 277221 > > The reason is that __read_swap_cache_async() return NULL because > swapcache_prepare() failed. The reason is that we won't invalidate > zswap entry when swap entry freed to the per-cpu pool, these zswap > entries are still on the zswap tree and lru list. > > This patch moves the invalidation ahead to when swap entry freed > to the per-cpu pool, since there is no any benefit to leave trashy > zswap entry on the tree and lru list. > > With this patch: > bpftrace -e 'kr:zswap_writeback_entry {@[(int32)retval]=count()}' > @[0]: 259744 > > Note: large folio can't have zswap entry for now, so don't bother > to add zswap entry invalidation in the large folio swap free path. > > Signed-off-by: Chengming Zhou Great catch. Acked-by: Johannes Weiner