Message ID | 20250224180212.22802-2-ryncsn@gmail.com (mailing list archive) |
---|---|
State | New |
Headers | show
Return-Path: <owner-linux-mm@kvack.org> 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 C46D1C021A4 for <linux-mm@archiver.kernel.org>; Mon, 24 Feb 2025 18:02:58 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5C84F28000F; Mon, 24 Feb 2025 13:02:58 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 5771828000C; Mon, 24 Feb 2025 13:02:58 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3F2F028000F; Mon, 24 Feb 2025 13:02:58 -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 1A4E628000C for <linux-mm@kvack.org>; Mon, 24 Feb 2025 13:02:58 -0500 (EST) Received: from smtpin28.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 7E0BE121A4E for <linux-mm@kvack.org>; Mon, 24 Feb 2025 18:02:57 +0000 (UTC) X-FDA: 83155609194.28.1EDD69B Received: from mail-pl1-f174.google.com (mail-pl1-f174.google.com [209.85.214.174]) by imf12.hostedemail.com (Postfix) with ESMTP id 998F340017 for <linux-mm@kvack.org>; Mon, 24 Feb 2025 18:02:55 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=AMTdFVBR; spf=pass (imf12.hostedemail.com: domain of ryncsn@gmail.com designates 209.85.214.174 as permitted sender) smtp.mailfrom=ryncsn@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1740420175; h=from:from:sender:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=xwT//N+9nfh7P5Px11klS6FaPMqYvLp+fVr/05Baw3w=; b=RdF8PtR77HQ47XUybkMiL06aoLSdj5SVHxHhEmeGNTro1MQxpV4vrCzHt5nsujeubWBypV O5LwMpGJPaiJLx/4C0NWcMocatZGJXjZwJwuN2Df4dBC1ILIHtabXz0sq+DLyPM1gKmvo8 3e5VCkKP+4CnwzGDt4rdQy6f7tArHco= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=AMTdFVBR; spf=pass (imf12.hostedemail.com: domain of ryncsn@gmail.com designates 209.85.214.174 as permitted sender) smtp.mailfrom=ryncsn@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1740420175; a=rsa-sha256; cv=none; b=fVsII/2BfdeQl/Jbd2XQv79SS7B6tYL60BFUS/lNa0WjHfhieBXtHfFAVPzln+EnIfaS5v sr3ZXobU1BJBQ12t7xXWG4SNX6PTdssN8eYNKY5lIFldHmGwsHeDXkWYLT0NDc0GKW+y1N R6LgCwE5hQe7nfP9h2plezZ5wXAKNGU= Received: by mail-pl1-f174.google.com with SMTP id d9443c01a7336-222e8d07dc6so22080405ad.1 for <linux-mm@kvack.org>; Mon, 24 Feb 2025 10:02:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1740420174; x=1741024974; darn=kvack.org; h=content-transfer-encoding:mime-version:reply-to:references :in-reply-to:message-id:date:subject:cc:to:from:from:to:cc:subject :date:message-id:reply-to; bh=xwT//N+9nfh7P5Px11klS6FaPMqYvLp+fVr/05Baw3w=; b=AMTdFVBRm6k6zH3Wn5dDoUjeixrZjoxYNZiMnKhVJ7rA0+oKryw0BTHOjZCTJ8y902 W0E/UD4fdfCIsWDR6GACfCIAKjNjp08XEAGEUBSQfMBJ4gEGu39uGBymcMcLIfX/uH6J tl7MTitXZzW0tyEN6Z3fZwykaZkEq1eWJL1YdzUgGW6Y3yR+zCE+14LUhMDhhzqBi975 H6+PGO5MVZ0ajDD0b2U78ZGw8A/U3tHfCA+Airx9BKjSzNk97C6+WDAkk27kyW/KY8WY os+Pn3RWqk+dGtzo8gc8WazuZLqCL6dDy1LuU0OQ4VfVH6ymWf5s++xnkp4pp4ft13RH 1cpw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740420174; x=1741024974; h=content-transfer-encoding:mime-version:reply-to:references :in-reply-to:message-id:date:subject:cc:to:from:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=xwT//N+9nfh7P5Px11klS6FaPMqYvLp+fVr/05Baw3w=; b=cZ5XanaJK/07RoNO9WFY8MiidhNHamVsPxI43fWQ7Gtx/0XVejppQQSn/2fnrzyV9o wIYnD/pOgl7wWO+33rxhcWpADYjM+0Ml9x7nvzABHsqlqKKPEVKoww8ZZmySki4OMj/9 prc5bRwiuI3x0FnJq90vlp0i3tcAxDwE+Po6kLVMgTpiTnYBbjnw0l6vncaTKiCvU8x1 +gEOTDjv+ld3lz0DJeecBcr8Ols0+S7xYZW2TxxY60H3j7ZeUzapKTBbsaEi8iLmxG9v Q3nI1t3LrE7vPAfBJKKoYRJN1pAMddYuzJ+uOypYWstdODadp7jujkmxW27BUIFekKLV dKTQ== X-Gm-Message-State: AOJu0YzdkWRKr4Wm9ZaLV9wA+4P3sbnrRIwxTzqkkPd0kyOFfZ3NR/g4 oyek3RjF4A+4FhzNNOoaeZIF1c3h09sMHRCgJ5ty+9KC2cf6nLDx+nT1rLTo3x8= X-Gm-Gg: ASbGncvIKtBpM3IPZ8A07UYngoQWBR4Bt616q+4qiilsvXwtnsjaFAcA29uN49flJVu zrVkjfxilPADuGFm47j770wAOPQaHbZi6tv2ZgX6cLDfuXOtG6Pqc2xselRS7voa3oqRS3RMW5m qt1rUlzoCXSZHCoAqXYHAmCbSUPxo8LgPTe/SCw4zrDc9esIWW/ZL90pzH3rwDvX4IG3MjtNuB/ q2bt28OPnSSRMSABQZA4iRnGPFsDo5B5ARqCrCnohAiu0s9YBHmGSWZOIrIgGeMJKATo3ZivagS CZEqiIWU27osBsEpBvAKhYttRli3SODZp5X9X/DmRE2L X-Google-Smtp-Source: AGHT+IHg1obCVKFszbKO58ucl3S2uuTMPf5zZW6roBu4cVs9S04wje26rUs4hychmcu7wQV7//msbA== X-Received: by 2002:a17:902:d2c1:b0:21a:7e04:7021 with SMTP id d9443c01a7336-221a001fb74mr213193225ad.24.1740420173812; Mon, 24 Feb 2025 10:02:53 -0800 (PST) Received: from KASONG-MC4.tencent.com ([1.203.117.88]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-220d556e15esm184834695ad.190.2025.02.24.10.02.50 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 24 Feb 2025 10:02:53 -0800 (PST) From: Kairui Song <ryncsn@gmail.com> To: linux-mm@kvack.org Cc: Andrew Morton <akpm@linux-foundation.org>, Chris Li <chrisl@kernel.org>, Barry Song <v-songbaohua@oppo.com>, Hugh Dickins <hughd@google.com>, Yosry Ahmed <yosryahmed@google.com>, "Huang, Ying" <ying.huang@linux.alibaba.com>, Baoquan He <bhe@redhat.com>, Nhat Pham <nphamcs@gmail.com>, Johannes Weiner <hannes@cmpxchg.org>, Baolin Wang <baolin.wang@linux.alibaba.com>, Kalesh Singh <kaleshsingh@google.com>, Matthew Wilcox <willy@infradead.org>, linux-kernel@vger.kernel.org, Kairui Song <kasong@tencent.com> Subject: [PATCH v2 1/7] mm, swap: avoid reclaiming irrelevant swap cache Date: Tue, 25 Feb 2025 02:02:06 +0800 Message-ID: <20250224180212.22802-2-ryncsn@gmail.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250224180212.22802-1-ryncsn@gmail.com> References: <20250224180212.22802-1-ryncsn@gmail.com> Reply-To: Kairui Song <kasong@tencent.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 998F340017 X-Stat-Signature: 73zx3cnh66rbc7kme8sxkfq1tmxcn949 X-Rspam-User: X-Rspamd-Server: rspam01 X-HE-Tag: 1740420175-420131 X-HE-Meta: U2FsdGVkX19i/74kPw9F2GPjAQWn8aukW3iY6KkeEf4Y+Dc0HQRrD7R4qdc84lq/1iiAM4HsFgu1qpB9o99aftzSy9ammIVZiJ9y0/DtBsfMnSC6uLBeSfctAtAO2tIphQQmqruyvVLdeNY8vrQVuNptYEtGTzWZXlniiF+M1fYOyiBDXjEW+/f8/OWhE3T7geKdv1Y4/ywqwQXlgtRjVi4fByXsvj5i348JyzLube4r2DcfCjF6vK/qDA7XTM8fNGvq2lqCE+Z5LUZJjpA5biCdf7q7BHkOBKSWOcMI5FBjdSLbZiqvkpZ09XFedxDPk814VyoPx42YcSg+Eg6+sxPf4gWsXZqk969EE32Qr0Z0cXK56PdeQ1wduANngcRJByHXGPZDJzjQokEBWLNHmujLw0Dik8ysTpQ6l0madbnQWqjUKjWOEd6gHE9y4GYZFyxaPXRuZ/SM2qWJWm6qJSVsQQZIpiRcZpvtephQPUD4h35JPkX7zKIKRq+Ftf2X6JrIuFrcVanHzq/m6P2jR8D2IPPCCmIsqJxPlVd8HCyWQxsavNZb8F/HWrUP8qEc2Ki+Vh3n898d+s7eSxsxTsYaC4t9msg/ZIKNRLeqcVe7ZbMSz5qUwX7bMIuYLa6jXKjBGm38QidDPCErofSJH6DYJvo9KWvFNV3dXdOK9YnavSYDfWm0gxEC0D+PXLPOi+f2af/D6saeKQM0Ojg7taAYmGYEEfUjYgJ6o3U6LxSvNnscCVBoQ1EvKuenDHCZ8m3xwkjBASXCMif+21KqDdH2I61d1q8MLgr10Zu8JzRfeY8yYn9kX25DcuqnL/4AeiiBK/VAXxBA42Rp+D19yRIQfwHzFKvRghkGAkG7hoTxpz5m3JSVwqXMH9kGVsPnQOsT4JXTC8Q1u2+ZNBb7JhgeTse0TUYQwxjsn8eeF8dwUww6lW50JvWKKMcwU8c95Hvb7QMKSSsE6/LnWgQ 7Zqe1/Ok eWz5q1zSnlcobB4/HSBs647Oun13Siiuvrz4v5io8yFfrsxvLDffCawQVWA2rsw/cTgYwEtUUBZFrK6PQrhxNIlqO2G+hnuAbTEuUFtHlqKPCcrroVV1Vh/O3K0E/SSluUBR6vdE4CrYtOW2fRWI7x4reHpwR31sf2QqUGcsKyFP9Mfc+MVDEgsQSm9XR19oUQboFt0gaqtkpkrVd0oUnHM083XLxlBaKxixV+qm+zFTIxtrv1LD5njHQFSJ95zurLj9ZGEtvOdLDbC2Pc8WYiCfFBtIVvGCgdwcjunCvvYS8+Lu5oZTLI2BTfrdL/TP2gxUUsb6ST684cQbJeCWOifvOvFDDYcovzOgUyJOMIMdnQovkKX/FnTDqv7FR5vHv0eRzyD+YXCWBKwIsyduDnESJZ5rWYqwHjJI08+P7z8cgZnbIxe2EZWtzljgjmILFJ2Fz4gY16aOEpfCPtk82JsLlYMI1U4rVp2jJnEJX3aNan3lfYI7oJpciqUviZAeAGVnH204On/kGLeZ5ne0myjTOka2QsUW6aEJTaiVVIJopQJKCwZ67Cct4XJDiOdYMvuEhpIw3aed7t8uZSSQzb+JmFg== 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: <linux-mm.kvack.org> List-Subscribe: <mailto:majordomo@kvack.org> List-Unsubscribe: <mailto:majordomo@kvack.org> |
Series |
mm, swap: remove swap slot cache
|
expand
|
diff --git a/mm/swapfile.c b/mm/swapfile.c index a7f60006c52c..5618cd1c4b03 100644 --- a/mm/swapfile.c +++ b/mm/swapfile.c @@ -210,6 +210,7 @@ static int __try_to_reclaim_swap(struct swap_info_struct *si, int ret, nr_pages; bool need_reclaim; +again: folio = filemap_get_folio(address_space, swap_cache_index(entry)); if (IS_ERR(folio)) return 0; @@ -227,8 +228,16 @@ static int __try_to_reclaim_swap(struct swap_info_struct *si, if (!folio_trylock(folio)) goto out; - /* offset could point to the middle of a large folio */ + /* + * Offset could point to the middle of a large folio, or folio + * may no longer point to the expected offset before it's locked. + */ entry = folio->swap; + if (offset < swp_offset(entry) || offset >= swp_offset(entry) + nr_pages) { + folio_unlock(folio); + folio_put(folio); + goto again; + } offset = swp_offset(entry); need_reclaim = ((flags & TTRS_ANYWAY) ||