svn commit: r246032 - in head/sys: sys vm

Andrey Zonov zont at FreeBSD.org
Mon Jan 28 12:54:54 UTC 2013


Author: zont
Date: Mon Jan 28 12:54:53 2013
New Revision: 246032
URL: http://svnweb.freebsd.org/changeset/base/246032

Log:
  - Add system wide page faults requiring I/O counter.
  
  Reviewed by:	alc
  MFC after:	2 weeks

Modified:
  head/sys/sys/vmmeter.h
  head/sys/vm/vm_fault.c
  head/sys/vm/vm_meter.c

Modified: head/sys/sys/vmmeter.h
==============================================================================
--- head/sys/sys/vmmeter.h	Mon Jan 28 12:50:16 2013	(r246031)
+++ head/sys/sys/vmmeter.h	Mon Jan 28 12:54:53 2013	(r246032)
@@ -61,6 +61,7 @@ struct vmmeter {
 	 * Virtual memory activity.
 	 */
 	u_int v_vm_faults;	/* (p) address memory faults */
+	u_int v_io_faults;	/* (p) page faults requiring I/O */
 	u_int v_cow_faults;	/* (p) copy-on-writes faults */
 	u_int v_cow_optim;	/* (p) optimized copy-on-writes faults */
 	u_int v_zfod;		/* (p) pages zero filled on demand */

Modified: head/sys/vm/vm_fault.c
==============================================================================
--- head/sys/vm/vm_fault.c	Mon Jan 28 12:50:16 2013	(r246031)
+++ head/sys/vm/vm_fault.c	Mon Jan 28 12:54:53 2013	(r246032)
@@ -939,9 +939,10 @@ vnode_locked:
 	 * Unlock everything, and return
 	 */
 	unlock_and_deallocate(&fs);
-	if (hardfault)
+	if (hardfault) {
+		PCPU_INC(cnt.v_io_faults);
 		curthread->td_ru.ru_majflt++;
-	else
+	} else 
 		curthread->td_ru.ru_minflt++;
 
 	return (KERN_SUCCESS);

Modified: head/sys/vm/vm_meter.c
==============================================================================
--- head/sys/vm/vm_meter.c	Mon Jan 28 12:50:16 2013	(r246031)
+++ head/sys/vm/vm_meter.c	Mon Jan 28 12:54:53 2013	(r246032)
@@ -283,6 +283,7 @@ VM_STATS_SYS(v_syscall, "System calls");
 VM_STATS_SYS(v_intr, "Device interrupts");
 VM_STATS_SYS(v_soft, "Software interrupts");
 VM_STATS_VM(v_vm_faults, "Address memory faults");
+VM_STATS_VM(v_io_faults, "Page faults requiring I/O");
 VM_STATS_VM(v_cow_faults, "Copy-on-write faults");
 VM_STATS_VM(v_cow_optim, "Optimized COW faults");
 VM_STATS_VM(v_zfod, "Pages zero-filled on demand");


More information about the svn-src-head mailing list