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 79B29C3ABDA for ; Wed, 14 May 2025 11:15:58 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9B6646B0135; Wed, 14 May 2025 07:15:53 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 96A866B0137; Wed, 14 May 2025 07:15:53 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8081A6B0138; Wed, 14 May 2025 07:15:53 -0400 (EDT) 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 60E256B0135 for ; Wed, 14 May 2025 07:15:53 -0400 (EDT) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 6AA23C0BB7 for ; Wed, 14 May 2025 11:15:55 +0000 (UTC) X-FDA: 83441258670.29.3224AA1 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by imf28.hostedemail.com (Postfix) with ESMTP id 528CEC0005 for ; Wed, 14 May 2025 11:15:53 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=Pdm6cp5Q; dmarc=pass (policy=quarantine) header.from=redhat.com; spf=pass (imf28.hostedemail.com: domain of dhildenb@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=dhildenb@redhat.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1747221353; a=rsa-sha256; cv=none; b=bMCnRBbJfI5EtwyAuG1EOzpVoUX9PsSRVBfv6fQXaG5Oa6PXWhbqHF0jlkSH04ijxyRqAy oYcxs+De0m5XixJDqpYGcXEo8OLqANVU5EX8VwLKginmhLkgCptlMqJqNgiBUXoh3RQlJU htQ4AlKonKVPp9AzBmqvSUy+wTOEWg0= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=Pdm6cp5Q; dmarc=pass (policy=quarantine) header.from=redhat.com; spf=pass (imf28.hostedemail.com: domain of dhildenb@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=dhildenb@redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1747221353; 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-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=USAeB9Dgua5+aC4n7BcswguTapqG/rE90mePm5URn3E=; b=XJ2BxnmEpPEaW99yejknb9rIvQM895qlEaSZ618sqdvbqIGsrUxM60ilebNK/jzTcl92s2 KGoqu+csWtlaS6C7RC+BVg9vqRvGSTpxqoFvXtZdg9ZVtnYEwIGIbYUVVRp5F+xCnY0k0L 23b5RyY5ecSmjPIet3WdmNh8djRRkRc= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1747221352; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=USAeB9Dgua5+aC4n7BcswguTapqG/rE90mePm5URn3E=; b=Pdm6cp5Qsp0IMm20sSf150IzIbzwmdqaZQmOXieGW8pMJ7uaDFDsFRgz8aM22plMNbgdfZ tQ36bwogwo9GkPmrbgEF63L7sSvZLts8CzqepgEhlBwquGNqdC/BRjerebCDSCvRfIDwND OluvmcGnrxTAvCSmQQumA6co7h3GGzo= Received: from mail-wr1-f71.google.com (mail-wr1-f71.google.com [209.85.221.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-636-k0JDLmBiMgKDGO6qo3HFLA-1; Wed, 14 May 2025 07:15:51 -0400 X-MC-Unique: k0JDLmBiMgKDGO6qo3HFLA-1 X-Mimecast-MFC-AGG-ID: k0JDLmBiMgKDGO6qo3HFLA_1747221350 Received: by mail-wr1-f71.google.com with SMTP id ffacd0b85a97d-3a0b2e56da1so2703209f8f.0 for ; Wed, 14 May 2025 04:15:51 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747221350; x=1747826150; 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=USAeB9Dgua5+aC4n7BcswguTapqG/rE90mePm5URn3E=; b=EraGujHpbYzEtFZL9kil2wAUVSZAxPlHwXwdY+aWlStlNYZw+EMQ3mFNhi/p0qoN2v AvKNeAoqL7esPOJWSyx8+bgbfSWtIXbzVO911H3WZxl3x88VGy2waMr5/nq5lkKiHJCI U0feTxnlOldtzgLEN6KEoTB9mD0tWHadnLk2Sz2Bd/XJA+y6OM32hPdoImqY9LDpG4y4 eNV8Z0WLMYbcooPB2VkIGXXfEX8ttf3ruk5P/WtYP0lCQH3OhMRZrwUndL8ozbaHZAgS pptWMRXOW4PwRgSgf49xi+9jZkiF8GsEfXZdr8TiLR+ZZsFKmDhgFPYQfXw2OSSMA/0B gztA== X-Gm-Message-State: AOJu0Ywcd6wdLYgurl6czC2T6jbgPVL3W4T6K0L4QzySe2VIIrvIxlrz H8btI0qEEGGuBoexd3JO3IyzLNbZSSAwL2Ofgr5nVILS0pRs2CIIiVlSO+pwL471qzHBAI4LYsq AB2/AkNv3TgsWbKVP3Q7ENxzdWCU6vV5f72oNJGIWdCDMOQ75 X-Gm-Gg: ASbGncu59Bm/yEFwHCeoWS2u3o/USiwWP9eGTRFcuTNbBmAdTW6IJ3VgwDfpo6vKO9a aFu2lLI1jvMIgW5Kt7wXzLMsXyaq9t5qIrw1CaZ+UfI0IitGKykSKDqv39sL5kvi3dhVSzOZ2kQ erD5QVL7LKoxL1vRxnKd/pq0/Sml2a7y16N4nrh2TomjDWu6b7JJQ9Z1LDDQH1epllT84T/3Zh0 YWhO3KdI0XEbHCMlZtUay7T1Z8btnLWPnIEgZJ0j7B7Gao4aeWqQ46OMiqgKuSSVpQV4dBHzp/J 5KqSbClG+lpKUhJlYj10fyuBDwTSVhv8i80brkfNl675IMKRS77E0GsmMXIlnATf2Av17oFy X-Received: by 2002:a05:6000:2a6:b0:3a0:b521:9525 with SMTP id ffacd0b85a97d-3a34969ad59mr2825494f8f.1.1747221350291; Wed, 14 May 2025 04:15:50 -0700 (PDT) X-Google-Smtp-Source: AGHT+IE7IAF/NSDrxcSU/xvaJlGrQphfZd4k82Xl6a3TRsBzfALbvBwKjpxgERH4dcJ+8qF6KaRktA== X-Received: by 2002:a05:6000:2a6:b0:3a0:b521:9525 with SMTP id ffacd0b85a97d-3a34969ad59mr2825466f8f.1.1747221349944; Wed, 14 May 2025 04:15:49 -0700 (PDT) Received: from localhost (p200300d82f156200d4851bcdd708f5df.dip0.t-ipconnect.de. [2003:d8:2f15:6200:d485:1bcd:d708:f5df]) by smtp.gmail.com with UTF8SMTPSA id ffacd0b85a97d-3a1f58f3369sm19586020f8f.57.2025.05.14.04.15.48 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 14 May 2025 04:15:49 -0700 (PDT) From: David Hildenbrand To: linux-kernel@vger.kernel.org Cc: linux-mm@kvack.org, virtualization@lists.linux.dev, David Hildenbrand , "Michael S. Tsirkin" , Jason Wang , Xuan Zhuo , =?UTF-8?q?Eugenio=20P=C3=A9rez?= , Andrew Morton , Oscar Salvador , Vlastimil Babka , Suren Baghdasaryan , Michal Hocko , Brendan Jackman , Johannes Weiner , Zi Yan , "Matthew Wilcox (Oracle)" Subject: [PATCH v1 2/2] mm/memory_hotplug: remove -EBUSY handling from scan_movable_pages() Date: Wed, 14 May 2025 13:15:44 +0200 Message-ID: <20250514111544.1012399-3-david@redhat.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250514111544.1012399-1-david@redhat.com> References: <20250514111544.1012399-1-david@redhat.com> MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: igo0FV_nOTQ4CvrdfZnBabRiFiN08KjWyx8KApUMb9Q_1747221350 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: 8bit content-type: text/plain; charset="US-ASCII"; x-default=true X-Stat-Signature: xgfn5rajotzuyfuzgqqiy1d7t4zf6ecd X-Rspam-User: X-Rspamd-Queue-Id: 528CEC0005 X-Rspamd-Server: rspam06 X-HE-Tag: 1747221353-382484 X-HE-Meta: U2FsdGVkX18FUUrVeG5x4vlYUFs/eA+MpPhSUxHqKhvTJ5RWkhekSry255ExFkGRrQQ2FziaelWF1FqW/KMsfQt742HDfofIE20Xj9zceN0LJUwfrkN+70CnEUTuAKvzGBJk72vYe0kFKbdQSOiSEE1R24LOWG9V42yqg7sdg7Zf4qt0mFsULzGl6D9+/gAIpoS0U91EtghI7WNqMTSt+iuIRUpHaPjrjah+7u4SY1zZMy7RXUUiOovh8Nlog5njHr7wCSvMDhPPIqEzjkJhtOONsqEWaxTqMFFnXNhKC/5FC7O4qLu0xkzu1w7p5cqpOWhEVDvJ7AClXgMzmwpV6vYrNNWic8GWJBT7brvPWIKh+2aTwthOriFas02D7nka15gbNFyJIe/z07Sy+qI9+6KAEuXiOo73mHCMlLUMXmJIOSvn+jQo/BgwQ/v0iuPkhBb7NKUnU/L2Vyi1Vt8ktbv6KMO8Ym0LYTvT69CY5JbCezyuDG3OXkx/Pntv2UOKqVbFfWACXGY7O8rmfJZ6NGctVg+401qlyQhiTRdnNGtb/7+8zYNJnTHkQCsxliIA2wrFyPaPpimgJjE4w19olNMf3eRBuIQvoZR/j8dBVhwl8Gy5gx7CPBmYmERTCgoZV5WomvqKmbm1HNuKJCKqXWEYiFCsBtZ2jybDRIwOn+d9sucbxdXugPnYNuvh2kadr6A5eg8GWPDjDsVTnaJ6X6HOkXVHczdLiJnHhyuuDxMXbd2aljc091XkaxBMYqQV2Np6XLf5au5D4H6ydQkJXFKGgB2ylp1w8hRh7Xgl9FCwe5BmFH7NZJGNVrsvyW81lGYKSfFe8Nw50zk82cJ5j/WblsBF78ogEsEiDf6Mx5JS1s+uuoams0JKlL2Yl/jvqY0vGGPVBGXm3AyXcVk9hkcPul5jtTmYrvNiPCMK9d/h3lMtN+epJJRme5zmKE76jiRcxwu+8+R6dnuPa6W a6pB32IG FoF3UXQKkBYrkWXSLt6vXzp2LF/JQl6um9e4TRCUD7lVu3+OJ2kUzbsmw18+jeyTVqdccf+6E71N0gBwAbGGwreTX76xlmHnJZb35ksAfuPpRdfzb7XLwMQ/kk/7r1IeHxwHZTGkVw6N2s2FAdy+mMsen3WO07N/Hd4zfI3YBbZj3/PnDTIjp4WJjy9XLjTMLUFGU6WcqblO94sJ+aH04Tz2xL4nlGI0TfVKXFlcUQIWppSJeX96jjEFiL8nSMwiguhfW1mcsPrmUVuZ78dPASF2+tQxfJ7DYKDwSvdQT8p4JdjkfoQaWiTpcfsYZXM9Z1hD0S/CDEeZgZYyGmbTYBi+F/YkWFe5CDdF62fqAHzf3byXn+k6LaxtGGD1AZZ30asLJdzpm8TqwJ/yipjA6IQEtKmD4Ur1yAZHdMOc2XVF3pEJF/MYdD2Wh5Q1LmEACor0EcXJdCw00vk7q7Caaabd3GZpaghlcIBhteJVXkf8f4KgBN+HMkgQ1Ov5bNfdKA9ONuLmjC2ZLdP2EV8JoReOq5DKIh0yGc1Sa 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: Now that we can reliably identify PageOffline() pages that allow for memory offlining in has_unmovable_pages(), start_isolate_page_range() will fail on PageOffline() pages that would prevent memory offlining, and we no longer have to detect them in scan_movable_pages() anymore. Note that the previous mechanism relied on MEM_GOING_OFFLINE, whereby we were not able to distinguish the types of PageOffline() before MEM_GOING_OFFLINE. Signed-off-by: David Hildenbrand --- mm/memory_hotplug.c | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c index 0cc5537f234bb..beace5b695aee 100644 --- a/mm/memory_hotplug.c +++ b/mm/memory_hotplug.c @@ -1743,13 +1743,11 @@ bool mhp_range_allowed(u64 start, u64 size, bool need_mapping) /* * Scan pfn range [start,end) to find movable/migratable pages (LRU pages, * non-lru movable pages and hugepages). Will skip over most unmovable - * pages (esp., pages that can be skipped when offlining), but bail out on - * definitely unmovable pages. + * pages (esp., pages that can be skipped when offlining). * * Returns: * 0 in case a movable page is found and movable_pfn was updated. * -ENOENT in case no movable page was found. - * -EBUSY in case a definitely unmovable page was found. */ static int scan_movable_pages(unsigned long start, unsigned long end, unsigned long *movable_pfn) @@ -1766,13 +1764,6 @@ static int scan_movable_pages(unsigned long start, unsigned long end, if (__PageMovable(page)) goto found; - /* - * PageOffline() pages that are neither "movable" nor - * "skippable" prevent memory offlining. - */ - if (PageOffline(page) && !PageOfflineSkippable(page)) - return -EBUSY; - if (!PageHuge(page)) continue; folio = page_folio(page); @@ -2051,11 +2042,6 @@ int offline_pages(unsigned long start_pfn, unsigned long nr_pages, } } while (!ret); - if (ret != -ENOENT) { - reason = "unmovable page"; - goto failed_removal_isolated; - } - /* * Dissolve free hugetlb folios in the memory block before doing * offlining actually in order to make hugetlbfs's object -- 2.49.0