From owner-svn-src-all@FreeBSD.ORG Mon Jan 28 12:20:21 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 51A6D7DD; Mon, 28 Jan 2013 12:20:21 +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 2A8A468D; Mon, 28 Jan 2013 12:20:21 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0SCKLA2060310; Mon, 28 Jan 2013 12:20:21 GMT (envelope-from zont@svn.freebsd.org) Received: (from zont@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0SCKLhf060309; Mon, 28 Jan 2013 12:20:21 GMT (envelope-from zont@svn.freebsd.org) Message-Id: <201301281220.r0SCKLhf060309@svn.freebsd.org> From: Andrey Zonov Date: Mon, 28 Jan 2013 12:20:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r246030 - head/sys/vm 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:20:21 -0000 Author: zont Date: Mon Jan 28 12:20:20 2013 New Revision: 246030 URL: http://svnweb.freebsd.org/changeset/base/246030 Log: - Add sysctls to show number of stats scans. MFC after: 2 weeks Modified: head/sys/vm/vm_pageout.c Modified: head/sys/vm/vm_pageout.c ============================================================================== --- head/sys/vm/vm_pageout.c Mon Jan 28 12:08:29 2013 (r246029) +++ head/sys/vm/vm_pageout.c Mon Jan 28 12:20:20 2013 (r246030) @@ -152,7 +152,9 @@ MTX_SYSINIT(vm_daemon, &vm_daemon_mtx, " #endif static int vm_max_launder = 32; static int vm_pageout_stats_max; +static int vm_pageout_stats; static int vm_pageout_stats_interval; +static int vm_pageout_full_stats; static int vm_pageout_full_stats_interval; static int vm_pageout_algorithm; static int defer_swap_pageouts; @@ -175,12 +177,18 @@ SYSCTL_INT(_vm, OID_AUTO, max_launder, SYSCTL_INT(_vm, OID_AUTO, pageout_stats_max, CTLFLAG_RW, &vm_pageout_stats_max, 0, "Max pageout stats scan length"); -SYSCTL_INT(_vm, OID_AUTO, pageout_full_stats_interval, - CTLFLAG_RW, &vm_pageout_full_stats_interval, 0, "Interval for full stats scan"); +SYSCTL_INT(_vm, OID_AUTO, pageout_stats, + CTLFLAG_RD, &vm_pageout_stats, 0, "Number of partial stats scans"); SYSCTL_INT(_vm, OID_AUTO, pageout_stats_interval, CTLFLAG_RW, &vm_pageout_stats_interval, 0, "Interval for partial stats scan"); +SYSCTL_INT(_vm, OID_AUTO, pageout_full_stats, + CTLFLAG_RD, &vm_pageout_full_stats, 0, "Number of full stats scans"); + +SYSCTL_INT(_vm, OID_AUTO, pageout_full_stats_interval, + CTLFLAG_RW, &vm_pageout_full_stats_interval, 0, "Interval for full stats scan"); + #if defined(NO_SWAPPING) SYSCTL_INT(_vm, VM_SWAPPING_ENABLED, swap_enabled, CTLFLAG_RD, &vm_swap_enabled, 0, "Enable entire process swapout"); @@ -1532,11 +1540,13 @@ vm_pageout_page_stats(void) pcount = cnt.v_active_count; fullintervalcount += vm_pageout_stats_interval; if (fullintervalcount < vm_pageout_full_stats_interval) { + vm_pageout_stats++; tpcount = (int64_t)vm_pageout_stats_max * cnt.v_active_count / cnt.v_page_count; if (pcount > tpcount) pcount = tpcount; } else { + vm_pageout_full_stats++; fullintervalcount = 0; }