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 2E175C3ABA9 for ; Wed, 30 Apr 2025 00:54:59 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2E4816B00CD; Tue, 29 Apr 2025 20:54:57 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 294F66B00CE; Tue, 29 Apr 2025 20:54:57 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0E6D46B00CF; Tue, 29 Apr 2025 20:54:57 -0400 (EDT) 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 E16B86B00CD for ; Tue, 29 Apr 2025 20:54:56 -0400 (EDT) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 2081A121430 for ; Tue, 29 Apr 2025 23:38:55 +0000 (UTC) X-FDA: 83388699030.10.AF9CC5D Received: from mail-yw1-f176.google.com (mail-yw1-f176.google.com [209.85.128.176]) by imf08.hostedemail.com (Postfix) with ESMTP id 57654160002 for ; Tue, 29 Apr 2025 23:38:53 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=XzieBSin; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf08.hostedemail.com: domain of nphamcs@gmail.com designates 209.85.128.176 as permitted sender) smtp.mailfrom=nphamcs@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1745969933; a=rsa-sha256; cv=none; b=MMsqAf6izA1cnnTcB7gV6w1etDP2XuuE/2ATzj5It7UTLQQLqkFX9Ojx1jB2bNesZX25vK /qTF6fs8pVDm3CgSoC2dwPSEXnNTu/pfB82UrVqKv9IITY82Il8FJQZK7BCIopa6qcF/TE HOyYz3W4t6+AgaCgYpqGK0aUwgotXpg= ARC-Authentication-Results: i=1; imf08.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=XzieBSin; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf08.hostedemail.com: domain of nphamcs@gmail.com designates 209.85.128.176 as permitted sender) smtp.mailfrom=nphamcs@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1745969933; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=14KDt7UXK6qD0EIwc8xBiPaJIpnP0mlTkZz3fHF5ExI=; b=VTL8Tsw3JlYEYQPmiD4IYzwqdVY+vf7GCHStPc87bB7JjH7D7kEgXKxIvpAH38OJlDo6jS VhBacZAqCZCeRqUmk/xEE4mGevZzX96NGugkN9xdK8TdL7Ar9FYW3NSnYFKtnTdQ+qriz5 pZKYIh7d2j7rBIphHYnnuhaYt76I7oM= Received: by mail-yw1-f176.google.com with SMTP id 00721157ae682-6ff37565232so53761267b3.3 for ; Tue, 29 Apr 2025 16:38:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1745969932; x=1746574732; darn=kvack.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=14KDt7UXK6qD0EIwc8xBiPaJIpnP0mlTkZz3fHF5ExI=; b=XzieBSin6Sgn0Bte+L0uTd2HYpg/n5mKa6WxctHMPkdyPIW+AFsQkhUYk804c6+deg vmjLOFhWE2RlQn9fOkY/oFTIYL+LCFMAL6tbyBDcQE8+j5/UwWzA54AzE8iJo0vwUjLI o4Ok0K/+QirJTeBATP0fjYjK9/WFT7OA6ikKhbTRh3VwvRbwZcBEhA/8GfKZQhJzyHmY HFivu76EEfVaXRjKCeFI/qX8cTWYmmm8acMmrdQ3aHqmnhLVw822iHybThc9WkYNV9ri tCQuwzZb12bG0c10Q1Wsf7FAxSmijeg0G1mf+THk+cz8Z6V8cYpeBSq1tA0krB60tGki 4rGg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745969932; x=1746574732; h=content-transfer-encoding:mime-version: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=14KDt7UXK6qD0EIwc8xBiPaJIpnP0mlTkZz3fHF5ExI=; b=Idp5o7+OddM2u3uwiAQ5AwPNgu/KDH2Qi4TejtdsykmDjzbzzFLlVTRukQtubSL3oA 4w4nmkG0DAne5vnGyi/E9pQNUwwUp2Y0TFO1vVP312xqk7cwfGZeuAbNJ5ivXq88uQlI TO1/gS4rAUMdrxuDaRUlRdEa9XNH5dkN+CTvAXiKwu4AfGKZPnrANeUqtfhuYZShYFnt Lv9YZ+JzLOnbOGYmf7lN3jv9gjjij3srQ1l1ci9eEvF9Odrjp/w4SDPGxxXFQUgjaBer 2ez8gxvrIVxUQ2z5ljLzTtIL7AYXktu379lrbAXgWYJTi00c6AQ88Axcq99u0xFiXmCG bBVw== X-Gm-Message-State: AOJu0YzRs990M0XLtyRyzKXR6MlDB5oEcLtL1UENXxQzKe3oBJ0+lEr1 TaswfFUJckW60IhnLrm5BLGa+aHvdbRQzAsOFskhP/d4ThJHv7WpY5rcfw== X-Gm-Gg: ASbGncsdxjWhapsLk/sR2K+I9HRAn0LM/cguGrU5Vbj/ndaYT7xOm6KxA6g04KpP4Q9 HUfULAQqbQL13Z7qDL9hqQLciHMJeYBo8CuSyCh1zeYmEvqbnNRNRSdSVK9EeqXojsFAsSlWoyF zd0/1dQnzvYJ+X8zWWBUdyC45MRJnDYiL5BpRTX9n8w5A8TruWNceIaGYcC8Qb6oXnb/6ZUtIWB 6PWl88NlobsuqTGG7Rm++rPJ4NwFRSBz1o2gsDO24+9GBDpOzu0Iak18u0dMm7xOFgiNXjl7zOZ F3cj08zTv5vmZpMVEP5soHpdiBd6+ko= X-Google-Smtp-Source: AGHT+IFL1V6HRFg2K9+CUxVQ7bHrWgmJ7ZUqXAol+JA4ERhhSJiPwEl2QI+sts6PXu02TZGnUD2BvA== X-Received: by 2002:a05:690c:1b:b0:6fe:bfb7:68bd with SMTP id 00721157ae682-708abd46579mr21773787b3.1.1745969932210; Tue, 29 Apr 2025 16:38:52 -0700 (PDT) Received: from localhost ([2a03:2880:25ff:2::]) by smtp.gmail.com with ESMTPSA id 00721157ae682-708ae068ee9sm753227b3.53.2025.04.29.16.38.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Apr 2025 16:38:51 -0700 (PDT) From: Nhat Pham To: linux-mm@kvack.org Cc: akpm@linux-foundation.org, hannes@cmpxchg.org, hughd@google.com, yosry.ahmed@linux.dev, mhocko@kernel.org, roman.gushchin@linux.dev, shakeel.butt@linux.dev, muchun.song@linux.dev, len.brown@intel.com, chengming.zhou@linux.dev, kasong@tencent.com, chrisl@kernel.org, huang.ying.caritas@gmail.com, ryan.roberts@arm.com, viro@zeniv.linux.org.uk, baohua@kernel.org, osalvador@suse.de, lorenzo.stoakes@oracle.com, christophe.leroy@csgroup.eu, pavel@kernel.org, kernel-team@meta.com, linux-kernel@vger.kernel.org, cgroups@vger.kernel.org, linux-pm@vger.kernel.org, peterx@redhat.com Subject: [RFC PATCH v2 03/18] swapfile: rearrange freeing steps Date: Tue, 29 Apr 2025 16:38:31 -0700 Message-ID: <20250429233848.3093350-4-nphamcs@gmail.com> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250429233848.3093350-1-nphamcs@gmail.com> References: <20250429233848.3093350-1-nphamcs@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspam-User: X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: 57654160002 X-Stat-Signature: epfg3orsgfuizn5rx64p4u91i8ipbnuu X-HE-Tag: 1745969933-511120 X-HE-Meta: U2FsdGVkX18zdAg/Z+r0rwQsRidoRlcaszO0+DurX/k4jRCzLwX0RCD90HzoiAUW9tN0tXfAt/kLgO6JR5AdSTIuBG+jLUgzC2mYt7B15m6450odEFg2Kma9dwCVNBgEhmBQabJSiI1LgE4WSyu9iS+5rc1Hv1z1g7HR01igc2iHH99yAkALqBbsWIF+jko0w7dI8nx2G9Wb3e9LPMuwu/B8kXujfhk6qy6BsT9X7soY0F5x0p8P+vITvOf6j5Ks0FV3n9wGa5dBDTt7u/gOeQcI4mgMSY/TjaO5BFDKMhhRp0BI8Jv5tv8m6vQ4ZpVO8Z3SePRcMzAGobJS9Uy6w5xtYnzDk7QcfCTFduMemml466eziKY2+/WuWC/RgJIY7uUqEL3gdOTFoHWuvbMBjsZs4jl2bhVlyxrfnGyyYatx89YoTOY0kIUsMk5evGca2MoSpC6fwHkQJH5nztqiJMUsc6prmgZsmb7Zj2E1PitEaGVQWvEC5l/X5XKuxLETPdLA7GoR5MpOXFvRZGimzLCxmwmNoS1SH+sGuQS6zNu25cW4IxBV4Mxa9jzXgGks8eM5Z+YX+S7gP9XPzzRU3Xh0ZUiMTTBppGpSs80zLFQYooFQIX7DaCjhEpfedvQp63NTClz4jA3fRij8tHBnypBMhob7kesLwDdiLuGTVWcsnYhY2q3BICl5lyWCKSya0vLumufn5I1w0WW9UyoNPf584d2ODo3B2N/2Fn/Ab/wG/ZRyvKot938rjAp72dMw8bOQIl0jFhlD2p5+TdJwoMtsFqU9jJt5UEemTM3dl7EzGIU9Ltp7QtFMkXTf7fZqaDU3RTIXoY8JHPXAQzctuSo3TPZLECSNE73xhfTZOMTpaPKCtMKSCEE9FdyEnC4BpbpP6NXA/1W6vxnETjAEYzZIXTV1TgWjAIuK6T6X3t0A2SQWAgaQ0FPlqpXadC7a+aB9IActq6hwQ+jY5sH fzdTEMKZ SR97PXM8b3c//Bxncul10q8OQ489gy3n8S2JjddhDTnyPcBLbP2uBqAOWptNGJvVsvsV4R4RNhgmvw3TIFqOfhhtrHzVQH0kvr9EsMjDq3UWvITyZzGJIydRpfR/MOyd5NS37WUtpvpIWwaYIQhyPl7c38oTWMotWL+EVRVz71ohK91I58q8Fn+I+QIzrAgMztQLCme2reSOMiy8DuwWIQ5enUpkyN/2oozPzzZkfOdteHZ4S6pIYtJAcclrmWC/s6b9v0SKNaVs8THFUvted7XsWjPiQENEwqav2RfvzELFsIaqmXUkzRJaRrmaGZ7U6d04DJ3JS0AEpew9KoJ9wP6VxkB/MfamPZfEOL9T3SvC+ZbmT9U46oxaAXFgmKwO8UVK7JMsbFE3ws+fsLUWrbbumrX3yjtICSDVWBRCKd1o3YU6rKMDlqoXC1C5z2JV0T+E0iLjCEVsqIkv+2jioudVC4o+Y5Tj7oDHSX3QrKwDnKmpE5pwN7sFNOZiBXcwdV6QpHs5JgQJ04N9QJ0BefvnZkFT2RYbsqbWe 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: In the swap free path, certain steps (cgroup uncharging and shadow clearing) will be handled at the virtual layer eventually. To facilitate this change, rearrange these functions a bit in their caller. There should not be any functional change. Signed-off-by: Nhat Pham --- mm/swapfile.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/mm/swapfile.c b/mm/swapfile.c index 426674d35983..e717d0e7ae6b 100644 --- a/mm/swapfile.c +++ b/mm/swapfile.c @@ -1129,6 +1129,8 @@ static void swap_range_free(struct swap_info_struct *si, unsigned long offset, void (*swap_slot_free_notify)(struct block_device *, unsigned long); unsigned int i; + clear_shadow_from_swap_cache(si->type, begin, end); + /* * Use atomic clear_bit operations only on zeromap instead of non-atomic * bitmap_clear to prevent adjacent bits corruption due to simultaneous writes. @@ -1149,7 +1151,6 @@ static void swap_range_free(struct swap_info_struct *si, unsigned long offset, swap_slot_free_notify(si->bdev, offset); offset++; } - clear_shadow_from_swap_cache(si->type, begin, end); /* * Make sure that try_to_unuse() observes si->inuse_pages reaching 0 @@ -1502,6 +1503,8 @@ static void swap_entry_range_free(struct swap_info_struct *si, unsigned char *map = si->swap_map + offset; unsigned char *map_end = map + nr_pages; + mem_cgroup_uncharge_swap(entry, nr_pages); + /* It should never free entries across different clusters */ VM_BUG_ON(ci != offset_to_cluster(si, offset + nr_pages - 1)); VM_BUG_ON(cluster_is_empty(ci)); @@ -1513,7 +1516,6 @@ static void swap_entry_range_free(struct swap_info_struct *si, *map = 0; } while (++map < map_end); - mem_cgroup_uncharge_swap(entry, nr_pages); swap_range_free(si, offset, nr_pages); if (!ci->count) -- 2.47.1