From owner-svn-src-head@freebsd.org Thu Nov 10 19:55:46 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id BD6F3C3A13E; Thu, 10 Nov 2016 19:55:46 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 793E6C19; Thu, 10 Nov 2016 19:55:46 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id uAAJtjnp014003; Thu, 10 Nov 2016 19:55:45 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id uAAJtjEM013998; Thu, 10 Nov 2016 19:55:45 GMT (envelope-from markj@FreeBSD.org) Message-Id: <201611101955.uAAJtjEM013998@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Thu, 10 Nov 2016 19:55:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r308489 - in head/usr.bin: systat top vmstat X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Nov 2016 19:55:46 -0000 Author: markj Date: Thu Nov 10 19:55:45 2016 New Revision: 308489 URL: https://svnweb.freebsd.org/changeset/base/308489 Log: Add the laundry page count to the displays of systat, top, and vmstat. Reviewed by: alc, kib Differential Revision: https://reviews.freebsd.org/D8467 Modified: head/usr.bin/systat/systat.1 head/usr.bin/systat/vmstat.c head/usr.bin/top/machine.c head/usr.bin/top/top.local.1 head/usr.bin/vmstat/vmstat.c Modified: head/usr.bin/systat/systat.1 ============================================================================== --- head/usr.bin/systat/systat.1 Thu Nov 10 19:50:19 2016 (r308488) +++ head/usr.bin/systat/systat.1 Thu Nov 10 19:55:45 2016 (r308489) @@ -28,7 +28,7 @@ .\" @(#)systat.1 8.2 (Berkeley) 12/30/93 .\" $FreeBSD$ .\" -.Dd October 24, 2015 +.Dd November 10, 2016 .Dt SYSTAT 1 .Os .Sh NAME @@ -411,7 +411,7 @@ as amounts of memory in kilobytes, pages wired down (`wire'), active pages (`act'), inactive pages (`inact'), -pages on the cache queue (`cache'), +dirty pages queued for laundering (`laund'), and free pages (`free'). Note that the values displayed are the current transient ones; Modified: head/usr.bin/systat/vmstat.c ============================================================================== --- head/usr.bin/systat/vmstat.c Thu Nov 10 19:50:19 2016 (r308488) +++ head/usr.bin/systat/vmstat.c Thu Nov 10 19:55:45 2016 (r308489) @@ -92,7 +92,7 @@ static struct Info { u_int v_vnodepgsin; /* vnode_pager pages paged in */ u_int v_vnodepgsout; /* vnode pager pages paged out */ u_int v_intrans; /* intransit blocking page faults */ - u_int v_reactivated; /* number of pages reactivated from free list */ + u_int v_reactivated; /* number of pages reactivated by pagedaemon */ u_int v_pdwakeups; /* number of times daemon has awaken from sleep */ u_int v_pdpages; /* number of pages analyzed by daemon */ @@ -107,7 +107,7 @@ static struct Info { u_int v_wire_count; /* number of pages wired down */ u_int v_active_count; /* number of pages active */ u_int v_inactive_count; /* number of pages inactive */ - u_int v_cache_count; /* number of pages on buffer cache queue */ + u_int v_laundry_count; /* number of pages in laundry queue */ u_long v_kmem_map_size; /* Current kmem allocation size */ struct vmtotal Total; struct nchstats nchstats; @@ -343,7 +343,7 @@ labelkre(void) mvprintw(VMSTATROW + 12, VMSTATCOL + 9, "wire"); mvprintw(VMSTATROW + 13, VMSTATCOL + 9, "act"); mvprintw(VMSTATROW + 14, VMSTATCOL + 9, "inact"); - mvprintw(VMSTATROW + 15, VMSTATCOL + 9, "cache"); + mvprintw(VMSTATROW + 15, VMSTATCOL + 9, "laund"); mvprintw(VMSTATROW + 16, VMSTATCOL + 9, "free"); if (LINES - 1 > VMSTATROW + 17) mvprintw(VMSTATROW + 17, VMSTATCOL + 9, "buf"); @@ -519,7 +519,7 @@ showkre(void) putint(pgtokb(s.v_wire_count), VMSTATROW + 12, VMSTATCOL, 8); putint(pgtokb(s.v_active_count), VMSTATROW + 13, VMSTATCOL, 8); putint(pgtokb(s.v_inactive_count), VMSTATROW + 14, VMSTATCOL, 8); - putint(pgtokb(s.v_cache_count), VMSTATROW + 15, VMSTATCOL, 8); + putint(pgtokb(s.v_laundry_count), VMSTATROW + 15, VMSTATCOL, 8); putint(pgtokb(s.v_free_count), VMSTATROW + 16, VMSTATCOL, 8); if (LINES - 1 > VMSTATROW + 17) putint(s.bufspace / 1024, VMSTATROW + 17, VMSTATCOL, 8); @@ -794,7 +794,7 @@ getinfo(struct Info *ls) GETSYSCTL("vm.stats.vm.v_wire_count", ls->v_wire_count); GETSYSCTL("vm.stats.vm.v_active_count", ls->v_active_count); GETSYSCTL("vm.stats.vm.v_inactive_count", ls->v_inactive_count); - GETSYSCTL("vm.stats.vm.v_cache_count", ls->v_cache_count); + GETSYSCTL("vm.stats.vm.v_laundry_count", ls->v_laundry_count); GETSYSCTL("vfs.bufspace", ls->bufspace); GETSYSCTL("kern.maxvnodes", ls->desiredvnodes); GETSYSCTL("vfs.numvnodes", ls->numvnodes); Modified: head/usr.bin/top/machine.c ============================================================================== --- head/usr.bin/top/machine.c Thu Nov 10 19:50:19 2016 (r308488) +++ head/usr.bin/top/machine.c Thu Nov 10 19:55:45 2016 (r308489) @@ -178,7 +178,7 @@ char *cpustatenames[] = { int memory_stats[7]; char *memorynames[] = { - "K Active, ", "K Inact, ", "K Wired, ", "K Cache, ", "K Buf, ", + "K Active, ", "K Inact, ", "K Laundry, ", "K Wired, ", "K Buf, ", "K Free", NULL }; @@ -503,8 +503,8 @@ get_system_info(struct system_info *si) GETSYSCTL("vfs.bufspace", bufspace); GETSYSCTL("vm.stats.vm.v_active_count", memory_stats[0]); GETSYSCTL("vm.stats.vm.v_inactive_count", memory_stats[1]); - GETSYSCTL("vm.stats.vm.v_wire_count", memory_stats[2]); - GETSYSCTL("vm.stats.vm.v_cache_count", memory_stats[3]); + GETSYSCTL("vm.stats.vm.v_laundry_count", memory_stats[2]); + GETSYSCTL("vm.stats.vm.v_wire_count", memory_stats[3]); GETSYSCTL("vm.stats.vm.v_free_count", memory_stats[5]); GETSYSCTL("vm.stats.vm.v_swappgsin", nspgsin); GETSYSCTL("vm.stats.vm.v_swappgsout", nspgsout); Modified: head/usr.bin/top/top.local.1 ============================================================================== --- head/usr.bin/top/top.local.1 Thu Nov 10 19:50:19 2016 (r308488) +++ head/usr.bin/top/top.local.1 Thu Nov 10 19:55:45 2016 (r308489) @@ -2,8 +2,8 @@ .SH "FreeBSD NOTES" .SH DESCRIPTION OF MEMORY -Mem: 9220K Active, 1M Inact, 3284K Wired, 1M Cache, 2M Buf, 1320K Free -ARC: 2048K Total, 342K MRU, 760K MFU, 272K Anon, 232K Header, 442K Other +Mem: 9220K Active, 1M Inact, 1M Laundry, 3284K Wired, 2M Buf, 932K Free +ARC: 2048K Total, 342K MRU, 760K MFU, 272K Anon, 96K Header, 442K Other Swap: 91M Total, 79M Free, 13% Inuse, 80K In, 104K Out .TP .B K: @@ -23,15 +23,14 @@ Gigabyte number of bytes active .TP .B Inact: -number of bytes inactive +number of clean bytes inactive +.TP +.B Laundry: +number of dirty bytes queued for laundering .TP .B Wired: number of bytes wired down, including BIO-level cached file data pages .TP -.B Cache: -number of clean bytes caching data that are available for -immediate reallocation -.TP .B Buf: number of bytes used for BIO-level disk caching .TP Modified: head/usr.bin/vmstat/vmstat.c ============================================================================== --- head/usr.bin/vmstat/vmstat.c Thu Nov 10 19:50:19 2016 (r308488) +++ head/usr.bin/vmstat/vmstat.c Thu Nov 10 19:55:45 2016 (r308489) @@ -567,7 +567,7 @@ fill_vmmeter(struct vmmeter *vmmp) GET_VM_STATS(vm, v_reactivated); GET_VM_STATS(vm, v_pdwakeups); GET_VM_STATS(vm, v_pdpages); - GET_VM_STATS(vm, v_tcached); + GET_VM_STATS(vm, v_pdshortfalls); GET_VM_STATS(vm, v_dfree); GET_VM_STATS(vm, v_pfree); GET_VM_STATS(vm, v_tfree); @@ -581,7 +581,7 @@ fill_vmmeter(struct vmmeter *vmmp) GET_VM_STATS(vm, v_active_count); GET_VM_STATS(vm, v_inactive_target); GET_VM_STATS(vm, v_inactive_count); - GET_VM_STATS(vm, v_cache_count); + GET_VM_STATS(vm, v_laundry_count); GET_VM_STATS(vm, v_pageout_free_min); GET_VM_STATS(vm, v_interrupt_free_min); /*GET_VM_STATS(vm, v_free_severe);*/ @@ -1059,7 +1059,9 @@ dosum(void) sum.v_pdwakeups); xo_emit("{:page-daemon-pages/%9u} {N:pages examined by the page daemon}\n", sum.v_pdpages); - xo_emit("{:reactivated/%9u} {N:pages reactivated}\n", + xo_emit("{:page-reclamation-shortfalls/%9u} {N:clean page reclamation shortfalls}\n", + sum.v_pdshortfalls); + xo_emit("{:reactivated/%9u} {N:pages reactivated by the page daemon}\n", sum.v_reactivated); xo_emit("{:copy-on-write-faults/%9u} {N:copy-on-write faults}\n", sum.v_cow_faults); @@ -1095,8 +1097,8 @@ dosum(void) sum.v_active_count); xo_emit("{:inactive-pages/%9u} {N:pages inactive}\n", sum.v_inactive_count); - xo_emit("{:vm-cache/%9u} {N:pages in VM cache}\n", - sum.v_cache_count); + xo_emit("{:laundry-pages/%9u} {N:pages in the laundry queue}\n", + sum.v_laundry_count); xo_emit("{:wired-pages/%9u} {N:pages wired down}\n", sum.v_wire_count); xo_emit("{:free-pages/%9u} {N:pages free}\n",