summaryrefslogtreecommitdiffstats
path: root/sys/kern/kern_sched.c
diff options
context:
space:
mode:
authorbeck <beck@openbsd.org>2008-06-10 20:14:36 +0000
committerbeck <beck@openbsd.org>2008-06-10 20:14:36 +0000
commit30ab7dc4b7d5ee681b6f2fff0471c66b7178a51a (patch)
tree201e7de25cd00b8c73dc838662dc445274e2b38b /sys/kern/kern_sched.c
parentwhen walking the entire state table it makes much more sense to walk (diff)
downloadwireguard-openbsd-30ab7dc4b7d5ee681b6f2fff0471c66b7178a51a.tar.xz
wireguard-openbsd-30ab7dc4b7d5ee681b6f2fff0471c66b7178a51a.zip
Buffer cache revamp
1) remove multiple size queues, introduced as a stopgap. 2) decouple pages containing data from their mappings 3) only keep buffers mapped when they actually have to be mapped (right now, this is when buffers are B_BUSY) 4) New functions to make a buffer busy, and release the busy flag (buf_acquire and buf_release) 5) Move high/low water marks and statistics counters into a structure 6) Add a sysctl to retrieve buffer cache statistics Tested in several variants and beat upon by bob and art for a year. run accidentally on henning's nfs server for a few months... ok deraadt@, krw@, art@ - who promises to be around to deal with any fallout
Diffstat (limited to 'sys/kern/kern_sched.c')
-rw-r--r--sys/kern/kern_sched.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/kern/kern_sched.c b/sys/kern/kern_sched.c
index 3357da7c492..0759e01f2b8 100644
--- a/sys/kern/kern_sched.c
+++ b/sys/kern/kern_sched.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: kern_sched.c,v 1.3 2008/06/08 20:13:13 thib Exp $ */
+/* $OpenBSD: kern_sched.c,v 1.4 2008/06/10 20:14:36 beck Exp $ */
/*
* Copyright (c) 2007 Artur Grabowski <art@openbsd.org>
*
@@ -113,6 +113,8 @@ sched_idle(void *v)
}
}
+ splassert(IPL_NONE);
+
cpu_idle_enter();
while (sched_is_idle())
cpu_idle_cycle();