svn commit: r248938 - head/sys/amd64/vmm/io

Neel Natu neel at FreeBSD.org
Sun Mar 31 03:56:49 UTC 2013


Author: neel
Date: Sun Mar 31 03:56:48 2013
New Revision: 248938
URL: http://svnweb.freebsd.org/changeset/base/248938

Log:
  Add counter to keep track of the number of timer interrupts generated by
  the local apic for each virtual cpu.

Modified:
  head/sys/amd64/vmm/io/vlapic.c

Modified: head/sys/amd64/vmm/io/vlapic.c
==============================================================================
--- head/sys/amd64/vmm/io/vlapic.c	Sun Mar 31 02:03:34 2013	(r248937)
+++ head/sys/amd64/vmm/io/vlapic.c	Sun Mar 31 03:56:48 2013	(r248938)
@@ -41,6 +41,7 @@ __FBSDID("$FreeBSD$");
 
 #include <machine/vmm.h>
 
+#include "vmm_stat.h"
 #include "vmm_lapic.h"
 #include "vmm_ktr.h"
 #include "vdev.h"
@@ -410,6 +411,8 @@ vlapic_periodic_timer(struct vlapic *vla
 	return (vlapic_get_lvt_field(lvt, APIC_LVTT_TM_PERIODIC));
 }
 
+static VMM_STAT(VLAPIC_INTR_TIMER, "timer interrupts generated by vlapic");
+
 static void
 vlapic_fire_timer(struct vlapic *vlapic)
 {
@@ -419,6 +422,7 @@ vlapic_fire_timer(struct vlapic *vlapic)
 	lvt = vlapic_get_lvt(vlapic, APIC_OFFSET_TIMER_LVT);
 
 	if (!vlapic_get_lvt_field(lvt, APIC_LVTT_M)) {
+		vmm_stat_incr(vlapic->vm, vlapic->vcpuid, VLAPIC_INTR_TIMER, 1);
 		vector = vlapic_get_lvt_field(lvt,APIC_LVTT_VECTOR);
 		vlapic_set_intr_ready(vlapic, vector);
 	}


More information about the svn-src-all mailing list