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 81E64E77188 for ; Mon, 30 Dec 2024 17:46:47 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 04BE26B0089; Mon, 30 Dec 2024 12:46:47 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id F3C1E6B008A; Mon, 30 Dec 2024 12:46:46 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id DDD676B008C; Mon, 30 Dec 2024 12:46:46 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id BDD6C6B0089 for ; Mon, 30 Dec 2024 12:46:46 -0500 (EST) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 71BADB060E for ; Mon, 30 Dec 2024 17:46:46 +0000 (UTC) X-FDA: 82952354142.23.70BF82D Received: from mail-pl1-f170.google.com (mail-pl1-f170.google.com [209.85.214.170]) by imf22.hostedemail.com (Postfix) with ESMTP id E7568C0015 for ; Mon, 30 Dec 2024 17:45:55 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b="jHNz/891"; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf22.hostedemail.com: domain of ryncsn@gmail.com designates 209.85.214.170 as permitted sender) smtp.mailfrom=ryncsn@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1735580760; a=rsa-sha256; cv=none; b=pm3pdoaguJ+ymfPZMlkd5NWtbm0BLSi+/ksD7Cqj0PUKhsnFFpPk0LUJxcabX0ohmEDr2F YlGEoFgWZDXs+5caekONaQDSy0Mirs5MHXIiImDGLTcZVb9+HHMW6NXxyHFeRSSMP/feMv pHyz8N2gX0u10dHzzVOgPi7eRSaPJ/A= ARC-Authentication-Results: i=1; imf22.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b="jHNz/891"; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf22.hostedemail.com: domain of ryncsn@gmail.com designates 209.85.214.170 as permitted sender) smtp.mailfrom=ryncsn@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1735580760; 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=rZtcJl9C6ncR1PQN3HhaQn7BWhIvEYupFW/4U59A+e4=; b=bnmX3pmtZN4TB/lRiiXwijqsAF4BuYTnZ6pQ/n2rFv7qTXnhhUnKwtYjBKoawvhREeXFfe VZum8HjP9+gSLbz1wghDazySRcB4jXH/nuRln5ft5Tfgh+O2qc7yh3/jBfLcMHUgqEUEEd /HTdGK1zoOoHL3AxnxJVIzu/QPoyqsg= Received: by mail-pl1-f170.google.com with SMTP id d9443c01a7336-21636268e43so25560285ad.2 for ; Mon, 30 Dec 2024 09:46:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1735580802; x=1736185602; 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=rZtcJl9C6ncR1PQN3HhaQn7BWhIvEYupFW/4U59A+e4=; b=jHNz/891BcSxox2YsNUnt8jXWHBhBnyvUBGB4Tr+2H4vSqIR9FDWvOWBuUulSnkp7t Qqv5dWW4r2r3HdwBHBQahc/fzZNCqxiCejEAltfSGxhq1xabmHVqU6I8jFSPTcNPssm+ NeSp0QPj4GMXNAnTh+YO/wCdbb3BsLY2Wp/Zsv57EXhoWtzsX320soT4m8R33TRFQzhZ QRl+60pwBLnjy3ES1GSFjkBjSBZ/n8n4owgpaPb0UgE5K7xOtg3cQ1DqskxL0VIZROm1 SJs9cmR+Eyo8WIAA1OooTh+axWp5/go9alkAoFRl6nL0u8mZAcc0sNgy83SpGCAjXT6e kT7g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1735580802; x=1736185602; 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=rZtcJl9C6ncR1PQN3HhaQn7BWhIvEYupFW/4U59A+e4=; b=miAsC7ARQCz3Ff0Fl/bk14KHAXdfUknUrrHLykCyxKYx5McR8PWgujDy9MQvzAqCwd nslg18U+/OcyeFnaICAW6Xz4+GNlshjHP9YJ1lI2k/HUWtiGiuoPJef32m5VxSBGwe/N mfPa/O1m0W6OZnxXDDEbcXiF048N8VvpwfAUMGnKdKO/c5p3r8lyzwBr1yQGbAwoYLWg HserIM+H7XfgJdGV8AahTXRctbT5B1PorBnZP49Yo9vk8oWBCWL7WB3MWmveeu62/DA0 Nqv3P175eLVz2cgYYp0cMDmyLeEs2G5+iBDYPL6CCRXOGwqhdeAvNR/FkFgesZhKsDUv xlvA== X-Gm-Message-State: AOJu0Yz7aw46+VDKEt2be1eEco/qSLWy4DNvyTPRidA7c289sFUBvr0Q vIKyxvaQCPKR5jhRi3UOYHTafVitvk8lmjzae7dD4yBTH1bHyoIptNuX6YXNQLCozA== X-Gm-Gg: ASbGncsElDtORSsT0G0toCecylI7oiQmJtCrcQwNXpKDfKYGBFK3HN8JCHhs3M2Q72A WMupIEiDsw3YrSvMrpO/FRuspe89nBJJpd2OfQjXIbPg1r9hncn4YGi0icMvKquSBAnFNXjcdld uHIkIi/pPZPy91TpX4wtwVXSzQbQrE4VkoynTGb8gb/GCFEXSjJI1mWbixPzQwATAM+n4zjxxv/ sGN2y/OWoVTtiOlN4HHWaEpUpyu6myppEjjcrqlxhCTaqRQoHZaYYpDRD3LiMHp0RKSxkXHiwmy X-Google-Smtp-Source: AGHT+IGH7NBcYgvpsSru6Cqjs4ALQbwGu05N3l2ACnPnzFiwqgWBlvKXNj5Nr+qZiwuAszQVoGrkOw== X-Received: by 2002:a17:903:22c3:b0:216:6769:9eea with SMTP id d9443c01a7336-219e6f133ccmr516396175ad.37.1735580802454; Mon, 30 Dec 2024 09:46:42 -0800 (PST) Received: from KASONG-MC4.tencent.com ([1.203.117.231]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-219dc9cdf25sm180687695ad.118.2024.12.30.09.46.39 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 30 Dec 2024 09:46:42 -0800 (PST) From: Kairui Song To: linux-mm@kvack.org Cc: Andrew Morton , Chris Li , Barry Song , Ryan Roberts , Hugh Dickins , Yosry Ahmed , "Huang, Ying" , Nhat Pham , Johannes Weiner , Kalesh Singh , linux-kernel@vger.kernel.org, Kairui Song Subject: [PATCH v3 02/13] mm, swap: fold swap_info_get_cont in the only caller Date: Tue, 31 Dec 2024 01:46:10 +0800 Message-ID: <20241230174621.61185-3-ryncsn@gmail.com> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20241230174621.61185-1-ryncsn@gmail.com> References: <20241230174621.61185-1-ryncsn@gmail.com> Reply-To: Kairui Song MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Stat-Signature: kffma5zdxb6wuemwxs8r8femt34zu65m X-Rspam-User: X-Rspamd-Queue-Id: E7568C0015 X-Rspamd-Server: rspam08 X-HE-Tag: 1735580755-941276 X-HE-Meta: U2FsdGVkX1+xmZPWZBD/LKESK6x7s3SMl8Nq2fy4sSKPN+h7dzS92RsSpZ/aiomwoxU5XDDe4TTl+7Obf86rnTvmFiooTIvHS7pQ7m/yzgmeRIgWyXbRG+muw8vklYz9wMSbvhALNDcnUHzjOpQ4lScTLFdPS/Utg6K5LoWG0D+3NEa8SymiHd9goevRGM/CfsIyRnaaNEiVqE/LYqlUsj5pU8iMSoUWrbunEvtWFjRL1UtDucvwYlB8sU3p+QahUeKwm8Ui/dxuMoiTKqZExVNlX/+CAmIU3O6Vx3XhPIM8+B5Q6Oj+POzyfOqRPI5Q9vXDhCl+tcdxZUgdErQjZYcDtr/cYOKSi2TGGIgMJKinBbxSz2t++gDIGM5QQ8jtAIHcxvfLpodK2n0o3quhq8y+cKQutcD5t/ohlM4eTRJxcwCxOG4JbfaCvDZsro1FCw48+/YrJVuDivaXqsQ0RD+9j43Qq1RW2vr6v7+EP8xxNKcnWSd2sqzi5f6exO5qkDBn4kePpk5TKn8iYILq3XAqNTJEvpGAEvC84zHzS3fLpiUBkoYbsN/3jvo555eHWJUOtBA4JDc/fyRo9397m6Cnrml3m93E9siEtvo7jUwnqWAcHLzcjKsbtY+gMvi5cvqTuzRGpS3bpLxC1Yo7MyrvOXxwJCDK/o6HILirTVllUOdhirwJwK4c0tzBPV5o7kVFqaPhKqJFHadoA7m+8ZAmj9kHV4A2nFOj5W0uHK/BKFX2TBxeVHvhE0fa4Ve+xc8a5155d4eVGVi4dGD4IEg5MGh3GdXx+HGozv/F2vbL3ORD9s9NGMnEL+bDyFoxqVhjUAeL6cxX5n4zvj0iCmmEEUBEkD2v8qY451doqHBSuLnCmAmVyvL9qRDAUFA9CZ5cWG2ovYwBNMrJv+iwMSzRKA2ObgyaUyY3ijZt7nKtUsSze8tVePqPl1cFYycsQMfZr7KRf+waunkY4ty WdMxngrR 196Fozz49bIg9jJRDHtCfNYSNBynn7BONcBXEbxaBrX8lUyboygVOMwbERQkxgi9gX3cN1C/MYF//x19MQiSRpT8dgPsjZ7zN/O/3JfCqYnHyW9Z4IhdyqK7mMzM5H+aGoP6Q5rPzPmYTrD8KHaLhA5e18g8Lh5+v/ADHuDOijy3COzsokFoyhw29HbCUKwdH/rNTMPcV0dmuhGj0+dCkNpQQd1jofvVHjg7xxWTchQ8y93pAI82emlQkf22RuQbE75HYoVr2UORWYcTtWJ9iGZ+6J5lGghpoOM/Myvq7iXp2Pakx5XqE+XIwwMCj50aM8Pfv0QymaaVPoOrimYBoZ+3Zpn45o5cVrH91HXkZeRx4FsK9D1AthavDo6gnBbqizsJacuR1Ba7OnEf0tvj0Ym3VlySz2XW9BCjg5pufzX9yG138WacVosUY0CiHl+2/tLndxIgqq2VResE7mXWw5WmR3p0yakAUQcphchFRDV4s4R2FjxnMKd/r9qAtOPu03U53Tb039T3S5OXvAf09+ZmeOYNjjcE3febN/M1NKtF92uNL8BHEjdrbhup7nbana04i 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: From: Kairui Song The name of the function is confusing, and the code is much easier to follow after folding, also rename the confusing naming "p" to more meaningful "si". Signed-off-by: Kairui Song --- mm/swapfile.c | 39 +++++++++++++++------------------------ 1 file changed, 15 insertions(+), 24 deletions(-) diff --git a/mm/swapfile.c b/mm/swapfile.c index f8002f110104..574059158627 100644 --- a/mm/swapfile.c +++ b/mm/swapfile.c @@ -1375,22 +1375,6 @@ static struct swap_info_struct *_swap_info_get(swp_entry_t entry) return NULL; } -static struct swap_info_struct *swap_info_get_cont(swp_entry_t entry, - struct swap_info_struct *q) -{ - struct swap_info_struct *p; - - p = _swap_info_get(entry); - - if (p != q) { - if (q != NULL) - spin_unlock(&q->lock); - if (p != NULL) - spin_lock(&p->lock); - } - return p; -} - static unsigned char __swap_entry_free_locked(struct swap_info_struct *si, unsigned long offset, unsigned char usage) @@ -1687,14 +1671,14 @@ static int swp_entry_cmp(const void *ent1, const void *ent2) void swapcache_free_entries(swp_entry_t *entries, int n) { - struct swap_info_struct *p, *prev; + struct swap_info_struct *si, *prev; int i; if (n <= 0) return; prev = NULL; - p = NULL; + si = NULL; /* * Sort swap entries by swap device, so each lock is only taken once. @@ -1704,13 +1688,20 @@ void swapcache_free_entries(swp_entry_t *entries, int n) if (nr_swapfiles > 1) sort(entries, n, sizeof(entries[0]), swp_entry_cmp, NULL); for (i = 0; i < n; ++i) { - p = swap_info_get_cont(entries[i], prev); - if (p) - swap_entry_range_free(p, entries[i], 1); - prev = p; + si = _swap_info_get(entries[i]); + + if (si != prev) { + if (prev != NULL) + spin_unlock(&prev->lock); + if (si != NULL) + spin_lock(&si->lock); + } + if (si) + swap_entry_range_free(si, entries[i], 1); + prev = si; } - if (p) - spin_unlock(&p->lock); + if (si) + spin_unlock(&si->lock); } int __swap_count(swp_entry_t entry) -- 2.47.1