From patchwork Fri Apr 4 15:59:57 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Woodhouse X-Patchwork-Id: 14038654 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 22759C369A1 for ; Fri, 4 Apr 2025 16:00:17 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 93E3B280005; Fri, 4 Apr 2025 12:00:14 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 762F2280006; Fri, 4 Apr 2025 12:00:14 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 406C2280001; Fri, 4 Apr 2025 12:00:14 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 122A1280005 for ; Fri, 4 Apr 2025 12:00:14 -0400 (EDT) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id A7F88160471 for ; Fri, 4 Apr 2025 16:00:14 +0000 (UTC) X-FDA: 83296823148.26.AC41695 Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) by imf24.hostedemail.com (Postfix) with ESMTP id 0E65718000A for ; Fri, 4 Apr 2025 16:00:11 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=infradead.org header.s=desiato.20200630 header.b=HX3tq7HI; spf=none (imf24.hostedemail.com: domain of BATV+341917c36a2da2958cd5+7894+infradead.org+dwmw2@desiato.srs.infradead.org has no SPF policy when checking 90.155.92.199) smtp.mailfrom=BATV+341917c36a2da2958cd5+7894+infradead.org+dwmw2@desiato.srs.infradead.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1743782412; h=from:from:sender: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=EggTF7jgXyqw27ORwtXsCRX4H5aiRA/a+Rh2J8KLoHU=; b=oWFL+ZFQdaHw130x8dGDFk+fXEHT4rOY7KuQipDuUI4M3wPMUzGMr8HGKRJwmnvxM6sw6p lWww9Hwni5rJUZDe2bZRDTzNxt4xHlfBQ/rlsfGE1Q3SEHINNde2k2gl57uuk18LOrjRB4 f/xEMFRwlS+jz62cms5OXV8iEdZ+LN0= ARC-Authentication-Results: i=1; imf24.hostedemail.com; dkim=pass header.d=infradead.org header.s=desiato.20200630 header.b=HX3tq7HI; spf=none (imf24.hostedemail.com: domain of BATV+341917c36a2da2958cd5+7894+infradead.org+dwmw2@desiato.srs.infradead.org has no SPF policy when checking 90.155.92.199) smtp.mailfrom=BATV+341917c36a2da2958cd5+7894+infradead.org+dwmw2@desiato.srs.infradead.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1743782412; a=rsa-sha256; cv=none; b=5PhJhIme2e9V4Y9RGQ8KDj2+RYbA6aV2rF7sQU7/0yrrKHG/uzFnMcI6JHSWtXrcawfPkl kyJbgtrlP3skV9US4lJCVOemg/I1yIh+qSmgj335qf1BEaVlM4asahG84S6jwUOqHNhHPi 4CSGGCJBBp7eQfgvbx8WcqU+G81GoQw= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From: Reply-To:Content-Type:Content-ID:Content-Description; bh=EggTF7jgXyqw27ORwtXsCRX4H5aiRA/a+Rh2J8KLoHU=; b=HX3tq7HIzG2pG87fAq0XTCafH8 DkspEeMBkCy2NMH7zp0U9SyOEyHmpaU3H7Ofz669hMx9zaObkueGN/ZaHJDQQkbbsq/szbqDptC6j MEvAedrkC8t9fR5K0oL5RA2eStCojpgVZNK5eHYm29/U4EMZDp1rdB7mREiazKOw2ClJGF36A7NMb QIxbjBiyvvLDG2KkQFeEfwESWlQlq4Cqp751opuozo+zc7k9llxAs9HYO9i3oHJ5803HtEgylCLlr E2HjVkjQaue4zB/utadXeYQG1ct50Itrnag4GetbD68mpWhqmuyE9X0df0jP2ZmVnM5XfX1TrmFxG 1Owpd5BA==; Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org) by desiato.infradead.org with esmtpsa (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0jSc-00000007QP1-0YK4; Fri, 04 Apr 2025 16:00:02 +0000 Received: from dwoodhou by i7.infradead.org with local (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0jSZ-0000000ERSN-3n5A; Fri, 04 Apr 2025 16:59:59 +0100 From: David Woodhouse To: Mike Rapoport Cc: Andrew Morton , "Sauerwein, David" , Anshuman Khandual , Ard Biesheuvel , Catalin Marinas , David Hildenbrand , Marc Zyngier , Mark Rutland , Mike Rapoport , Will Deacon , kvmarm@lists.cs.columbia.edu, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: [RFC PATCH v2 5/7] mm, PM: Use for_each_valid_pfn() in kernel/power/snapshot.c Date: Fri, 4 Apr 2025 16:59:57 +0100 Message-ID: <20250404155959.3442111-5-dwmw2@infradead.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250404155959.3442111-1-dwmw2@infradead.org> References: <20250404155959.3442111-1-dwmw2@infradead.org> MIME-Version: 1.0 X-SRS-Rewrite: SMTP reverse-path rewritten from by desiato.infradead.org. See http://www.infradead.org/rpr.html X-Rspam-User: X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: 0E65718000A X-Stat-Signature: t8xnz1ctpfxjcxxmezm6uc9c9g66mjtr X-HE-Tag: 1743782411-701141 X-HE-Meta: U2FsdGVkX1/s6MVLU8y/XNGDZQHzzcpikcYKP61iVM8a785yMW34x297Op4wXWoam8cZNZNfXSLWNhOgYArWKDboXSbBzhH6aknS0DqaHijs18nGU4E0I00F6+Ys23fl4UNsqWfG6QVrZK+AJfXrKjgH93KQUPscCyhxkcuY6qflhdcv648NAi9ywOs+iJcbEflOSsoTNGM8gh2T7EgIvaarRNFWcwj0qVdVql6k38UHrgzsWd21Q9BUcfWrTyZKMuU2Vat1Atj00cYSLm5LPQFLh4eNPQl4SfiTQpw1yndFfyk0LqOarjps+ZduWa4MpQyGI8L5NnVI9wReTyBqPktwxw4lWwsrtFkpqmDLYWa5I3vPDIthtnjOBGNG01YfwKg9Ba5X6sX7OCKXs/dMPKyX4aNufPKyo/6q/BDY1kAq4Jns5dvVLy7T7l30hKOYERo8JTeYGhDBkEwnJG+hLEggKj83PliSDy/PPII5tdQFvFMebtfbdTMfcwiQla9eyqDO/pboJpqwHrE6YThJcVneeqSl25HkQz4xn0u7mf6mIPEykzFvgXpIhOj0zjaSUq2dY8o2+6sL6U/Gl9d2sp3Q883zntIL8Nc0/WZPOiNyoXX4kGhkkOcAW5WQCdZliY6fYbssvHT5cJKNZLYMVsv01cc/WoAH1TZvRDq3PjKlDW9NgEIGN2D+nsbmrFJxQldkuzyvIXEveRnJzXGdMREI5Dk+5vMfS58cu+9ZAdInzsmFIZULYFVVnqoQG8gObKt9sT7KH0DnhrBbe1BtEe56Ag3qQq0O9sVGnpkDT9EKvDzcwJgAEiAmyvr2fCQmxq0t23HrcOSsEHnggHxLVtkfkYxwyX0GnhyAX1Fg2HpTOrxT4vIi5aNMZmbuMCDEe/OI2VswX/4KNDSqJkwjihk/4VnQEHjvv8e8SgNDc0QqT1OeZENpZ3vALIT7GvtfG+yYMt1e7Fd5sb3uSic ew4V7Iaq brKgzPeoN5fRTGOkUWMuaLUyFg28m8Ssrr+b3jvkWKmNj9WxkUFXFqiM7N2jVtJ4bI671BwMnTO2dyyPqfrxjuBrb1qsr9+sA3asR2mXLXG5UhGudvfAws9dV8dMrDjhrG2j9HiyNzsCZl4rgzUBQBBn0foBUsar6IIJP5bZKV7lUXKGVvUgmgoUWmQwE6WvZb7jGg2lSQykxLH2bQHjcWnL7bv4AsFRhuJPW3MyfGdYxG+M8t0UgaY7Uo8vdLAfM6XK7A6LpcQvhW8ARdcr0Y9OcRpH9wmTURPaJ5VsCLwOM/CJod4nqp1ubJfmgRI00V/Rf3Un6LOKlxbuHxRKdVvp+Sb9dE/U7eGe5T2AiiKuF81b14oeK3zyrNEW2FfLdVbSr9Mkbrb9spyWVgBcz/Z3pKZSBDAUNz8IAFJSsSnRX8psAzF77P0WT+ibvqwrNNyUOG89eYn/AxEPaXxYS5DadW8U2VSCV4YuZePsdkNdLZIdkgVH7UG3FOJpBpRgEvwcszs+2uTt0HTqkyLlvVTrrBKDkx+TThEGB 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: David Woodhouse Signed-off-by: David Woodhouse --- kernel/power/snapshot.c | 42 ++++++++++++++++++++--------------------- 1 file changed, 20 insertions(+), 22 deletions(-) diff --git a/kernel/power/snapshot.c b/kernel/power/snapshot.c index 4e6e24e8b854..f151c7a45584 100644 --- a/kernel/power/snapshot.c +++ b/kernel/power/snapshot.c @@ -1094,16 +1094,15 @@ static void mark_nosave_pages(struct memory_bitmap *bm) ((unsigned long long) region->end_pfn << PAGE_SHIFT) - 1); - for (pfn = region->start_pfn; pfn < region->end_pfn; pfn++) - if (pfn_valid(pfn)) { - /* - * It is safe to ignore the result of - * mem_bm_set_bit_check() here, since we won't - * touch the PFNs for which the error is - * returned anyway. - */ - mem_bm_set_bit_check(bm, pfn); - } + for_each_valid_pfn (pfn, region->start_pfn, region->end_pfn) { + /* + * It is safe to ignore the result of + * mem_bm_set_bit_check() here, since we won't + * touch the PFNs for which the error is + * returned anyway. + */ + mem_bm_set_bit_check(bm, pfn); + } } } @@ -1255,21 +1254,20 @@ static void mark_free_pages(struct zone *zone) spin_lock_irqsave(&zone->lock, flags); max_zone_pfn = zone_end_pfn(zone); - for (pfn = zone->zone_start_pfn; pfn < max_zone_pfn; pfn++) - if (pfn_valid(pfn)) { - page = pfn_to_page(pfn); + for_each_valid_pfn(pfn, zone->zone_start_pfn, max_zone_pfn) { + page = pfn_to_page(pfn); - if (!--page_count) { - touch_nmi_watchdog(); - page_count = WD_PAGE_COUNT; - } + if (!--page_count) { + touch_nmi_watchdog(); + page_count = WD_PAGE_COUNT; + } - if (page_zone(page) != zone) - continue; + if (page_zone(page) != zone) + continue; - if (!swsusp_page_is_forbidden(page)) - swsusp_unset_page_free(page); - } + if (!swsusp_page_is_forbidden(page)) + swsusp_unset_page_free(page); + } for_each_migratetype_order(order, t) { list_for_each_entry(page,