search for: page_set_unus

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...