Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/netbsd-6]: src/sys Pull up following revision(s) (requested by para in t...
details: https://anonhg.NetBSD.org/src/rev/7a7a4b7028e9
branches: netbsd-6
changeset: 773976:7a7a4b7028e9
user: riz <riz%NetBSD.org@localhost>
date: Tue Apr 03 16:14:02 2012 +0000
description:
Pull up following revision(s) (requested by para in ticket #155):
sys/kern/subr_vmem.c: revision 1.73
sys/kern/subr_kmem.c: revision 1.43
sys/rump/librump/rumpkern/vm.c: revision 1.124
make accounting for vm_inuse sane
while here don't statically allocated for more caches then required
adjust rump for static pool_cache count
should have went in with subr_vmem 1.73
don't overallocated once we leave the caches
diffstat:
sys/kern/subr_kmem.c | 8 ++++----
sys/kern/subr_vmem.c | 12 ++++++------
sys/rump/librump/rumpkern/vm.c | 6 +++---
3 files changed, 13 insertions(+), 13 deletions(-)
diffs (124 lines):
diff -r 62248d318310 -r 7a7a4b7028e9 sys/kern/subr_kmem.c
--- a/sys/kern/subr_kmem.c Tue Apr 03 15:58:45 2012 +0000
+++ b/sys/kern/subr_kmem.c Tue Apr 03 16:14:02 2012 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: subr_kmem.c,v 1.42 2012/02/05 03:40:08 rmind Exp $ */
+/* $NetBSD: subr_kmem.c,v 1.42.2.1 2012/04/03 16:14:02 riz Exp $ */
/*-
* Copyright (c) 2009 The NetBSD Foundation, Inc.
@@ -61,7 +61,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: subr_kmem.c,v 1.42 2012/02/05 03:40:08 rmind Exp $");
+__KERNEL_RCSID(0, "$NetBSD: subr_kmem.c,v 1.42.2.1 2012/04/03 16:14:02 riz Exp $");
#include <sys/param.h>
#include <sys/callback.h>
@@ -180,7 +180,7 @@
if (index >= kmem_cache_maxidx) {
int ret = uvm_km_kmem_alloc(kmem_va_arena,
- (vsize_t)round_page(allocsz),
+ (vsize_t)round_page(size),
((kmflags & KM_SLEEP) ? VM_SLEEP : VM_NOSLEEP)
| VM_INSTANTFIT, (vmem_addr_t *)&p);
return ret ? NULL : p;
@@ -229,7 +229,7 @@
if (index >= kmem_cache_maxidx) {
uvm_km_kmem_free(kmem_va_arena, (vaddr_t)p,
- round_page(allocsz));
+ round_page(size));
return;
}
diff -r 62248d318310 -r 7a7a4b7028e9 sys/kern/subr_vmem.c
--- a/sys/kern/subr_vmem.c Tue Apr 03 15:58:45 2012 +0000
+++ b/sys/kern/subr_vmem.c Tue Apr 03 16:14:02 2012 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: subr_vmem.c,v 1.72 2012/02/10 17:35:47 para Exp $ */
+/* $NetBSD: subr_vmem.c,v 1.72.2.1 2012/04/03 16:14:02 riz Exp $ */
/*-
* Copyright (c)2006,2007,2008,2009 YAMAMOTO Takashi,
@@ -34,7 +34,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: subr_vmem.c,v 1.72 2012/02/10 17:35:47 para Exp $");
+__KERNEL_RCSID(0, "$NetBSD: subr_vmem.c,v 1.72.2.1 2012/04/03 16:14:02 riz Exp $");
#if defined(_KERNEL)
#include "opt_ddb.h"
@@ -248,7 +248,8 @@
#define BT_MAXFREE 64
#define STATIC_VMEM_COUNT 5
#define STATIC_BT_COUNT 200
-#define STATIC_QC_POOL_COUNT (VMEM_QCACHE_IDX_MAX + 1)
+/* must be equal or greater then qcache multiplier for kmem_va_arena */
+#define STATIC_QC_POOL_COUNT 8
static struct vmem static_vmems[STATIC_VMEM_COUNT];
static int static_vmem_count = STATIC_VMEM_COUNT;
@@ -474,6 +475,7 @@
{
KASSERT(vm->vm_nbusytag > 0);
+ vm->vm_inuse -= bt->bt_size;
vm->vm_nbusytag--;
LIST_REMOVE(bt, bt_hashlist);
}
@@ -488,6 +490,7 @@
list = bt_hashhead(vm, bt->bt_start);
LIST_INSERT_HEAD(list, bt, bt_hashlist);
vm->vm_nbusytag++;
+ vm->vm_inuse += bt->bt_size;
}
/* ---- boundary tag list */
@@ -1265,7 +1268,6 @@
KASSERT(bt->bt_size >= size);
bt_remfree(vm, bt);
vmem_check(vm);
- vm->vm_inuse += size;
if (bt->bt_start != start) {
btnew2->bt_type = BT_TYPE_FREE;
btnew2->bt_start = bt->bt_start;
@@ -1357,8 +1359,6 @@
bt_rembusy(vm, bt);
bt->bt_type = BT_TYPE_FREE;
- vm->vm_inuse -= bt->bt_size;
-
/* coalesce */
t = CIRCLEQ_NEXT(bt, bt_seglist);
if (t != NULL && t->bt_type == BT_TYPE_FREE) {
diff -r 62248d318310 -r 7a7a4b7028e9 sys/rump/librump/rumpkern/vm.c
--- a/sys/rump/librump/rumpkern/vm.c Tue Apr 03 15:58:45 2012 +0000
+++ b/sys/rump/librump/rumpkern/vm.c Tue Apr 03 16:14:02 2012 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: vm.c,v 1.122.2.1 2012/03/25 11:29:59 bouyer Exp $ */
+/* $NetBSD: vm.c,v 1.122.2.2 2012/04/03 16:14:02 riz Exp $ */
/*
* Copyright (c) 2007-2011 Antti Kantee. All Rights Reserved.
@@ -41,7 +41,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: vm.c,v 1.122.2.1 2012/03/25 11:29:59 bouyer Exp $");
+__KERNEL_RCSID(0, "$NetBSD: vm.c,v 1.122.2.2 2012/04/03 16:14:02 riz Exp $");
#include <sys/param.h>
#include <sys/atomic.h>
@@ -340,7 +340,7 @@
kmem_va_arena = vmem_create("kva", 0, 0, PAGE_SIZE,
vmem_alloc, vmem_free, kmem_arena,
- 32 * PAGE_SIZE, VM_NOSLEEP | VM_BOOTSTRAP, IPL_VM);
+ 8 * PAGE_SIZE, VM_NOSLEEP | VM_BOOTSTRAP, IPL_VM);
pool_cache_bootstrap(&pagecache, sizeof(struct vm_page), 0, 0, 0,
"page$", NULL, IPL_NONE, pgctor, pgdtor, NULL);
Home |
Main Index |
Thread Index |
Old Index