From owner-svn-src-all@FreeBSD.ORG Mon Jan 28 12:57:43 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id AE88B6FF; Mon, 28 Jan 2013 12:57:43 +0000 (UTC) (envelope-from zont@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 91E0E8A1; Mon, 28 Jan 2013 12:57:43 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0SCvhXE071415; Mon, 28 Jan 2013 12:57:43 GMT (envelope-from zont@svn.freebsd.org) Received: (from zont@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0SCvhhv071414; Mon, 28 Jan 2013 12:57:43 GMT (envelope-from zont@svn.freebsd.org) Message-Id: <201301281257.r0SCvhhv071414@svn.freebsd.org> From: Andrey Zonov Date: Mon, 28 Jan 2013 12:57:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r246033 - head/usr.bin/systat X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 28 Jan 2013 12:57:43 -0000 Author: zont Date: Mon Jan 28 12:57:42 2013 New Revision: 246033 URL: http://svnweb.freebsd.org/changeset/base/246033 Log: - Show page faults requiring I/O on vmstat display. Reviewed by: alc MFC after: 2 weeks Modified: head/usr.bin/systat/vmstat.c Modified: head/usr.bin/systat/vmstat.c ============================================================================== --- head/usr.bin/systat/vmstat.c Mon Jan 28 12:54:53 2013 (r246032) +++ head/usr.bin/systat/vmstat.c Mon Jan 28 12:57:42 2013 (r246033) @@ -79,6 +79,7 @@ static struct Info { * Virtual memory activity. */ u_int v_vm_faults; /* number of address memory faults */ + u_int v_io_faults; /* page faults requiring I/O */ u_int v_cow_faults; /* number of copy-on-writes */ u_int v_zfod; /* pages zero filled on demand */ u_int v_ozfod; /* optimized zero fill pages */ @@ -324,24 +325,25 @@ labelkre(void) mvprintw(INTSROW, INTSCOL + 1, "Interrupts"); mvprintw(INTSROW + 1, INTSCOL + 6, "total"); - mvprintw(VMSTATROW, VMSTATCOL + 9, "cow"); - mvprintw(VMSTATROW + 1, VMSTATCOL + 9, "zfod"); - mvprintw(VMSTATROW + 2, VMSTATCOL + 9, "ozfod"); - mvprintw(VMSTATROW + 3, VMSTATCOL + 9 - 1, "%%ozfod"); - mvprintw(VMSTATROW + 4, VMSTATCOL + 9, "daefr"); - mvprintw(VMSTATROW + 5, VMSTATCOL + 9, "prcfr"); - mvprintw(VMSTATROW + 6, VMSTATCOL + 9, "totfr"); - mvprintw(VMSTATROW + 7, VMSTATCOL + 9, "react"); - mvprintw(VMSTATROW + 8, VMSTATCOL + 9, "pdwak"); - mvprintw(VMSTATROW + 9, VMSTATCOL + 9, "pdpgs"); - mvprintw(VMSTATROW + 10, VMSTATCOL + 9, "intrn"); - mvprintw(VMSTATROW + 11, VMSTATCOL + 9, "wire"); - mvprintw(VMSTATROW + 12, VMSTATCOL + 9, "act"); - mvprintw(VMSTATROW + 13, VMSTATCOL + 9, "inact"); - mvprintw(VMSTATROW + 14, VMSTATCOL + 9, "cache"); - mvprintw(VMSTATROW + 15, VMSTATCOL + 9, "free"); - if (LINES - 1 > VMSTATROW + 16) - mvprintw(VMSTATROW + 16, VMSTATCOL + 9, "buf"); + mvprintw(VMSTATROW, VMSTATCOL + 9, "ioflt"); + mvprintw(VMSTATROW + 1, VMSTATCOL + 9, "cow"); + mvprintw(VMSTATROW + 2, VMSTATCOL + 9, "zfod"); + mvprintw(VMSTATROW + 3, VMSTATCOL + 9, "ozfod"); + mvprintw(VMSTATROW + 4, VMSTATCOL + 9 - 1, "%%ozfod"); + mvprintw(VMSTATROW + 5, VMSTATCOL + 9, "daefr"); + mvprintw(VMSTATROW + 6, VMSTATCOL + 9, "prcfr"); + mvprintw(VMSTATROW + 7, VMSTATCOL + 9, "totfr"); + mvprintw(VMSTATROW + 8, VMSTATCOL + 9, "react"); + mvprintw(VMSTATROW + 9, VMSTATCOL + 9, "pdwak"); + mvprintw(VMSTATROW + 10, VMSTATCOL + 9, "pdpgs"); + mvprintw(VMSTATROW + 11, VMSTATCOL + 9, "intrn"); + 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 + 16, VMSTATCOL + 9, "free"); + if (LINES - 1 > VMSTATROW + 17) + mvprintw(VMSTATROW + 17, VMSTATCOL + 9, "buf"); mvprintw(GENSTATROW, GENSTATCOL, " Csw Trp Sys Int Sof Flt"); @@ -493,25 +495,26 @@ showkre(void) putint(total.t_dw, PROCSROW + 2, PROCSCOL + 8, 3); putint(total.t_sl, PROCSROW + 2, PROCSCOL + 12, 3); putint(total.t_sw, PROCSROW + 2, PROCSCOL + 16, 3); - PUTRATE(v_cow_faults, VMSTATROW, VMSTATCOL + 2, 8 - 2); - PUTRATE(v_zfod, VMSTATROW + 1, VMSTATCOL + 2, 8 - 2); - PUTRATE(v_ozfod, VMSTATROW + 2, VMSTATCOL, 8); + PUTRATE(v_io_faults, VMSTATROW, VMSTATCOL + 2, 8 - 2); + PUTRATE(v_cow_faults, VMSTATROW + 1, VMSTATCOL + 2, 8 - 2); + PUTRATE(v_zfod, VMSTATROW + 2, VMSTATCOL + 2, 8 - 2); + PUTRATE(v_ozfod, VMSTATROW + 3, VMSTATCOL, 8); putint(s.v_zfod != 0 ? (int)(s.v_ozfod * 100.0 / s.v_zfod) : 0, - VMSTATROW + 3, VMSTATCOL + 1, 8 - 1); - PUTRATE(v_dfree, VMSTATROW + 4, VMSTATCOL + 2, 8 - 2); - PUTRATE(v_pfree, VMSTATROW + 5, VMSTATCOL + 2, 8 - 2); - PUTRATE(v_tfree, VMSTATROW + 6, VMSTATCOL, 8); - PUTRATE(v_reactivated, VMSTATROW + 7, VMSTATCOL, 8); - PUTRATE(v_pdwakeups, VMSTATROW + 8, VMSTATCOL, 8); - PUTRATE(v_pdpages, VMSTATROW + 9, VMSTATCOL, 8); - PUTRATE(v_intrans, VMSTATROW + 10, VMSTATCOL, 8); - putint(pgtokb(s.v_wire_count), VMSTATROW + 11, VMSTATCOL, 8); - putint(pgtokb(s.v_active_count), VMSTATROW + 12, VMSTATCOL, 8); - putint(pgtokb(s.v_inactive_count), VMSTATROW + 13, VMSTATCOL, 8); - putint(pgtokb(s.v_cache_count), VMSTATROW + 14, VMSTATCOL, 8); - putint(pgtokb(s.v_free_count), VMSTATROW + 15, VMSTATCOL, 8); - if (LINES - 1 > VMSTATROW + 16) - putint(s.bufspace / 1024, VMSTATROW + 16, VMSTATCOL, 8); + VMSTATROW + 4, VMSTATCOL + 1, 8 - 1); + PUTRATE(v_dfree, VMSTATROW + 5, VMSTATCOL + 2, 8 - 2); + PUTRATE(v_pfree, VMSTATROW + 6, VMSTATCOL + 2, 8 - 2); + PUTRATE(v_tfree, VMSTATROW + 7, VMSTATCOL, 8); + PUTRATE(v_reactivated, VMSTATROW + 8, VMSTATCOL, 8); + PUTRATE(v_pdwakeups, VMSTATROW + 9, VMSTATCOL, 8); + PUTRATE(v_pdpages, VMSTATROW + 10, VMSTATCOL, 8); + PUTRATE(v_intrans, VMSTATROW + 11, VMSTATCOL, 8); + 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_free_count), VMSTATROW + 16, VMSTATCOL, 8); + if (LINES - 1 > VMSTATROW + 17) + putint(s.bufspace / 1024, VMSTATROW + 17, VMSTATCOL, 8); PUTRATE(v_vnodein, PAGEROW + 2, PAGECOL + 6, 5); PUTRATE(v_vnodeout, PAGEROW + 2, PAGECOL + 12, 5); PUTRATE(v_swapin, PAGEROW + 2, PAGECOL + 19, 5); @@ -751,6 +754,7 @@ getinfo(struct Info *ls) GETSYSCTL("vm.stats.sys.v_intr", ls->v_intr); GETSYSCTL("vm.stats.sys.v_soft", ls->v_soft); GETSYSCTL("vm.stats.vm.v_vm_faults", ls->v_vm_faults); + GETSYSCTL("vm.stats.vm.v_io_faults", ls->v_io_faults); GETSYSCTL("vm.stats.vm.v_cow_faults", ls->v_cow_faults); GETSYSCTL("vm.stats.vm.v_zfod", ls->v_zfod); GETSYSCTL("vm.stats.vm.v_ozfod", ls->v_ozfod);