From patchwork Mon Feb 24 18:02:07 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kairui Song X-Patchwork-Id: 13988663 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 539C3C021BB for ; Mon, 24 Feb 2025 18:03:02 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D8F5A280011; Mon, 24 Feb 2025 13:03:01 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id D401028000C; Mon, 24 Feb 2025 13:03:01 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BB8AB280011; Mon, 24 Feb 2025 13:03:01 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 9A76328000C for ; Mon, 24 Feb 2025 13:03:01 -0500 (EST) Received: from smtpin28.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 28B881C87C7 for ; Mon, 24 Feb 2025 18:03:01 +0000 (UTC) X-FDA: 83155609362.28.1288880 Received: from mail-pl1-f177.google.com (mail-pl1-f177.google.com [209.85.214.177]) by imf11.hostedemail.com (Postfix) with ESMTP id 2D3D040027 for ; Mon, 24 Feb 2025 18:02:59 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=eZsMq9BJ; spf=pass (imf11.hostedemail.com: domain of ryncsn@gmail.com designates 209.85.214.177 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=1740420179; 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=QRxfoQL+pBTLKNCpBu9kbqbY4X297q/ZVa8ZHPjqplw=; b=2urujGeo1sTNAk0p6cp0QkP0o2fj0NwydPxzT3qacxuHEuFOD9OdvZK9WbbR16LNYdArKE OSDrkE7RT2jPz36GbGUCKfJ8Dn8B1rDq6f5GwIN3+q/Cg4hAj5MYIHdIKM11JQY/6lv02U LbsazFT9hnCHahVqrm8zwvBUV+qXZi8= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1740420179; a=rsa-sha256; cv=none; b=z+DVoVtOSoEtbXhwbXL64lmoUC8liSmZUlSk/RQC03oxYMGjBb3WnqGFTDJo7A8xNiKFys Z0X7JaRQzl1MK0gear3CB4hpVn1/wy5xAFcAYBhEOMC+PE3RZTpRytl4X7ZZd2CrF9r94C gfy7n5RLWnoszvKY8qVBRrPaMPg/biw= ARC-Authentication-Results: i=1; imf11.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=eZsMq9BJ; spf=pass (imf11.hostedemail.com: domain of ryncsn@gmail.com designates 209.85.214.177 as permitted sender) smtp.mailfrom=ryncsn@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-pl1-f177.google.com with SMTP id d9443c01a7336-220c8f38febso100586715ad.2 for ; Mon, 24 Feb 2025 10:02:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1740420178; x=1741024978; 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=QRxfoQL+pBTLKNCpBu9kbqbY4X297q/ZVa8ZHPjqplw=; b=eZsMq9BJz+hU/hUSWbWZ66ffmh7dzXVEq9ueZ2gA3CE+dZDEy7oXImZ+NAEvtuvbdB cP9xjR3He1Nv56js3XbjBm+/aTdvXVqev8CAQ1o6zi9Vkox3AbUQXAwqHA1iVWsVN4Qb 2r1nyDTLi7ZkBKEf2mT+bUwGOFdK60EAbGHMIqM2iQIAKiJjvMV9FEhUhTRWC4/ItDSv YUP7Cg3DJUsWry5prWQMA8a0vwzRqvNGehed1lXX4hJYryhsBRp73NXN8VskkTpjmmec /o1TljvqjpxbiOlK0TxKwlxgXo3OU86E5pbrNkPbfgH1sIgj+ZHqj1j0dCoGKsvp4NCB Z27Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740420178; x=1741024978; 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=QRxfoQL+pBTLKNCpBu9kbqbY4X297q/ZVa8ZHPjqplw=; b=kuz/wj0aww3JsTfwG5IEFXlElWuzmCzqA1xrzLAGy1alBRqPajaTroC9q9fXP70goE D9ShPO33yWmuM/3nQTwS+mFYhRe/3rWoZyE0/ctIcBQRSjv5a0pmyPa3I0K2/Dv9FeB/ U4Nhap+9NEVDLK/RZooGhgfWaA0uAHtRCvqVycUb35ZscuXfhYee50f5Gc/lsWPTuxJ7 o5cZ45KTo2fTqCc7nMxcAVEuD4oehAteWELqQHns/a7E6AeLkudrrrhFeQj9Ui5B9Sdc l6uqdBN2upbzCoZwPhgzIqc1Hvr3YXT7Z6Pne6IuAQFW+jr0IaspUrnZ4HNqHnINGAd8 7Y9A== X-Gm-Message-State: AOJu0YwC0WGyk1OllrC+PEPJiM8Iet6OiPVgEvHYgfBR/tUG9wljF22C hapeJ7c0gVOTiF7xFTKF1fNhAoy2ca1mrtf4x1f88Q45mmBE3Mf8rp2tudoCqtk= X-Gm-Gg: ASbGncv6qWFj7J7/oeLX27OKwj1ZrSetzWOWpRYnS81JEZymC24+cCFdcRuyMe5F3xN Pq8wRiREcY3aqpY7/VaJUsqYsOrC+c03s5iDCVQVkw/dI+dTuHWqdR42K3vflDQ2md03VNninPI C0/geDOZk7rleHKSSk0JRtEiirxgciRltpQRoOv1jQrbsgfzDwYN3gNNQNo4AJbyvZN2cQ3Z0ww 1fXpc+NRmfc2BxS9XIztUBjlwOs7fOsAQNIKSaxJJNpGfe8ppgXWPN54Cyn1cYUgqaakto0MM18 p4Y7b3aeMEE8h+cdnWX9jx7iJYu4R4rbOzWLgDWEUah6 X-Google-Smtp-Source: AGHT+IH2vkZ4qNq/k2BTmYvnntomhPccNa7QFOZ5vqVX7VxUA99Ns1FNfhFZfIv+cr8MOTzBlLBrlw== X-Received: by 2002:a17:902:d2cd:b0:220:c911:3f60 with SMTP id d9443c01a7336-221a00260e0mr232172315ad.47.1740420177678; Mon, 24 Feb 2025 10:02:57 -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.54 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 24 Feb 2025 10:02:57 -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 , Baolin Wang , Kalesh Singh , Matthew Wilcox , linux-kernel@vger.kernel.org, Kairui Song Subject: [PATCH v2 2/7] mm, swap: drop the flag TTRS_DIRECT Date: Tue, 25 Feb 2025 02:02:07 +0800 Message-ID: <20250224180212.22802-3-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 MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Queue-Id: 2D3D040027 X-Rspamd-Server: rspam07 X-Stat-Signature: g8co6q4eykpkzk4ccb7nm6kwtkkgpion X-HE-Tag: 1740420179-912432 X-HE-Meta: U2FsdGVkX19kMTeMx+czy0Wn8BCR+dfY8j34iYcHVCxlWSTxSYizAwd/zSEYoewTwltZeeyK74GVM3YjsuDs5Js07CK9/0+Qwgls4ntXezcfHE0hUy2F2S2AY17Ou9y2hAFgF7L6dZmJvSNHRCaC5dZrtFLE7gm023+XNXx8lpGMV8/G0InVyCMEJG7oCuSue/wFr2Buq9FWWmjKLxgM4eZ1ULY9PWy2ZsaLjh8BjSg/UTZfK9lbxolmOeCX3DNSI3+yYOEeLz9DF9Z1OU2eoZwfEbJU8Bf3OBP2JnePv2Y4G8OX1z7QhiwvjTvmfQmh0lYl9ZDPXxrZFP/49nZlTrbPg6f0CAzL4FSrEjniO9iJ/t43Ycl5bmb56l/J+d16Cx731xp0RMFbvf6pdSogMK4yNGRImRSP4G6+UrlCZdqeAXBVAUyyN7cxaDD4LGFURk1Vpv0C2h52DUGkFSPLw3CmlKHIOMUKXtq9ugF7EcsJbPDMUfL96fuNktpidW/tKfMpEz7rQjsXrXrt7+ppwRJ5XihtnY7Yq/TdChTqwzVVL5kC3GoLnOVd9u3oRWCXFURJbVJfZKmjoZVvP8QKNEUG7CHO8zbfG1wzjk8YQ3ClHXQ0OgEs19ZF7PrrfMhBGYsHJxYavZzay7YE2cVnF2zW6KltAsAfANpUXwpzKo6a3oyKMgmGmbmLImKnHC7DeK5YpCBNARwfRVnMJwykFpmL14nNnjT2Mhx0H32ug2Xv8zFyR2at3h0NKtQzoGFFEebjmU5e3Cz1ygCqIqzGkOyo8BDbokfnePS7wWCL7K10SjuKvjlC4184e/ewd6XE6d7qdUcO0jA1bfuqrHTB3IhwBulEgvHffd3QD3RQmyBlMrr7HMjQnRwQd4Io29FU4LQDOXR+EjFmvJqiEqm1EnR7M6DpUlNyMbT88bsV/hY0e37Ou0sq3JYsFjKvTNX8ehJjCNDJzE3kDG74DYe lciwogKN vyLG12rtmcz6Xen1Y9JaZGze0YRvj93nDAmFs8G1qZE189AoDKtltBTjPfTs2a9jG2j8lMaa3AokWBxDsZ7V16uAC3SlBi2sjQoSc9SOXJd8kc7C6uUESWF9KryTTxz07pIDO8bBs/ZimJwTjrKmnIxfzaaQ0L6/jgl2gN9aWO1DlNp7B60tVgPAxA7rXPkFtSE7ufYMsT8Ez8grp/Gwh05+HYAW8tLxiRhLHe4UOYYG77NdvgYM3GV9rnw63kc9KL2TjfuRepfoA8CpT1yBG5S1fIUOQuZBr/pyvSie1InHelybOxn8XXQ9/Z/LN6ZRWpT18uaRAIpkouZ2lf4cRJzCHq3CKhTtGRX0XiwveQhjcZpUfWmzazBNTFU0FHbYvKRWtmiK16C32eJJi3e+7njRply/m/pzMI0+cjMZBj9APc4AjW5leqdTggs514+KlGvGSxd+tbhDtuCMJWn1QW5bdscq4Do0Yzd6DNrbjsMlZYasF3srjl/puToIk67FD6F+eyvYVw2oUINiNNgku7w0LCzjASobkgr7kbtRgTx4lxHvRWLSyLB3n9aZSrRG6Gkqd8NaaqgVNeu84iCiLlD6h8q/xJVR2y5cCTDpWhCg8gfpj+wdHLNSIpocoL86lb7f3Yzk/CT6V270= 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 5618cd1c4b03..6f2de59c6355 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); @@ -697,7 +680,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 @@ -849,7 +832,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);