Page MenuHomeFreeBSD

D13611.diff
No OneTemporary

D13611.diff

Index: head/sys/vm/vm_object.c
===================================================================
--- head/sys/vm/vm_object.c
+++ head/sys/vm/vm_object.c
@@ -148,14 +148,25 @@
static SYSCTL_NODE(_vm_stats, OID_AUTO, object, CTLFLAG_RD, 0,
"VM object stats");
-static long object_collapses;
-SYSCTL_LONG(_vm_stats_object, OID_AUTO, collapses, CTLFLAG_RD,
- &object_collapses, 0, "VM object collapses");
+static counter_u64_t object_collapses = EARLY_COUNTER;
+SYSCTL_COUNTER_U64(_vm_stats_object, OID_AUTO, collapses, CTLFLAG_RD,
+ &object_collapses,
+ "VM object collapses");
-static long object_bypasses;
-SYSCTL_LONG(_vm_stats_object, OID_AUTO, bypasses, CTLFLAG_RD,
- &object_bypasses, 0, "VM object bypasses");
+static counter_u64_t object_bypasses = EARLY_COUNTER;
+SYSCTL_COUNTER_U64(_vm_stats_object, OID_AUTO, bypasses, CTLFLAG_RD,
+ &object_bypasses,
+ "VM object bypasses");
+static void
+counter_startup(void)
+{
+
+ object_collapses = counter_u64_alloc(M_WAITOK);
+ object_bypasses = counter_u64_alloc(M_WAITOK);
+}
+SYSINIT(object_counters, SI_SUB_CPU, SI_ORDER_ANY, counter_startup, NULL);
+
static uma_zone_t obj_zone;
static int vm_object_zinit(void *mem, int size, int flags);
@@ -1875,7 +1886,7 @@
vm_object_destroy(backing_object);
vm_object_pip_wakeup(object);
- object_collapses++;
+ counter_u64_add(object_collapses, 1);
} else {
/*
* If we do not entirely shadow the backing object,
@@ -1916,7 +1927,7 @@
*/
backing_object->ref_count--;
VM_OBJECT_WUNLOCK(backing_object);
- object_bypasses++;
+ counter_u64_add(object_bypasses, 1);
}
/*

File Metadata

Mime Type
text/plain
Expires
Wed, Mar 18, 6:10 AM (9 h, 42 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
29887031
Default Alt Text
D13611.diff (1 KB)

Event Timeline