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>, Baoquan He <bhe@redhat.com>,
Pankaj Gupta <pankaj.gupta.linux@gmail.com>,
Andrew Morton <akpm@linux-foundation.org>,
Michal Hocko <mhocko@suse.com>,
"Michael S . Tsirkin" <mst@redhat.com>,
Mike Kravetz <mike.kravetz@oracle.com>
Subject: [PATCH v2 4/6] mm/page_isolation: cleanup set_migratetype_isolate()
Date: Thu, 30 Jul 2020 11:34:14 +0200 [thread overview]
Message-ID: <20200730093416.36210-5-david@redhat.com> (raw)
In-Reply-To: <20200730093416.36210-1-david@redhat.com>
Let's clean it up a bit, simplifying error handling and getting rid of
the label.
Reviewed-by: Baoquan He <bhe@redhat.com>
Reviewed-by: Pankaj Gupta <pankaj.gupta.linux@gmail.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Michael S. Tsirkin <mst@redhat.com>
Cc: Mike Kravetz <mike.kravetz@oracle.com>
Signed-off-by: David Hildenbrand <david@redhat.com>
---
mm/page_isolation.c | 17 +++++++----------
1 file changed, 7 insertions(+), 10 deletions(-)
diff --git a/mm/page_isolation.c b/mm/page_isolation.c
index d099aac479601..e65fe5d770849 100644
--- a/mm/page_isolation.c
+++ b/mm/page_isolation.c
@@ -17,12 +17,9 @@
static int set_migratetype_isolate(struct page *page, int migratetype, int isol_flags)
{
- struct page *unmovable = NULL;
- struct zone *zone;
+ struct zone *zone = page_zone(page);
+ struct page *unmovable;
unsigned long flags;
- int ret = -EBUSY;
-
- zone = page_zone(page);
spin_lock_irqsave(&zone->lock, flags);
@@ -51,13 +48,13 @@ static int set_migratetype_isolate(struct page *page, int migratetype, int isol_
NULL);
__mod_zone_freepage_state(zone, -nr_pages, mt);
- ret = 0;
+ spin_unlock_irqrestore(&zone->lock, flags);
+ drain_all_pages(zone);
+ return 0;
}
spin_unlock_irqrestore(&zone->lock, flags);
- if (!ret) {
- drain_all_pages(zone);
- } else if ((isol_flags & REPORT_FAILURE) && unmovable) {
+ if (isol_flags & REPORT_FAILURE) {
/*
* printk() with zone->lock held will likely trigger a
* lockdep splat, so defer it here.
@@ -65,7 +62,7 @@ static int set_migratetype_isolate(struct page *page, int migratetype, int isol_
dump_page(unmovable, "unmovable page");
}
- return ret;
+ return -EBUSY;
}
static void unset_migratetype_isolate(struct page *page, unsigned migratetype)
--
2.26.2
next prev parent reply other threads:[~2020-07-30 9:34 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-07-30 9:34 [PATCH v2 0/6] mm / virtio-mem: support ZONE_MOVABLE David Hildenbrand
2020-07-30 9:34 ` [PATCH v2 1/6] mm/page_isolation: don't dump_page(NULL) in set_migratetype_isolate() David Hildenbrand
2020-07-30 9:34 ` [PATCH v2 2/6] mm/page_alloc: tweak comments in has_unmovable_pages() David Hildenbrand
2020-07-30 9:34 ` [PATCH v2 3/6] mm/page_isolation: drop WARN_ON_ONCE() in set_migratetype_isolate() David Hildenbrand
2020-07-30 9:34 ` David Hildenbrand [this message]
2020-08-06 13:35 ` [PATCH v2 4/6] mm/page_isolation: cleanup set_migratetype_isolate() Vlastimil Babka
2020-08-06 13:35 ` Vlastimil Babka
2020-08-06 14:19 ` David Hildenbrand
2020-08-06 14:19 ` David Hildenbrand
2020-07-30 9:34 ` [PATCH v2 5/6] virtio-mem: don't special-case ZONE_MOVABLE David Hildenbrand
2020-07-30 9:34 ` [PATCH v2 6/6] mm: document semantics of 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=20200730093416.36210-5-david@redhat.com \
--to=david@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=bhe@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mhocko@suse.com \
--cc=mike.kravetz@oracle.com \
--cc=mst@redhat.com \
--cc=pankaj.gupta.linux@gmail.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.