From: David Hildenbrand <david@redhat.com>
To: linux-kernel@vger.kernel.org
Cc: virtualization@lists.linux-foundation.org, linux-mm@kvack.org,
David Hildenbrand <david@redhat.com>,
Andrew Morton <akpm@linux-foundation.org>,
Michal Hocko <mhocko@suse.com>,
"Michael S . Tsirkin" <mst@redhat.com>
Subject: [PATCH v1 3/6] mm/page_isolation: drop WARN_ON_ONCE() in set_migratetype_isolate()
Date: Tue, 30 Jun 2020 16:26:36 +0200 [thread overview]
Message-ID: <20200630142639.22770-4-david@redhat.com> (raw)
In-Reply-To: <20200630142639.22770-1-david@redhat.com>
Inside has_unmovable_pages(), we have a comment describing how unmovable
data could end up in ZONE_MOVABLE - via "movable_core". Also, besides
checking if the first page in the pageblock is reserved, we don't
perform any further checks in case of ZONE_MOVABLE.
In case of memory offlining, we set REPORT_FAILURE, properly
dump_page() the page and handle the error gracefully.
alloc_contig_pages() users currently never allocate from ZONE_MOVABLE.
E.g., hugetlb uses alloc_contig_pages() for the allocation of gigantic
pages only, which will never end up on the MOVABLE zone
(see htlb_alloc_mask()).
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: David Hildenbrand <david@redhat.com>
---
mm/page_isolation.c | 16 ++++++----------
1 file changed, 6 insertions(+), 10 deletions(-)
diff --git a/mm/page_isolation.c b/mm/page_isolation.c
index 553b49a34cf71..02a01bff6b219 100644
--- a/mm/page_isolation.c
+++ b/mm/page_isolation.c
@@ -58,16 +58,12 @@ static int set_migratetype_isolate(struct page *page, int migratetype, int isol_
spin_unlock_irqrestore(&zone->lock, flags);
if (!ret) {
drain_all_pages(zone);
- } else {
- WARN_ON_ONCE(zone_idx(zone) == ZONE_MOVABLE);
-
- if ((isol_flags & REPORT_FAILURE) && unmovable)
- /*
- * printk() with zone->lock held will likely trigger a
- * lockdep splat, so defer it here.
- */
- dump_page(unmovable, "unmovable page");
- }
+ } else if ((isol_flags & REPORT_FAILURE) && unmovable)
+ /*
+ * printk() with zone->lock held will likely trigger a
+ * lockdep splat, so defer it here.
+ */
+ dump_page(unmovable, "unmovable page");
return ret;
}
--
2.26.2
next prev parent reply other threads:[~2020-06-30 14:27 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-06-30 14:26 [PATCH v1 0/6] mm / virtio-mem: support ZONE_MOVABLE David Hildenbrand
2020-06-30 14:26 ` [PATCH v1 1/6] mm/page_alloc: tweak comments in has_unmovable_pages() David Hildenbrand
2020-07-28 13:48 ` Baoquan He
2020-07-28 14:07 ` David Hildenbrand
2020-07-29 10:47 ` Baoquan He
2020-07-29 12:29 ` David Hildenbrand
2020-06-30 14:26 ` [PATCH v1 2/6] mm/page_isolation: don't dump_page(NULL) in set_migratetype_isolate() David Hildenbrand
2020-07-28 13:56 ` Baoquan He
2020-07-29 17:31 ` Mike Kravetz
2020-07-29 18:08 ` David Hildenbrand
2020-07-29 18:35 ` Mike Kravetz
2020-07-29 18:41 ` David Hildenbrand
2020-07-30 4:21 ` Pankaj Gupta
2020-06-30 14:26 ` David Hildenbrand [this message]
2020-07-29 13:24 ` [PATCH v1 3/6] mm/page_isolation: drop WARN_ON_ONCE() " Baoquan He
2020-07-29 13:37 ` David Hildenbrand
2020-07-29 14:05 ` Baoquan He
2020-06-30 14:26 ` [PATCH v1 4/6] mm/page_isolation: cleanup set_migratetype_isolate() David Hildenbrand
2020-07-29 14:06 ` Baoquan He
2020-07-30 4:31 ` Pankaj Gupta
2020-06-30 14:26 ` [PATCH v1 5/6] mm/page_alloc: restrict ZONE_MOVABLE optimization in has_unmovable_pages() to memory offlining David Hildenbrand
2020-07-27 12:23 ` David Hildenbrand
2020-06-30 14:26 ` [PATCH v1 6/6] virtio-mem: don't special-case ZONE_MOVABLE David Hildenbrand
2020-07-21 9:59 ` [PATCH v1 0/6] mm / virtio-mem: support ZONE_MOVABLE David Hildenbrand
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200630142639.22770-4-david@redhat.com \
--to=david@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mhocko@suse.com \
--cc=mst@redhat.com \
--cc=virtualization@lists.linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).