summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Lemon <jlemon@FreeBSD.org>2001-11-17 00:40:48 +0000
committerJonathan Lemon <jlemon@FreeBSD.org>2001-11-17 00:40:48 +0000
commit4584bbf55565ae23b67a44d1c194bb1abca83845 (patch)
tree17dedf9097469de1b55ba3cd1a6716df7cae3838
parent857ff6155b16cf650c71f75343b33404bbf1edec (diff)
Notes
-rw-r--r--sys/vm/vm_zone.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/vm/vm_zone.c b/sys/vm/vm_zone.c
index 78c6f715138b..a1b1d3c3b6ee 100644
--- a/sys/vm/vm_zone.c
+++ b/sys/vm/vm_zone.c
@@ -373,7 +373,9 @@ _zget(vm_zone_t z)
KASSERT(z != NULL, ("invalid zone"));
if (z->zflags & ZONE_INTERRUPT) {
- item = (char *) z->zkva + z->zpagecount * PAGE_SIZE;
+ nbytes = z->zpagecount * PAGE_SIZE;
+ nbytes -= nbytes % z->zsize;
+ item = (char *) z->zkva + nbytes;
for (i = 0; ((i < z->zalloc) && (z->zpagecount < z->zpagemax));
i++) {
vm_offset_t zkva;
@@ -390,7 +392,7 @@ _zget(vm_zone_t z)
atomic_add_int(&zone_kmem_pages, 1);
cnt.v_wire_count++;
}
- nitems = (i * PAGE_SIZE) / z->zsize;
+ nitems = ((z->zpagecount * PAGE_SIZE) - nbytes) / z->zsize;
} else {
/* Please check zdestroy() when changing this! */
nbytes = z->zalloc * PAGE_SIZE;