|
|
|
|
|
|
|
|
|
|
xen-devel
[Xen-devel] [PATCH 10/21] xenpaging: when populating a page, check if po
p2m_mem_paging_populate can be called serveral times from different
vcpus. If the page is already in state p2m_ram_paging_in and has a new
valid mfn, invalidating this new mfn will cause trouble later if
p2m_mem_paging_resume will set the new gfn/mfn pair back to state
p2m_ram_rw.
Detect this situation and keep p2m state if the page is in the process
of being still paged-out or already paged-in.
In fact, p2m state p2m_ram_paged is the only state where the mfn type
can be invalidated.
Signed-off-by: Olaf Hering <olaf@xxxxxxxxx>
---
xen/arch/x86/mm/p2m.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- xen-unstable.hg-4.1.22433.orig/xen/arch/x86/mm/p2m.c
+++ xen-unstable.hg-4.1.22433/xen/arch/x86/mm/p2m.c
@@ -2767,7 +2767,7 @@ void p2m_mem_paging_populate(struct p2m_
/* XXX: It seems inefficient to have this here, as it's only needed
* in one case (ept guest accessing paging out page) */
gfn_to_mfn(p2m, gfn, &p2mt);
- if ( p2mt != p2m_ram_paging_out )
+ if ( p2mt == p2m_ram_paged )
{
p2m_lock(p2m);
set_p2m_entry(p2m, gfn, _mfn(PAGING_MFN), 0, p2m_ram_paging_in_start);
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
<Prev in Thread] |
Current Thread |
[Next in Thread>
|
- [Xen-devel] [PATCH 07/21] xenpaging: print p2mt for already paged-in pages, (continued)
- [Xen-devel] [PATCH 07/21] xenpaging: print p2mt for already paged-in pages, Olaf Hering
- [Xen-devel] [PATCH 11/21] xenpaging: optimize p2m_mem_paging_populate, Olaf Hering
- [Xen-devel] [PATCH 13/21] xenpaging: handle temporary out-of-memory conditions during page-in, Olaf Hering
- [Xen-devel] [PATCH 09/21] xenpaging: allow negative num_pages and limit num_pages, Olaf Hering
- [Xen-devel] [PATCH 06/21] xenpaging: print info when free request slots drop below 2, Olaf Hering
- [Xen-devel] [PATCH 12/21] xenpaging: print xenpaging cmdline options, Olaf Hering
- [Xen-devel] [PATCH 08/21] xenpaging: notify policy only on resume, Olaf Hering
- [Xen-devel] [PATCH 14/21] xenpaging: increase recently used pages from 4MB to 64MB, Olaf Hering
- [Xen-devel] [PATCH 05/21] xenpaging: add signal handling, Olaf Hering
- [Xen-devel] [PATCH 10/21] xenpaging: when populating a page, check if populating is already in progress,
Olaf Hering <=
- [Xen-devel] [PATCH 18/21] xenpaging: prevent page-out of first 16MB, Olaf Hering
- [Xen-devel] [PATCH 21/21] xenpaging: (sparse) documenation, Olaf Hering
- [Xen-devel] [PATCH 20/21] xenpaging: add dynamic startup delay for xenpaging, Olaf Hering
- [Xen-devel] [PATCH 16/21] xenpaging: drop paged pages in guest_remove_page, Olaf Hering
- [Xen-devel] [PATCH 15/21] xenpaging: update machine_to_phys_mapping during page-in and page deallocation, Olaf Hering
- [Xen-devel] [PATCH 17/21] xenpaging: handle HVMCOPY_gfn_paged_out in copy_from/to_user, Olaf Hering
- [Xen-devel] [PATCH 19/21] xenpaging: start xenpaging via config option, Olaf Hering
|
|
|
|
|