Displaying 17 results from an estimated 17 matches for "page_discard".
2007 Apr 18
4
[patch 3/9] Guest page hinting: volatile page cache.
...page.
+ * A guest that accesses such a discarded page gets a special
+ * discard fault.
+ * - page_set_stable_if_present:
+ * The page state is set to stable if the page has not been discarded
+ * by the host. The check and the state change have to be done
+ * atomically.
+ * - page_discarded:
+ * Returns true if the page has been discarded by the host.
*/
+#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_stab...
2007 Apr 18
4
[patch 3/9] Guest page hinting: volatile page cache.
...page.
+ * A guest that accesses such a discarded page gets a special
+ * discard fault.
+ * - page_set_stable_if_present:
+ * The page state is set to stable if the page has not been discarded
+ * by the host. The check and the state change have to be done
+ * atomically.
+ * - page_discarded:
+ * Returns true if the page has been discarded by the host.
*/
+#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_stab...
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
0
[patch 6/9] Guest page hinting: writable page table entries.
...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 +63,12 @@
* from the LRU list and the radix tree of its mapping.
* page_discard uses page_unmap_all to remove all page table
* entries for a page.
+ * - page_check_writable:
+ * Checks if the page states needs to be adapted because a new
+ * writa...
2007 Apr 18
0
[patch 6/9] Guest page hinting: writable page table entries.
...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 +63,12 @@
* from the LRU list and the radix tree of its mapping.
* page_discard uses page_unmap_all to remove all page table
* entries for a page.
+ * - page_check_writable:
+ * Checks if the page states needs to be adapted because a new
+ * writa...
2007 Apr 18
2
[patch 4/9] Guest page hinting: volatile swap cache.
...s) {
- if (do_wp_page(mm, vma, address,
- page_table, pmd, ptl, pte) == VM_FAULT_OOM)
+ int rc = do_wp_page(mm, vma, address, page_table,
+ pmd, ptl, pte);
+ if (page_host_discards() && rc == VM_FAULT_MAJOR)
+ /*
+ * A discard removed the page, and do_wp_page called
+ * page_discard which removed the pte as well.
+ * handle_pte_fault needs to be repeated.
+ */
+ ret = VM_FAULT_MINOR;
+ else if (rc == VM_FAULT_OOM)
ret = VM_FAULT_OOM;
goto out;
}
diff -urpN linux-2.6/mm/page-discard.c linux-2.6-patched/mm/page-discard.c
--- linux-2.6/mm/page-discard.c 2006-09-...
2007 Apr 18
2
[patch 4/9] Guest page hinting: volatile swap cache.
...s) {
- if (do_wp_page(mm, vma, address,
- page_table, pmd, ptl, pte) == VM_FAULT_OOM)
+ int rc = do_wp_page(mm, vma, address, page_table,
+ pmd, ptl, pte);
+ if (page_host_discards() && rc == VM_FAULT_MAJOR)
+ /*
+ * A discard removed the page, and do_wp_page called
+ * page_discard which removed the pte as well.
+ * handle_pte_fault needs to be repeated.
+ */
+ ret = VM_FAULT_MINOR;
+ else if (rc == VM_FAULT_OOM)
ret = VM_FAULT_OOM;
goto out;
}
diff -urpN linux-2.6/mm/page-discard.c linux-2.6-patched/mm/page-discard.c
--- linux-2.6/mm/page-discard.c 2006-09-...
2007 Apr 18
0
[patch 9/9] Guest page hinting: full s390 support.
...6/arch/s390/Kconfig 2006-09-01 12:49:36.000000000 +0200
+++ linux-2.6-patched/arch/s390/Kconfig 2006-09-01 12:50:25.000000000 +0200
@@ -463,8 +463,13 @@ config KEXEC
current kernel, and to start another kernel. It is like a reboot
but is independent of hardware/microcode support.
+config PAGE_DISCARD_LIST
+ bool
+ default n
+
config PAGE_STATES
bool "Enable support for guest page hinting."
+ select PAGE_DISCARD_LIST
endmenu
diff -urpN linux-2.6/arch/s390/kernel/traps.c linux-2.6-patched/arch/s390/kernel/traps.c
--- linux-2.6/arch/s390/kernel/traps.c 2006-09-01 12:49:25.0000000...
2007 Apr 18
0
[patch 9/9] Guest page hinting: full s390 support.
...6/arch/s390/Kconfig 2006-09-01 12:49:36.000000000 +0200
+++ linux-2.6-patched/arch/s390/Kconfig 2006-09-01 12:50:25.000000000 +0200
@@ -463,8 +463,13 @@ config KEXEC
current kernel, and to start another kernel. It is like a reboot
but is independent of hardware/microcode support.
+config PAGE_DISCARD_LIST
+ bool
+ default n
+
config PAGE_STATES
bool "Enable support for guest page hinting."
+ select PAGE_DISCARD_LIST
endmenu
diff -urpN linux-2.6/arch/s390/kernel/traps.c linux-2.6-patched/arch/s390/kernel/traps.c
--- linux-2.6/arch/s390/kernel/traps.c 2006-09-01 12:49:25.0000000...
2009 Mar 27
16
[patch 0/6] Guest page hinting version 7.
Greetings,
the circus is back in town -- another version of the guest page hinting
patches. The patches differ from version 6 only in the kernel version,
they apply against 2.6.29. My short sniff test showed that the code
is still working as expected.
To recap (you can skip this if you read the boiler plate of the last
version of the patches):
The main benefit for guest page hinting vs. the
2009 Mar 27
16
[patch 0/6] Guest page hinting version 7.
Greetings,
the circus is back in town -- another version of the guest page hinting
patches. The patches differ from version 6 only in the kernel version,
they apply against 2.6.29. My short sniff test showed that the code
is still working as expected.
To recap (you can skip this if you read the boiler plate of the last
version of the patches):
The main benefit for guest page hinting vs. the
2009 Mar 27
16
[patch 0/6] Guest page hinting version 7.
Greetings,
the circus is back in town -- another version of the guest page hinting
patches. The patches differ from version 6 only in the kernel version,
they apply against 2.6.29. My short sniff test showed that the code
is still working as expected.
To recap (you can skip this if you read the boiler plate of the last
version of the patches):
The main benefit for guest page hinting vs. the
2007 Apr 18
1
[patch 8/9] Guest page hinting: discarded page list.
...Resets the page state after the last writable page table entry
* refering to the page has been removed.
+ * - page_shrink_discards:
+ * Frees all pages that free_hot_cold_page has put on the list of
+ * discarded pages.
*/
extern void page_unmap_all(struct page *page);
extern void page_discard(struct page *page);
+extern unsigned long page_shrink_discards(void);
static inline int page_make_stable(struct page *page)
{
diff -urpN linux-2.6/mm/page_alloc.c linux-2.6-patched/mm/page_alloc.c
--- linux-2.6/mm/page_alloc.c 2006-09-01 12:50:25.000000000 +0200
+++ linux-2.6-patched/mm/page_al...
2007 Apr 18
1
[patch 8/9] Guest page hinting: discarded page list.
...Resets the page state after the last writable page table entry
* refering to the page has been removed.
+ * - page_shrink_discards:
+ * Frees all pages that free_hot_cold_page has put on the list of
+ * discarded pages.
*/
extern void page_unmap_all(struct page *page);
extern void page_discard(struct page *page);
+extern unsigned long page_shrink_discards(void);
static inline int page_make_stable(struct page *page)
{
diff -urpN linux-2.6/mm/page_alloc.c linux-2.6-patched/mm/page_alloc.c
--- linux-2.6/mm/page_alloc.c 2006-09-01 12:50:25.000000000 +0200
+++ linux-2.6-patched/mm/page_al...