Date: Tue, 9 Aug 2016 04:41:33 +0000 (UTC) From: Mark Johnston <markj@FreeBSD.org> To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r303866 - in user/alc/PQ_LAUNDRY/sys: sys vm Message-ID: <201608090441.u794fXaB032013@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: markj Date: Tue Aug 9 04:41:33 2016 New Revision: 303866 URL: https://svnweb.freebsd.org/changeset/base/303866 Log: Repurpose v_reactivate to count reactivations by the pagedaemon threads. Suggested and reviewed by: alc Modified: user/alc/PQ_LAUNDRY/sys/sys/vmmeter.h user/alc/PQ_LAUNDRY/sys/vm/vm_meter.c user/alc/PQ_LAUNDRY/sys/vm/vm_page.c user/alc/PQ_LAUNDRY/sys/vm/vm_pageout.c Modified: user/alc/PQ_LAUNDRY/sys/sys/vmmeter.h ============================================================================== --- user/alc/PQ_LAUNDRY/sys/sys/vmmeter.h Tue Aug 9 03:47:38 2016 (r303865) +++ user/alc/PQ_LAUNDRY/sys/sys/vmmeter.h Tue Aug 9 04:41:33 2016 (r303866) @@ -75,7 +75,7 @@ struct vmmeter { u_int v_vnodepgsin; /* (p) vnode_pager pages paged in */ u_int v_vnodepgsout; /* (p) vnode pager pages paged out */ u_int v_intrans; /* (p) intransit blocking page faults */ - u_int v_reactivated; /* (f) pages reactivated from free list */ + u_int v_reactivated; /* (p) pages reactivated by the pagedaemon */ u_int v_pdwakeups; /* (p) times daemon has awaken from sleep */ u_int v_pdpages; /* (p) pages analyzed by daemon */ Modified: user/alc/PQ_LAUNDRY/sys/vm/vm_meter.c ============================================================================== --- user/alc/PQ_LAUNDRY/sys/vm/vm_meter.c Tue Aug 9 03:47:38 2016 (r303865) +++ user/alc/PQ_LAUNDRY/sys/vm/vm_meter.c Tue Aug 9 04:41:33 2016 (r303866) @@ -286,7 +286,7 @@ VM_STATS_VM(v_vnodeout, "Vnode pager pag VM_STATS_VM(v_vnodepgsin, "Vnode pages paged in"); VM_STATS_VM(v_vnodepgsout, "Vnode pages paged out"); VM_STATS_VM(v_intrans, "In transit page faults"); -VM_STATS_VM(v_reactivated, "Pages reactivated from free list"); +VM_STATS_VM(v_reactivated, "Pages reactivated by pagedaemon"); VM_STATS_VM(v_pdwakeups, "Pagedaemon wakeups"); VM_STATS_VM(v_pdpages, "Pages analyzed by pagedaemon"); VM_STATS_VM(v_tcached, "Total pages cached"); Modified: user/alc/PQ_LAUNDRY/sys/vm/vm_page.c ============================================================================== --- user/alc/PQ_LAUNDRY/sys/vm/vm_page.c Tue Aug 9 03:47:38 2016 (r303865) +++ user/alc/PQ_LAUNDRY/sys/vm/vm_page.c Tue Aug 9 04:41:33 2016 (r303866) @@ -1727,9 +1727,7 @@ vm_page_alloc(vm_object_t object, vm_pin ("vm_page_alloc: cached page %p is PG_ZERO", m)); KASSERT(m->valid != 0, ("vm_page_alloc: cached page %p is invalid", m)); - if (m->object == object && m->pindex == pindex) - vm_cnt.v_reactivated++; - else + if (m->object != object || m->pindex != pindex) m->valid = 0; m_object = m->object; vm_page_cache_remove(m); Modified: user/alc/PQ_LAUNDRY/sys/vm/vm_pageout.c ============================================================================== --- user/alc/PQ_LAUNDRY/sys/vm/vm_pageout.c Tue Aug 9 03:47:38 2016 (r303865) +++ user/alc/PQ_LAUNDRY/sys/vm/vm_pageout.c Tue Aug 9 04:41:33 2016 (r303866) @@ -954,6 +954,7 @@ vm_pageout_launder(struct vm_domain *vmd } if (act_delta != 0) { if (object->ref_count != 0) { + PCPU_INC(cnt.v_reactivated); vm_page_activate(m); /* @@ -1351,6 +1352,7 @@ unlock_page: } if (act_delta != 0) { if (object->ref_count != 0) { + PCPU_INC(cnt.v_reactivated); vm_page_activate(m); /*
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201608090441.u794fXaB032013>