x86/mm: Properly account for paged out pages
authorAndres Lagar-Cavilla <andres@lagarcavilla.org>
Thu, 26 Jan 2012 13:21:27 +0000 (13:21 +0000)
committerAndres Lagar-Cavilla <andres@lagarcavilla.org>
Thu, 26 Jan 2012 13:21:27 +0000 (13:21 +0000)
If we hit the page after nominate but before paging it out, don't decrement the
domain count of paged out pages.

Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org>
Acked-by: Tim Deegan <tim@xen.org>
Committed-by: Tim Deegan <tim@xen.org>
xen/arch/x86/mm/p2m.c

index 3080d2c1fbf24b870dcaec236bc7c89e919312b0..844766a5e51d2cf5eb3fe8ac1bee5cabeb0561d4 100644 (file)
@@ -1041,7 +1041,8 @@ int p2m_mem_paging_prep(struct domain *d, unsigned long gfn, uint64_t buffer)
                     p2m_ram_rw, a);
     set_gpfn_from_mfn(mfn_x(mfn), gfn);
 
-    atomic_dec(&d->paged_pages);
+    if ( !page_extant )
+        atomic_dec(&d->paged_pages);
 
     ret = 0;