summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Gwynne <dlg@cvs.openbsd.org>2008-12-23 06:50:49 +0000
committerDavid Gwynne <dlg@cvs.openbsd.org>2008-12-23 06:50:49 +0000
commit14135fa3ad3d475eb12a04565127f72da7afd4ab (patch)
tree11c9f24e5b943c7c928c379fbffab05037bf101b
parentebd28540e4f7be4f9ef9d4d4d33e668a0539bff7 (diff)
record the offset into each pool page that item allocations actually begin
on, aka, its coloring. ok tedu@
-rw-r--r--sys/kern/subr_pool.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/kern/subr_pool.c b/sys/kern/subr_pool.c
index 02804c5bb81..6abb44bf617 100644
--- a/sys/kern/subr_pool.c
+++ b/sys/kern/subr_pool.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: subr_pool.c,v 1.72 2008/12/04 12:40:35 art Exp $ */
+/* $OpenBSD: subr_pool.c,v 1.73 2008/12/23 06:50:48 dlg Exp $ */
/* $NetBSD: subr_pool.c,v 1.61 2001/09/26 07:14:56 chs Exp $ */
/*-
@@ -72,6 +72,7 @@ struct pool_item_header {
ph_node; /* Off-page page headers */
int ph_nmissing; /* # of chunks in use */
caddr_t ph_page; /* this page's address */
+ caddr_t ph_colored; /* page's colored address */
int ph_pagesize;
};
@@ -845,6 +846,7 @@ pool_prime_page(struct pool *pp, caddr_t storage, struct pool_item_header *ph)
*/
if (ioff != 0)
cp = (caddr_t)(cp + (align - ioff));
+ ph->ph_colored = cp;
/*
* Insert remaining chunks on the bucket list.