From patchwork Fri Feb 14 17:57:04 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kairui Song X-Patchwork-Id: 13975437 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 F37E8C02198 for ; Fri, 14 Feb 2025 17:58:36 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8E67B280003; Fri, 14 Feb 2025 12:58:36 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 896CF280002; Fri, 14 Feb 2025 12:58:36 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 7372E280003; Fri, 14 Feb 2025 12:58:36 -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 55770280002 for ; Fri, 14 Feb 2025 12:58:36 -0500 (EST) Received: from smtpin12.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id D85AE140808 for ; Fri, 14 Feb 2025 17:58:35 +0000 (UTC) X-FDA: 83119310190.12.8BF2D07 Received: from mail-pj1-f49.google.com (mail-pj1-f49.google.com [209.85.216.49]) by imf22.hostedemail.com (Postfix) with ESMTP id 05EDFC0011 for ; Fri, 14 Feb 2025 17:58:33 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=cu74+mHz; spf=pass (imf22.hostedemail.com: domain of ryncsn@gmail.com designates 209.85.216.49 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=1739555914; 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=gKbcT7HZi918XHMs4NWM+gGN3vz3fffmbZA+qEY+PV4=; b=IJqcuxX4ji+14XcxwdElLawq8yQdYwbxfdAjavhIRx39fERZa6AQu9DdhWu2Rlu2k8odT+ 1OXxPaUpC2JR4pcYwwUY4Vc2XHEbjFFWmIR9R7E2AyZtikwP/XkISOp3hYiDzygg1Fcm4W IwDsEw+VjaZx9OFS96zp1DSmDDEHThQ= ARC-Authentication-Results: i=1; imf22.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=cu74+mHz; spf=pass (imf22.hostedemail.com: domain of ryncsn@gmail.com designates 209.85.216.49 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=1739555914; a=rsa-sha256; cv=none; b=La/XlO5vbD0qHP8+v8s5JnA0NYcr/Hque9PQgWLZyTwIKGshldLfysvoDFzOnQ0A02MpUd kXlFsD+2KCVEhsLdcljh1PZ+qqcBDLX9atmxRe78iIe7/JTdW4PJXk5a8fD+RK/BUFlo5w wSFvQDuamy0gHBGZe13a6z0H7YUYysI= Received: by mail-pj1-f49.google.com with SMTP id 98e67ed59e1d1-2fc291f7ddbso2029960a91.1 for ; Fri, 14 Feb 2025 09:58:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1739555912; x=1740160712; 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=gKbcT7HZi918XHMs4NWM+gGN3vz3fffmbZA+qEY+PV4=; b=cu74+mHzgKDugMRpuUZLqpAjBsjpTPff/vPBaQBtia3l1sBsBATbRDF/YgGUqPU+/Y L2Lm4nXq6RmW9K9OBIFoSibpNxxXYAoPTo7Bs0nxkk78JMdXlrCxlVgqTiExcnyixGls tyScYH8JM84ofoxfUFN6NUCoaxNEKOjVnii2X7voxYvcsuxqwrrDdfRfPJ3TF3IfRj0C y2QJq2RbpD0GeNmSNiDjyDj8bCYb3+aQjVzOYds5Sn7h6WvXT6bMMxc1iIeK9V1Dcave 5rS2aV+25YMcSt3rG6WLxfLpiG9FY4z7EzwIyW7UEVBtxzVRd1+Tn5HPbJQAJ0BKzqil jRaA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739555912; x=1740160712; 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=gKbcT7HZi918XHMs4NWM+gGN3vz3fffmbZA+qEY+PV4=; b=BJLOaLXKx44wh+0wT4Vy4d7DX8E9JCADRoxE1ie6f/K4QnVAakzq2zREPy6m0Vhmli XkwIt2gFop5NIBWpjDw5jmHDmO1Pj6L6xTSpsaEI+/jnv6PQ6tgatf3uo4m5WEmQcLzJ jcN9qBP4n8fylmHcOoA6HuiiqxeX83CkeGCim7gf7A4EVRq3b6f9/ZIxHytjkrorlE8J i4ok7IhR9jQpv8k2fp2efiuKD+bj9RYw7oiIhrGkNQYyx5NhyVl891dyU6aLTSEhrTL1 4vXGOYk9qQFEvx91ff/mxlnFnt2nky6MMoG5A29ESW7xWxvNsokSv8C6dtaTpm1rdkmj vJnQ== X-Gm-Message-State: AOJu0YyRBkWPwaQi22Nyg0/jOrqYRQuWCCxh6jKu0mlfNxSwK+kp4HVV nqcR33ycI8UZc0vvmnMqnvyi3RFn8+1yFJOcVmVCK3uDsBlOAlfuJVS9KpAhO4Q= X-Gm-Gg: ASbGncuwyLNoQm27KSVTcyqkQIy0UkXLxblWSFwPSz68Yqrvu4+Ahn36+Yx2gbqIlUx 39EaVewgGG5q40yaAmm1//NnY0jK+cBMC69Vqwn9dlPrt6xbHCIGfiu7tf+XM7xR5K1ywKnlIjH lP2XfBFlHpB80idAkRJk3r4g/6qC0UqfcD2dfhNd0H88WxvM9pfrMOGKbedggsLHs9tr2X+xl2O ICcN+nxSlm+AdqZ2OWFUWjJFDWBcEMyTKtQrWVU4uixnHwCQgvC2kArkVCwSDglTGmVBrzu/dFK x1EU/gmikv1qwONrjXv4CZjNxLEb4jb90CPq X-Google-Smtp-Source: AGHT+IFvP7YLzoold6ZoZzlfgGVoTuFDtB0G5EBYz929UfitJI5tbELQqHkPOfuQHwIrnMxFrJEGPA== X-Received: by 2002:a17:90b:384b:b0:2f7:4cce:ae37 with SMTP id 98e67ed59e1d1-2fc0e4c17b5mr14365273a91.18.1739555912471; Fri, 14 Feb 2025 09:58:32 -0800 (PST) Received: from KASONG-MC4.tencent.com ([106.37.120.226]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-220d55943b5sm31216605ad.246.2025.02.14.09.58.27 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 14 Feb 2025 09:58:32 -0800 (PST) From: Kairui Song To: linux-mm@kvack.org Cc: Andrew Morton , Chris Li , Barry Song , Hugh Dickins , Yosry Ahmed , "Huang, Ying" , Baoquan He , Nhat Pham , Johannes Weiner , Kalesh Singh , linux-kernel@vger.kernel.org, Kairui Song Subject: [PATCH 2/7] mm, swap: drop the flag TTRS_DIRECT Date: Sat, 15 Feb 2025 01:57:04 +0800 Message-ID: <20250214175709.76029-3-ryncsn@gmail.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250214175709.76029-1-ryncsn@gmail.com> References: <20250214175709.76029-1-ryncsn@gmail.com> Reply-To: Kairui Song MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Server: rspam11 X-Rspamd-Queue-Id: 05EDFC0011 X-Stat-Signature: oj3tmixqbzickgz47waean3fy31mj6cm X-HE-Tag: 1739555913-588682 X-HE-Meta: U2FsdGVkX18VbFDrLSBi74oRFyJPOl5oGPcJpc/wuUkcUsBzi3RRz26xzaUE6bsJczFF165hs1oGxqjgKiCM3jKmk/FontDwA3aKgPJUhkLkm2Ou7Wf+C8nP9UFUiqKQGuInhFJe+S6Ra8Dvmx6mJMo/+WrdtW4ST60bmILAgrA5Gj8TCXerLlmQyyGPNwAmNobKFzdtVn5z9Ounuicczku9fZOO/HIw4mXexoTrfsLarfA5Leaw8EYNnK4gJCTMSkfamkoWnz7zNek5UNUqDDQgtLocvV1c9GOM+s3DlsDnLijo1gKfdbczVSR9bZ5x27MOynBUMS2ZaKw0lvJLghmfxR2MqOmhR03tqkczt4tuYqhKfMYdgJIUdWHZ0cVyxxDv1JwduKqNooKYBqdpUKuvqxDpYXxCqJ1pS+I/UknJ73lRIehOuS7SoFD5ogqnLAi5SvwJ4VBU8ANFS/LVBLCrCjcVvMVq0UnVzsu04trqe5H8U+PfC7gT5qRL/evHkA6hFuReSuTqEAsFNS6F1IZgaWVtwx//Dwo7RDLpxqD8Mfa1wLsC3tKQe2HEJb6CdeZEKt7/Zc3wg8FlokYF7pyClI6BBcba/BdpPQuFAPH0FHkq9ckzL2TXJoCyGl/Ds31rtS+7axMvR5y6aiepWiPxJb6VhxMXGmKyJRDCr9RDTlmvgnjKFLUFFlOurAINuDsNYhqVFIuy/1qxAssh9h8fzBUfnR7SwTQHvES5g6QyJf1XrIQE7WrUxvdN3N55qUd6akxTNvR5y7OCK4WzRYGCrSrkKvpNvSQyWuL1hR9eVcu+3q8NvAqHZlYnCjEkxuP4YrvOcJFPIoN9iTT+GN1D/x997TIUApBm/7Tck9JBSd0B3ZIsdAkEIC8IN3PRPomDR4aoRUiSuZGxRQU8Dar0JJmxYwrTsDqUIaKxHzSnXfldJjjAxsws+S9taYPXc+TXR2LgDF6nrJYxowq 1tzl4H68 E17Tm8hp6rPTJoQ3gn7rwFd1R2/+p1n/iM+hOC67V0mamXcIY1jLq2KcHMYMoa5rPh9xdIYThJLvjZ0IpTl7HUXypA3pIZNdEzPtt51adsNcKfXT618+ikBuNEsnlDUHd2CPjfT1Zpr3LP4C2rLMTRLKXVheowN4OfcypEgoWEcwJN8QETDRzdJwPz3E8zpMAykEvj7eG3R4W9GQpA3igmbY/45XAr77ILwMgfdI/DcJvrXVQNMTU5hMTp362FWsibYO4c4aKsj2zuPcafHKvfghJnMWB2FCJYJvbLqG16MkQ+beYQyNHRA0Pq+5l0v8GmIvw/ldmx/r7ZJt3vaqwUZdpwVMciYos1gbLAlHhhPpZkNvvOzvtLMXx6SeRV1gwld9NP+cCoLCZXf71joo++ZsBrXwl9yEKsHnBMcqhTbHYPmYPHt3idRo4pGvnn/Lmr9EmJ8rZW/zgSRhP7ZxaN1ByIh6ohtwF5T0rw6e2qH3AG3aZVFdtMNVX8c/TlCUCLPCxB6SN+xeMCEHWz24f0oT1UWDsGttvbSV7uoItGdUqgCCjE4TvqBlMHLX5qM3mdpx41ywSxgiSs4Ht5e09xPqT8l+3bVbJnKx0K7P9rkv0660= 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: From: Kairui Song This flag exists temporarily to allow the allocator to bypass the slot cache during freeing, so reclaiming one slot will free the slot immediately. But now we have already removed slot cache usage on freeing, so this flag has no effect now. Signed-off-by: Kairui Song Reviewed-by: Baoquan He --- mm/swapfile.c | 23 +++-------------------- 1 file changed, 3 insertions(+), 20 deletions(-) diff --git a/mm/swapfile.c b/mm/swapfile.c index c77ffee4af86..449e388a6fec 100644 --- a/mm/swapfile.c +++ b/mm/swapfile.c @@ -158,8 +158,6 @@ static long swap_usage_in_pages(struct swap_info_struct *si) #define TTRS_UNMAPPED 0x2 /* Reclaim the swap entry if swap is getting full */ #define TTRS_FULL 0x4 -/* Reclaim directly, bypass the slot cache and don't touch device lock */ -#define TTRS_DIRECT 0x8 static bool swap_only_has_cache(struct swap_info_struct *si, unsigned long offset, int nr_pages) @@ -257,23 +255,8 @@ static int __try_to_reclaim_swap(struct swap_info_struct *si, if (!need_reclaim) goto out_unlock; - if (!(flags & TTRS_DIRECT)) { - /* Free through slot cache */ - delete_from_swap_cache(folio); - folio_set_dirty(folio); - ret = nr_pages; - goto out_unlock; - } - - xa_lock_irq(&address_space->i_pages); - __delete_from_swap_cache(folio, entry, NULL); - xa_unlock_irq(&address_space->i_pages); - folio_ref_sub(folio, nr_pages); + delete_from_swap_cache(folio); folio_set_dirty(folio); - - ci = lock_cluster(si, offset); - swap_entry_range_free(si, ci, entry, nr_pages); - unlock_cluster(ci); ret = nr_pages; out_unlock: folio_unlock(folio); @@ -707,7 +690,7 @@ static bool cluster_reclaim_range(struct swap_info_struct *si, offset++; break; case SWAP_HAS_CACHE: - nr_reclaim = __try_to_reclaim_swap(si, offset, TTRS_ANYWAY | TTRS_DIRECT); + nr_reclaim = __try_to_reclaim_swap(si, offset, TTRS_ANYWAY); if (nr_reclaim > 0) offset += nr_reclaim; else @@ -860,7 +843,7 @@ static void swap_reclaim_full_clusters(struct swap_info_struct *si, bool force) if (READ_ONCE(map[offset]) == SWAP_HAS_CACHE) { spin_unlock(&ci->lock); nr_reclaim = __try_to_reclaim_swap(si, offset, - TTRS_ANYWAY | TTRS_DIRECT); + TTRS_ANYWAY); spin_lock(&ci->lock); if (nr_reclaim) { offset += abs(nr_reclaim);