Module Name: src
Committed By: ad
Date: Sat Dec 21 14:33:19 UTC 2019
Modified Files:
src/sys/sys: cpu_data.h
src/sys/uvm: uvm_meter.c uvm_page.c
Log Message:
Counter tweaks:
"zeroaborts" + "free" don't need to be per-CPU counters, and "bucketmiss"
wasn't used. Remove those and cluster by usage.
To generate a diff of this commit:
cvs rdiff -u -r1.45 -r1.46 src/sys/sys/cpu_data.h
cvs rdiff -u -r1.71 -r1.72 src/sys/uvm/uvm_meter.c
cvs rdiff -u -r1.207 -r1.208 src/sys/uvm/uvm_page.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/sys/cpu_data.h
diff -u src/sys/sys/cpu_data.h:1.45 src/sys/sys/cpu_data.h:1.46
--- src/sys/sys/cpu_data.h:1.45 Fri Dec 20 21:05:34 2019
+++ src/sys/sys/cpu_data.h Sat Dec 21 14:33:18 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: cpu_data.h,v 1.45 2019/12/20 21:05:34 ad Exp $ */
+/* $NetBSD: cpu_data.h,v 1.46 2019/12/21 14:33:18 ad Exp $ */
/*-
* Copyright (c) 2004, 2006, 2007, 2008, 2019 The NetBSD Foundation, Inc.
@@ -47,55 +47,47 @@ struct lwp;
/* Per-CPU counters. New elements must be added in blocks of 8. */
enum cpu_count {
- CPU_COUNT_NFAULT, /* 0 */
- CPU_COUNT_NSWTCH,
+ CPU_COUNT_NSWTCH, /* 0 */
CPU_COUNT_NSYSCALL,
CPU_COUNT_NTRAP,
CPU_COUNT_NINTR,
CPU_COUNT_NSOFT,
CPU_COUNT_FORKS,
CPU_COUNT_FORKS_PPWAIT,
- CPU_COUNT_FORKS_SHAREVM, /* 8 */
- CPU_COUNT_ANONPAGES,
+ CPU_COUNT_FORKS_SHAREVM,
+ CPU_COUNT_ANONPAGES, /* 8 */
CPU_COUNT_COLORHIT,
CPU_COUNT_COLORMISS,
CPU_COUNT_CPUHIT,
CPU_COUNT_CPUMISS,
- CPU_COUNT_BUCKETMISS,
CPU_COUNT_EXECPAGES,
- CPU_COUNT_FILEPAGES, /* 16 */
+ CPU_COUNT_FILEPAGES,
CPU_COUNT_PGA_ZEROHIT,
- CPU_COUNT_PGA_ZEROMISS,
+ CPU_COUNT_PGA_ZEROMISS, /* 16 */
CPU_COUNT_ZEROPAGES,
- CPU_COUNT_ZEROABORTS,
- CPU_COUNT_FREE,
+ CPU_COUNT_PAGEINS,
CPU_COUNT_SYNC_ONE,
CPU_COUNT_SYNC_ALL,
- CPU_COUNT_FLT_ACOW, /* 24 */
+ CPU_COUNT_FLTPGWAIT,
+ CPU_COUNT_FLTRELCK,
+ CPU_COUNT_FLTRELCKOK,
+ CPU_COUNT_NFAULT, /* 24 */
+ CPU_COUNT_FLT_ACOW,
CPU_COUNT_FLT_ANON,
CPU_COUNT_FLT_OBJ,
CPU_COUNT_FLT_PRCOPY,
CPU_COUNT_FLT_PRZERO,
CPU_COUNT_FLTAMCOPY,
CPU_COUNT_FLTANGET,
- CPU_COUNT_FLTANRETRY,
- CPU_COUNT_FLTGET, /* 32 */
+ CPU_COUNT_FLTANRETRY, /* 32 */
+ CPU_COUNT_FLTGET,
CPU_COUNT_FLTLGET,
CPU_COUNT_FLTNAMAP,
CPU_COUNT_FLTNOMAP,
CPU_COUNT_FLTNOANON,
CPU_COUNT_FLTNORAM,
CPU_COUNT_FLTPGRELE,
- CPU_COUNT_FLTPGWAIT,
- CPU_COUNT_FLTRELCK, /* 40 */
- CPU_COUNT_FLTRELCKOK,
- CPU_COUNT_PAGEINS,
- CPU_COUNT__SPARE1,
- CPU_COUNT__SPARE2,
- CPU_COUNT__SPARE3,
- CPU_COUNT__SPARE4,
- CPU_COUNT__SPARE5,
- CPU_COUNT_MAX /* 48 */
+ CPU_COUNT_MAX /* 40 */
};
/*
Index: src/sys/uvm/uvm_meter.c
diff -u src/sys/uvm/uvm_meter.c:1.71 src/sys/uvm/uvm_meter.c:1.72
--- src/sys/uvm/uvm_meter.c:1.71 Sat Dec 21 13:00:25 2019
+++ src/sys/uvm/uvm_meter.c Sat Dec 21 14:33:18 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: uvm_meter.c,v 1.71 2019/12/21 13:00:25 ad Exp $ */
+/* $NetBSD: uvm_meter.c,v 1.72 2019/12/21 14:33:18 ad Exp $ */
/*
* Copyright (c) 1997 Charles D. Cranor and Washington University.
@@ -36,7 +36,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: uvm_meter.c,v 1.71 2019/12/21 13:00:25 ad Exp $");
+__KERNEL_RCSID(0, "$NetBSD: uvm_meter.c,v 1.72 2019/12/21 14:33:18 ad Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -140,7 +140,7 @@ sysctl_vm_uvmexp2(SYSCTLFN_ARGS)
u.forks_sharevm = cpu_count_get(CPU_COUNT_FORKS_SHAREVM);
u.pga_zerohit = cpu_count_get(CPU_COUNT_PGA_ZEROHIT);
u.pga_zeromiss = cpu_count_get(CPU_COUNT_PGA_ZEROMISS);
- u.zeroaborts = cpu_count_get(CPU_COUNT_ZEROABORTS);
+ u.zeroaborts = uvmexp.zeroaborts;
u.fltnoram = cpu_count_get(CPU_COUNT_FLTNORAM);
u.fltnoanon = cpu_count_get(CPU_COUNT_FLTNOANON);
u.fltpgwait = cpu_count_get(CPU_COUNT_FLTPGWAIT);
@@ -488,5 +488,4 @@ uvm_update_uvmexp(void)
uvmexp.execpages = (int)cpu_count_get(CPU_COUNT_EXECPAGES);
uvmexp.colorhit = (int)cpu_count_get(CPU_COUNT_COLORHIT);
uvmexp.colormiss = (int)cpu_count_get(CPU_COUNT_COLORMISS);
- uvmexp.zeroaborts = (int)cpu_count_get(CPU_COUNT_ZEROABORTS);
}
Index: src/sys/uvm/uvm_page.c
diff -u src/sys/uvm/uvm_page.c:1.207 src/sys/uvm/uvm_page.c:1.208
--- src/sys/uvm/uvm_page.c:1.207 Sat Dec 21 12:58:26 2019
+++ src/sys/uvm/uvm_page.c Sat Dec 21 14:33:18 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: uvm_page.c,v 1.207 2019/12/21 12:58:26 ad Exp $ */
+/* $NetBSD: uvm_page.c,v 1.208 2019/12/21 14:33:18 ad Exp $ */
/*
* Copyright (c) 1997 Charles D. Cranor and Washington University.
@@ -66,7 +66,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: uvm_page.c,v 1.207 2019/12/21 12:58:26 ad Exp $");
+__KERNEL_RCSID(0, "$NetBSD: uvm_page.c,v 1.208 2019/12/21 14:33:18 ad Exp $");
#include "opt_ddb.h"
#include "opt_uvm.h"
@@ -1485,7 +1485,7 @@ uvm_pageidlezero(void)
PGFL_UNKNOWN], pg, listq.list);
ucpu->pages[PGFL_UNKNOWN]++;
uvmexp.free++;
- CPU_COUNT(CPU_COUNT_ZEROABORTS, 1);
+ uvmexp.zeroaborts++;
goto quit;
}
#else