Displaying 14 results from an estimated 14 matches for "page_set_unus".
Did you mean:
page_set_unused
2007 Apr 18
2
[patch 1/9] Guest page hinting: unused / free pages.
...ows the host to avoid the paging of guest pages without
meaningful content. The host can "forget" the page content and provide
a fresh frame containing zeroes instead.
To communicate the page states "unused" and "stable" to the host two
architecture defined primitives page_set_unused() and page_set_stable()
are introduced, which are used in the page allocator. The already
existing arch_free_page is not used for page_set_unused since it is
called before the reserved pages check. In addition arch_free_page can
do anything on a given architecture, while page_set_stable() and
pag...
2007 Apr 18
2
[patch 1/9] Guest page hinting: unused / free pages.
...ows the host to avoid the paging of guest pages without
meaningful content. The host can "forget" the page content and provide
a fresh frame containing zeroes instead.
To communicate the page states "unused" and "stable" to the host two
architecture defined primitives page_set_unused() and page_set_stable()
are introduced, which are used in the page allocator. The already
existing arch_free_page is not used for page_set_unused since it is
called before the reserved pages check. In addition arch_free_page can
do anything on a given architecture, while page_set_stable() and
pag...
2007 Apr 18
0
[patch 2/9] Guest page hinting: unused / free pages on s390.
...e>
+ */
+#define page_essa(_page,_command) ({ \
+ int _rc; \
+ asm volatile(".insn rrf,0xb9ab0000,%0,%1,%2,0" \
+ : "=&d" (_rc) : "a" (((_page)-mem_map)<<PAGE_SHIFT), \
+ "i" (_command)); \
+ _rc; \
+})
+
+static inline void page_set_unused(struct page *page, int order)
+{
+ int i;
+
+ if (!MACHINE_HAS_ESSA)
+ return;
+ for (i = 0; i < (1 << order); i++)
+ page_essa(page + i, ESSA_SET_UNUSED);
+}
+
+static inline void page_set_stable(struct page *page, int order)
+{
+ int i;
+
+ if (!MACHINE_HAS_ESSA)
+ return;
+ for (i...
2007 Apr 18
0
[patch 2/9] Guest page hinting: unused / free pages on s390.
...e>
+ */
+#define page_essa(_page,_command) ({ \
+ int _rc; \
+ asm volatile(".insn rrf,0xb9ab0000,%0,%1,%2,0" \
+ : "=&d" (_rc) : "a" (((_page)-mem_map)<<PAGE_SHIFT), \
+ "i" (_command)); \
+ _rc; \
+})
+
+static inline void page_set_unused(struct page *page, int order)
+{
+ int i;
+
+ if (!MACHINE_HAS_ESSA)
+ return;
+ for (i = 0; i < (1 << order); i++)
+ page_essa(page + i, ESSA_SET_UNUSED);
+}
+
+static inline void page_set_stable(struct page *page, int order)
+{
+ int i;
+
+ if (!MACHINE_HAS_ESSA)
+ return;
+ for (i...
2007 Apr 18
0
[patch 6/9] Guest page hinting: writable page table entries.
...nclude/linux/page-states.h linux-2.6-patched/include/linux/page-states.h
--- linux-2.6/include/linux/page-states.h 2006-09-01 12:50:23.000000000 +0200
+++ linux-2.6-patched/include/linux/page-states.h 2006-09-01 12:50:24.000000000 +0200
@@ -40,7 +40,7 @@
#define page_host_discards() (0)
#define page_set_unused(_page,_order) do { } while (0)
#define page_set_stable(_page,_order) do { } while (0)
-#define page_set_volatile(_page) do { } while (0)
+#define page_set_volatile(_page,_writable) do { } while (0)
#define page_set_stable_if_present(_page) (1)
#define page_discarded(_page) (0)
@@ -63,6...
2007 Apr 18
0
[patch 6/9] Guest page hinting: writable page table entries.
...nclude/linux/page-states.h linux-2.6-patched/include/linux/page-states.h
--- linux-2.6/include/linux/page-states.h 2006-09-01 12:50:23.000000000 +0200
+++ linux-2.6-patched/include/linux/page-states.h 2006-09-01 12:50:24.000000000 +0200
@@ -40,7 +40,7 @@
#define page_host_discards() (0)
#define page_set_unused(_page,_order) do { } while (0)
#define page_set_stable(_page,_order) do { } while (0)
-#define page_set_volatile(_page) do { } while (0)
+#define page_set_volatile(_page,_writable) do { } while (0)
#define page_set_stable_if_present(_page) (1)
#define page_discarded(_page) (0)
@@ -63,6...
2007 Jun 28
6
[patch 0/6] resend: guest page hinting version 5.
Greetings,
after Carsten pitched CMM2 on the kvm mini summit here is a repost
of version 5 of the guest page hinting patches. The code is still
the same but has been adapted to the latest git level.
--
blue skies,
Martin.
"Reality continues to ruin my life." - Calvin.
2007 Jun 28
6
[patch 0/6] resend: guest page hinting version 5.
Greetings,
after Carsten pitched CMM2 on the kvm mini summit here is a repost
of version 5 of the guest page hinting patches. The code is still
the same but has been adapted to the latest git level.
--
blue skies,
Martin.
"Reality continues to ruin my life." - Calvin.
2007 May 11
6
[patch 0/6] [rfc] guest page hinting version 5
After way to many months here is the fifth version of the guest page
hinting patches. Compared to version four a few improvements have been
added:
- Avoid page_host_discards() calls outside of page-states.h
- The discard list is now implemented via the page_free_discarded
hook and architecture specific code.
- PG_state_change page flag has been replaced with architecture
specficic
2007 May 11
6
[patch 0/6] [rfc] guest page hinting version 5
After way to many months here is the fifth version of the guest page
hinting patches. Compared to version four a few improvements have been
added:
- Avoid page_host_discards() calls outside of page-states.h
- The discard list is now implemented via the page_free_discarded
hook and architecture specific code.
- PG_state_change page flag has been replaced with architecture
specficic
2007 Apr 18
4
[patch 3/9] Guest page hinting: volatile page cache.
...06-09-01 12:49:36.000000000 +0200
+++ linux-2.6-patched/include/linux/page-states.h 2006-09-01 12:49:36.000000000 +0200
@@ -16,17 +16,72 @@
#else
/* Guest page hinting architecture primitives:
+ * - page_host_discards:
+ * Indicates whether the host system discards guest pages or not.
* - page_set_unused:
* Indicates to the host that the page content is of no interest
* to the guest. The host can "forget" the page content and replace
* it with a page containing zeroes.
* - page_set_stable:
* Indicate to the host that the page content is needed by the guest.
+ *...
2007 Apr 18
4
[patch 3/9] Guest page hinting: volatile page cache.
...06-09-01 12:49:36.000000000 +0200
+++ linux-2.6-patched/include/linux/page-states.h 2006-09-01 12:49:36.000000000 +0200
@@ -16,17 +16,72 @@
#else
/* Guest page hinting architecture primitives:
+ * - page_host_discards:
+ * Indicates whether the host system discards guest pages or not.
* - page_set_unused:
* Indicates to the host that the page content is of no interest
* to the guest. The host can "forget" the page content and replace
* it with a page containing zeroes.
* - page_set_stable:
* Indicate to the host that the page content is needed by the guest.
+ *...
2007 Apr 18
0
[patch 9/9] Guest page hinting: full s390 support.
...inline int page_discarded(struct page *page)
+{
+ int state;
+
+ if (!MACHINE_HAS_ESSA)
+ return 0;
+ state = page_essa(page, ESSA_GET_STATE);
+ return (state & ESSA_USTATE_MASK) == ESSA_USTATE_VOLATILE &&
+ (state & ESSA_CSTATE_MASK) == ESSA_CSTATE_ZERO;
+}
+
static inline void page_set_unused(struct page *page, int order)
{
int i;
@@ -52,4 +68,27 @@ static inline void page_set_stable(struc
for (i = 0; i < (1 << order); i++)
page_essa(page + i, ESSA_SET_STABLE);
}
+
+static inline void page_set_volatile(struct page *page, int writable)
+{
+ if (!MACHINE_HAS_ESSA)
+ r...
2007 Apr 18
0
[patch 9/9] Guest page hinting: full s390 support.
...inline int page_discarded(struct page *page)
+{
+ int state;
+
+ if (!MACHINE_HAS_ESSA)
+ return 0;
+ state = page_essa(page, ESSA_GET_STATE);
+ return (state & ESSA_USTATE_MASK) == ESSA_USTATE_VOLATILE &&
+ (state & ESSA_CSTATE_MASK) == ESSA_CSTATE_ZERO;
+}
+
static inline void page_set_unused(struct page *page, int order)
{
int i;
@@ -52,4 +68,27 @@ static inline void page_set_stable(struc
for (i = 0; i < (1 << order); i++)
page_essa(page + i, ESSA_SET_STABLE);
}
+
+static inline void page_set_volatile(struct page *page, int writable)
+{
+ if (!MACHINE_HAS_ESSA)
+ r...