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

Ronald Klop ronald-freebsd8 at klop.yi.org
Wed Jan 30 10:03:39 UTC 2013


On Mon, 28 Jan 2013 13:54:53 +0100, Andrey Zonov <zont at freebsd.org> wrote:

> 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

Sounds very useful!

Ronald.



> 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");
> _______________________________________________
> svn-src-all at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/svn-src-all
> To unsubscribe, send any mail to "svn-src-all-unsubscribe at freebsd.org"


More information about the svn-src-all mailing list