x86: add perf counter for pointless updates of writable pages through a hypercall
authorKeir Fraser <keir.fraser@citrix.com>
Thu, 12 Jun 2008 15:11:39 +0000 (16:11 +0100)
committerKeir Fraser <keir.fraser@citrix.com>
Thu, 12 Jun 2008 15:11:39 +0000 (16:11 +0100)
Signed-off-by: Jan Beulich <jbeulich@novell.com>
xen/arch/x86/mm.c
xen/include/asm-x86/perfc_defn.h

index 9ab765da867028b4ac2941b1c844383365c88366..514d66771592ba07df10fe494855e75f9256d60c 100644 (file)
@@ -2602,6 +2602,8 @@ int do_mmu_update(
                 if ( unlikely(!get_page_type(page, PGT_writable_page)) )
                     break;
 
+                perfc_incr(writable_mmu_updates);
+
                 okay = paging_write_guest_entry(v, va, req.val, _mfn(mfn));
 
                 put_page_type(page);
index 0bc2515b91455416b004853f9bc33d5f9fe39680..6012db35d268b1bd166fa0b55f888a6a0b52e69e 100644 (file)
@@ -23,6 +23,7 @@ PERFCOUNTER(calls_to_mmuext_op,         "calls to mmuext_op")
 PERFCOUNTER(num_mmuext_ops,             "mmuext ops")
 PERFCOUNTER(calls_to_mmu_update,        "calls to mmu_update")
 PERFCOUNTER(num_page_updates,           "page updates")
+PERFCOUNTER(writable_mmu_updates,       "mmu_updates of writable pages")
 PERFCOUNTER(calls_to_update_va,         "calls to update_va_map")
 PERFCOUNTER(page_faults,            "page faults")
 PERFCOUNTER(copy_user_faults,       "copy_user faults")