From: David Hildenbrand <david@redhat.com>
To: linux-mm@kvack.org
Cc: Michal Hocko <mhocko@suse.com>,
"Michael S. Tsirkin" <mst@redhat.com>,
Arnd Bergmann <arnd@arndb.de>,
linux-pm@vger.kernel.org, pv-drivers@vmware.com,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
linux-doc@vger.kernel.org, kexec-ml <kexec@lists.infradead.org>,
linux-kernel@vger.kernel.org,
Matthew Wilcox <willy@infradead.org>,
Xavier Deguillard <xdeguillard@vmware.com>,
Julien Freche <jfreche@vmware.com>, Nadav Amit <namit@vmware.com>,
xen-devel@lists.xenproject.org, linux-fsdevel@vger.kernel.org,
devel@linuxdriverproject.org,
David Hildenbrand <david@redhat.com>,
Andrew Morton <akpm@linux-foundation.org>
Subject: [PATCH v1 6/8] vmw_balloon: mark inflated pages PG_offline
Date: Mon, 19 Nov 2018 11:16:14 +0100 [thread overview]
Message-ID: <20181119101616.8901-7-david@redhat.com> (raw)
In-Reply-To: <20181119101616.8901-1-david@redhat.com>
Mark inflated and never onlined pages PG_offline, to tell the world that
the content is stale and should not be dumped.
Cc: Xavier Deguillard <xdeguillard@vmware.com>
Cc: Nadav Amit <namit@vmware.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Julien Freche <jfreche@vmware.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Matthew Wilcox <willy@infradead.org>
Cc: Michal Hocko <mhocko@suse.com>
Cc: "Michael S. Tsirkin" <mst@redhat.com>
Signed-off-by: David Hildenbrand <david@redhat.com>
---
drivers/misc/vmw_balloon.c | 32 ++++++++++++++++++++++++++++++++
1 file changed, 32 insertions(+)
diff --git a/drivers/misc/vmw_balloon.c b/drivers/misc/vmw_balloon.c
index e6126a4b95d3..8cc8bd9a4e32 100644
--- a/drivers/misc/vmw_balloon.c
+++ b/drivers/misc/vmw_balloon.c
@@ -544,6 +544,36 @@ unsigned int vmballoon_page_order(enum vmballoon_page_size_type page_size)
return page_size == VMW_BALLOON_2M_PAGE ? VMW_BALLOON_2M_ORDER : 0;
}
+/**
+ * vmballoon_mark_page_offline() - mark a page as offline
+ * @page: pointer for the page
+ * @page_size: the size of the page.
+ */
+static void
+vmballoon_mark_page_offline(struct page *page,
+ enum vmballoon_page_size_type page_size)
+{
+ int i;
+
+ for (i = 0; i < 1ULL << vmballoon_page_order(page_size); i++)
+ __SetPageOffline(page + i);
+}
+
+/**
+ * vmballoon_mark_page_online() - mark a page as online
+ * @page: pointer for the page
+ * @page_size: the size of the page.
+ */
+static void
+vmballoon_mark_page_online(struct page *page,
+ enum vmballoon_page_size_type page_size)
+{
+ int i;
+
+ for (i = 0; i < 1ULL << vmballoon_page_order(page_size); i++)
+ __ClearPageOffline(page + i);
+}
+
/**
* vmballoon_page_in_frames() - returns the number of frames in a page.
* @page_size: the size of the page.
@@ -612,6 +642,7 @@ static int vmballoon_alloc_page_list(struct vmballoon *b,
ctl->page_size);
if (page) {
+ vmballoon_mark_page_offline(page, ctl->page_size);
/* Success. Add the page to the list and continue. */
list_add(&page->lru, &ctl->pages);
continue;
@@ -850,6 +881,7 @@ static void vmballoon_release_page_list(struct list_head *page_list,
list_for_each_entry_safe(page, tmp, page_list, lru) {
list_del(&page->lru);
+ vmballoon_mark_page_online(page, page_size);
__free_pages(page, vmballoon_page_order(page_size));
}
--
2.17.2
_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec
WARNING: multiple messages have this Message-ID (diff)
From: David Hildenbrand <david@redhat.com>
To: linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org,
devel@linuxdriverproject.org, linux-fsdevel@vger.kernel.org,
linux-pm@vger.kernel.org, xen-devel@lists.xenproject.org,
kexec-ml <kexec@lists.infradead.org>,
pv-drivers@vmware.com, David Hildenbrand <david@redhat.com>,
Xavier Deguillard <xdeguillard@vmware.com>,
Nadav Amit <namit@vmware.com>, Arnd Bergmann <arnd@arndb.de>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Julien Freche <jfreche@vmware.com>,
Andrew Morton <akpm@linux-foundation.org>,
Matthew Wilcox <willy@infradead.org>,
Michal Hocko <mhocko@suse.com>,
"Michael S. Tsirkin" <mst@redhat.com>
Subject: [PATCH v1 6/8] vmw_balloon: mark inflated pages PG_offline
Date: Mon, 19 Nov 2018 11:16:14 +0100 [thread overview]
Message-ID: <20181119101616.8901-7-david@redhat.com> (raw)
In-Reply-To: <20181119101616.8901-1-david@redhat.com>
Mark inflated and never onlined pages PG_offline, to tell the world that
the content is stale and should not be dumped.
Cc: Xavier Deguillard <xdeguillard@vmware.com>
Cc: Nadav Amit <namit@vmware.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Julien Freche <jfreche@vmware.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Matthew Wilcox <willy@infradead.org>
Cc: Michal Hocko <mhocko@suse.com>
Cc: "Michael S. Tsirkin" <mst@redhat.com>
Signed-off-by: David Hildenbrand <david@redhat.com>
---
drivers/misc/vmw_balloon.c | 32 ++++++++++++++++++++++++++++++++
1 file changed, 32 insertions(+)
diff --git a/drivers/misc/vmw_balloon.c b/drivers/misc/vmw_balloon.c
index e6126a4b95d3..8cc8bd9a4e32 100644
--- a/drivers/misc/vmw_balloon.c
+++ b/drivers/misc/vmw_balloon.c
@@ -544,6 +544,36 @@ unsigned int vmballoon_page_order(enum vmballoon_page_size_type page_size)
return page_size == VMW_BALLOON_2M_PAGE ? VMW_BALLOON_2M_ORDER : 0;
}
+/**
+ * vmballoon_mark_page_offline() - mark a page as offline
+ * @page: pointer for the page
+ * @page_size: the size of the page.
+ */
+static void
+vmballoon_mark_page_offline(struct page *page,
+ enum vmballoon_page_size_type page_size)
+{
+ int i;
+
+ for (i = 0; i < 1ULL << vmballoon_page_order(page_size); i++)
+ __SetPageOffline(page + i);
+}
+
+/**
+ * vmballoon_mark_page_online() - mark a page as online
+ * @page: pointer for the page
+ * @page_size: the size of the page.
+ */
+static void
+vmballoon_mark_page_online(struct page *page,
+ enum vmballoon_page_size_type page_size)
+{
+ int i;
+
+ for (i = 0; i < 1ULL << vmballoon_page_order(page_size); i++)
+ __ClearPageOffline(page + i);
+}
+
/**
* vmballoon_page_in_frames() - returns the number of frames in a page.
* @page_size: the size of the page.
@@ -612,6 +642,7 @@ static int vmballoon_alloc_page_list(struct vmballoon *b,
ctl->page_size);
if (page) {
+ vmballoon_mark_page_offline(page, ctl->page_size);
/* Success. Add the page to the list and continue. */
list_add(&page->lru, &ctl->pages);
continue;
@@ -850,6 +881,7 @@ static void vmballoon_release_page_list(struct list_head *page_list,
list_for_each_entry_safe(page, tmp, page_list, lru) {
list_del(&page->lru);
+ vmballoon_mark_page_online(page, page_size);
__free_pages(page, vmballoon_page_order(page_size));
}
--
2.17.2
next prev parent reply other threads:[~2018-11-19 10:17 UTC|newest]
Thread overview: 116+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-11-19 10:16 [PATCH v1 0/8] mm/kdump: allow to exclude pages that are logically offline David Hildenbrand
2018-11-19 10:16 ` David Hildenbrand
2018-11-19 10:16 ` David Hildenbrand
2018-11-19 10:16 ` [PATCH v1 1/8] mm: balloon: update comment about isolation/migration/compaction David Hildenbrand
2018-11-19 10:16 ` David Hildenbrand
2018-11-21 1:56 ` Michael S. Tsirkin
2018-11-21 1:56 ` Michael S. Tsirkin
2018-11-21 1:56 ` Michael S. Tsirkin
2018-11-21 1:56 ` Michael S. Tsirkin
2018-11-19 10:16 ` David Hildenbrand
2018-11-19 10:16 ` [PATCH v1 2/8] mm: convert PG_balloon to PG_offline David Hildenbrand
2018-11-19 10:16 ` David Hildenbrand
2018-11-19 10:16 ` David Hildenbrand
2018-11-19 11:56 ` Konstantin Khlebnikov
2018-11-19 11:56 ` Konstantin Khlebnikov
2018-11-19 11:56 ` Konstantin Khlebnikov
2018-11-19 11:56 ` Konstantin Khlebnikov
2018-11-19 16:06 ` David Hildenbrand
2018-11-19 16:06 ` David Hildenbrand
2018-11-19 16:06 ` David Hildenbrand
2018-11-19 16:06 ` David Hildenbrand
2018-11-21 1:58 ` Michael S. Tsirkin
2018-11-21 1:58 ` Michael S. Tsirkin
2018-11-21 1:58 ` Michael S. Tsirkin
2018-11-21 1:58 ` Michael S. Tsirkin
2018-11-21 2:44 ` Pankaj Gupta
2018-11-21 2:44 ` Pankaj Gupta
2018-11-21 2:44 ` Pankaj Gupta
2018-11-21 2:44 ` Pankaj Gupta
2018-11-19 10:16 ` David Hildenbrand
2018-11-19 10:16 ` [PATCH v1 3/8] kexec: export PG_offline to VMCOREINFO David Hildenbrand
2018-11-19 10:16 ` David Hildenbrand
2018-11-21 1:59 ` Michael S. Tsirkin
2018-11-21 1:59 ` Michael S. Tsirkin
2018-11-21 1:59 ` Michael S. Tsirkin
2018-11-21 2:58 ` Dave Young
2018-11-21 2:58 ` Dave Young
2018-11-21 2:58 ` Dave Young
2018-11-21 2:58 ` Dave Young
2018-11-21 6:04 ` Baoquan He
2018-11-21 6:04 ` Baoquan He
2018-11-21 6:04 ` Baoquan He
2018-11-21 6:04 ` Baoquan He
2018-11-21 8:50 ` David Hildenbrand
2018-11-21 8:50 ` David Hildenbrand
2018-11-21 8:50 ` David Hildenbrand
2018-11-19 10:16 ` David Hildenbrand
2018-11-19 10:16 ` [PATCH v1 4/8] xen/balloon: mark inflated pages PG_offline David Hildenbrand
2018-11-19 10:16 ` David Hildenbrand
2018-11-19 12:22 ` Juergen Gross
2018-11-19 12:22 ` Juergen Gross
2018-11-19 12:22 ` Juergen Gross
2018-11-19 13:07 ` David Hildenbrand
2018-11-19 13:07 ` David Hildenbrand
2018-11-19 13:07 ` David Hildenbrand
2018-11-19 13:07 ` David Hildenbrand
2018-11-19 10:16 ` David Hildenbrand
2018-11-19 10:16 ` [PATCH v1 5/8] hv_balloon: " David Hildenbrand
2018-11-19 10:16 ` David Hildenbrand
2018-11-20 8:45 ` Pankaj Gupta
2018-11-20 8:45 ` Pankaj Gupta
2018-11-20 8:45 ` Pankaj Gupta
2018-11-20 8:49 ` David Hildenbrand
2018-11-20 8:49 ` David Hildenbrand
2018-11-20 9:37 ` Pankaj Gupta
2018-11-20 9:37 ` Pankaj Gupta
2018-11-21 1:04 ` Pankaj Gupta
2018-11-21 1:04 ` Pankaj Gupta
2018-11-21 1:04 ` Pankaj Gupta
2018-11-20 9:37 ` Pankaj Gupta
2018-11-20 8:49 ` David Hildenbrand
2018-11-19 10:16 ` David Hildenbrand
2018-11-19 10:16 ` [PATCH v1 6/8] vmw_balloon: " David Hildenbrand
2018-11-19 10:16 ` David Hildenbrand [this message]
2018-11-19 10:16 ` David Hildenbrand
2018-11-21 3:22 ` Nadav Amit
2018-11-21 3:22 ` Nadav Amit
2018-11-21 3:22 ` Nadav Amit
2018-11-21 8:54 ` David Hildenbrand
2018-11-21 8:54 ` David Hildenbrand
2018-11-21 8:54 ` David Hildenbrand
2018-11-19 10:16 ` [PATCH v1 7/8] PM / Hibernate: use pfn_to_online_page() David Hildenbrand
2018-11-19 10:16 ` David Hildenbrand
2018-11-19 12:13 ` Michal Hocko
2018-11-19 12:13 ` Michal Hocko
2018-11-19 12:13 ` Michal Hocko
2018-11-19 13:16 ` Pavel Machek
2018-11-19 13:16 ` Pavel Machek
2018-11-19 13:16 ` Pavel Machek
2018-11-20 21:23 ` Rafael J. Wysocki
2018-11-20 21:23 ` Rafael J. Wysocki
2018-11-20 21:23 ` Rafael J. Wysocki
2018-11-19 10:16 ` David Hildenbrand
2018-11-19 10:16 ` [PATCH v1 8/8] PM / Hibernate: exclude all PageOffline() pages David Hildenbrand
2018-11-19 10:16 ` David Hildenbrand
2018-11-19 10:16 ` David Hildenbrand
2018-11-20 21:22 ` Rafael J. Wysocki
2018-11-20 21:22 ` Rafael J. Wysocki
2018-11-20 21:22 ` Rafael J. Wysocki
2018-11-21 11:35 ` William Kucharski
2018-11-21 11:35 ` William Kucharski
2018-11-21 11:35 ` William Kucharski
2018-11-21 12:21 ` David Hildenbrand
2018-11-21 12:21 ` David Hildenbrand
2018-11-21 12:21 ` David Hildenbrand
2018-11-21 11:35 ` William Kucharski
2018-11-19 10:18 ` [PATCH v1] makedumpfile: exclude pages that are logically offline David Hildenbrand
2018-11-19 10:18 ` David Hildenbrand
2018-11-19 10:18 ` David Hildenbrand
2018-11-21 14:58 ` Kazuhito Hagio
2018-11-21 14:58 ` Kazuhito Hagio
2018-11-21 14:58 ` Kazuhito Hagio
2018-11-21 14:58 ` Kazuhito Hagio
2018-11-21 15:35 ` David Hildenbrand
2018-11-21 15:35 ` David Hildenbrand
2018-11-21 15:35 ` 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=20181119101616.8901-7-david@redhat.com \
--to=david@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=arnd@arndb.de \
--cc=devel@linuxdriverproject.org \
--cc=gregkh@linuxfoundation.org \
--cc=jfreche@vmware.com \
--cc=kexec@lists.infradead.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linux-pm@vger.kernel.org \
--cc=mhocko@suse.com \
--cc=mst@redhat.com \
--cc=namit@vmware.com \
--cc=pv-drivers@vmware.com \
--cc=willy@infradead.org \
--cc=xdeguillard@vmware.com \
--cc=xen-devel@lists.xenproject.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.