diff options
Diffstat (limited to 'usr/src/uts/common/os/bio.c')
| -rw-r--r-- | usr/src/uts/common/os/bio.c | 10 | 
1 files changed, 10 insertions, 0 deletions
| diff --git a/usr/src/uts/common/os/bio.c b/usr/src/uts/common/os/bio.c index 0db01f80d7..c3d04e5508 100644 --- a/usr/src/uts/common/os/bio.c +++ b/usr/src/uts/common/os/bio.c @@ -21,6 +21,7 @@  /*   * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.   * Use is subject to license terms. + * Copyright 2011 Joyent, Inc.  All rights reserved.   */  /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/ @@ -1320,6 +1321,9 @@ pageio_setup(struct page *pp, size_t len, struct vnode *vp, int flags)  		cpup = CPU;	/* get pointer AFTER preemption is disabled */  		CPU_STATS_ADDQ(cpup, vm, pgin, 1);  		CPU_STATS_ADDQ(cpup, vm, pgpgin, btopr(len)); + +		atomic_add_64(&curzone->zone_pgpgin, btopr(len)); +  		if ((flags & B_ASYNC) == 0) {  			klwp_t *lwp = ttolwp(curthread);  			if (lwp != NULL) @@ -1336,13 +1340,19 @@ pageio_setup(struct page *pp, size_t len, struct vnode *vp, int flags)  		if (pp != NULL && pp->p_vnode != NULL) {  			if (IS_SWAPFSVP(pp->p_vnode)) {  				CPU_STATS_ADDQ(cpup, vm, anonpgin, btopr(len)); +				atomic_add_64(&curzone->zone_anonpgin, +				    btopr(len));  			} else {  				if (pp->p_vnode->v_flag & VVMEXEC) {  					CPU_STATS_ADDQ(cpup, vm, execpgin,  					    btopr(len)); +					atomic_add_64(&curzone->zone_execpgin, +					    btopr(len));  				} else {  					CPU_STATS_ADDQ(cpup, vm, fspgin,  					    btopr(len)); +					atomic_add_64(&curzone->zone_fspgin, +					    btopr(len));  				}  			}  		} | 
