Module Name:    src
Committed By:   pooka
Date:           Sat Apr 27 15:34:54 UTC 2013

Modified Files:
        src/lib/librumpuser: rumpuser.c
        src/sys/rump/include/rump: rumpuser.h
        src/sys/rump/librump/rumpkern: Makefile.rumpkern memalloc.c vm.c

Log Message:
* treat kern_malloc.c as an unreal allocator (it's so lightweight)
* get rid of the rumpuser_realloc() hypercall
* pass size to rumpuser_free()


To generate a diff of this commit:
cvs rdiff -u -r1.31 -r1.32 src/lib/librumpuser/rumpuser.c
cvs rdiff -u -r1.80 -r1.81 src/sys/rump/include/rump/rumpuser.h
cvs rdiff -u -r1.124 -r1.125 src/sys/rump/librump/rumpkern/Makefile.rumpkern
cvs rdiff -u -r1.20 -r1.21 src/sys/rump/librump/rumpkern/memalloc.c
cvs rdiff -u -r1.137 -r1.138 src/sys/rump/librump/rumpkern/vm.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/lib/librumpuser/rumpuser.c
diff -u src/lib/librumpuser/rumpuser.c:1.31 src/lib/librumpuser/rumpuser.c:1.32
--- src/lib/librumpuser/rumpuser.c:1.31	Sat Apr 27 15:01:21 2013
+++ src/lib/librumpuser/rumpuser.c	Sat Apr 27 15:34:53 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: rumpuser.c,v 1.31 2013/04/27 15:01:21 pooka Exp $	*/
+/*	$NetBSD: rumpuser.c,v 1.32 2013/04/27 15:34:53 pooka Exp $	*/
 
 /*
  * Copyright (c) 2007-2010 Antti Kantee.  All Rights Reserved.
@@ -28,7 +28,7 @@
 #include "rumpuser_port.h"
 
 #if !defined(lint)
-__RCSID("$NetBSD: rumpuser.c,v 1.31 2013/04/27 15:01:21 pooka Exp $");
+__RCSID("$NetBSD: rumpuser.c,v 1.32 2013/04/27 15:34:53 pooka Exp $");
 #endif /* !lint */
 
 #include <sys/ioctl.h>
@@ -261,15 +261,9 @@ rumpuser_malloc(size_t howmuch, int alig
 	return mem;
 }
 
-void *
-rumpuser_realloc(void *ptr, size_t howmuch)
-{
-
-	return realloc(ptr, howmuch);
-}
-
+/*ARGSUSED1*/
 void
-rumpuser_free(void *ptr)
+rumpuser_free(void *ptr, size_t size)
 {
 
 	free(ptr);

Index: src/sys/rump/include/rump/rumpuser.h
diff -u src/sys/rump/include/rump/rumpuser.h:1.80 src/sys/rump/include/rump/rumpuser.h:1.81
--- src/sys/rump/include/rump/rumpuser.h:1.80	Sat Apr 27 15:32:36 2013
+++ src/sys/rump/include/rump/rumpuser.h	Sat Apr 27 15:34:53 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: rumpuser.h,v 1.80 2013/04/27 15:32:36 pooka Exp $	*/
+/*	$NetBSD: rumpuser.h,v 1.81 2013/04/27 15:34:53 pooka Exp $	*/
 
 /*
  * Copyright (c) 2007-2011 Antti Kantee.  All Rights Reserved.
@@ -55,8 +55,7 @@ int rumpuser_getfileinfo(const char *, u
 int rumpuser_nanosleep(uint64_t *, uint64_t *, int *);
 
 void *rumpuser_malloc(size_t, int);
-void *rumpuser_realloc(void *, size_t);
-void rumpuser_free(void *);
+void rumpuser_free(void *, size_t);
 
 void *rumpuser_anonmmap(void *, size_t, int, int, int *);
 #define RUMPUSER_FILEMMAP_READ		0x01

Index: src/sys/rump/librump/rumpkern/Makefile.rumpkern
diff -u src/sys/rump/librump/rumpkern/Makefile.rumpkern:1.124 src/sys/rump/librump/rumpkern/Makefile.rumpkern:1.125
--- src/sys/rump/librump/rumpkern/Makefile.rumpkern:1.124	Fri Mar 15 12:09:58 2013
+++ src/sys/rump/librump/rumpkern/Makefile.rumpkern	Sat Apr 27 15:34:53 2013
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile.rumpkern,v 1.124 2013/03/15 12:09:58 pooka Exp $
+#	$NetBSD: Makefile.rumpkern,v 1.125 2013/04/27 15:34:53 pooka Exp $
 #
 
 .include "${RUMPTOP}/Makefile.rump"
@@ -66,6 +66,7 @@ SRCS+=	init_sysctl_base.c	\
 	kern_event.c		\
 	kern_hook.c		\
 	kern_ksyms.c		\
+	kern_malloc.c		\
 	kern_module.c		\
 	kern_mutex_obj.c	\
 	kern_ntptime.c		\
@@ -139,7 +140,7 @@ SRCS+=	kern_select_50.c
 .if defined(RUMP_UNREAL_ALLOCATORS) && ${RUMP_UNREAL_ALLOCATORS} == "yes"
 SRCS+=		memalloc.c
 .else
-SRCS+=		kern_malloc.c subr_kmem.c subr_pool.c
+SRCS+=		subr_kmem.c subr_pool.c
 .endif
 
 .ifdef RUMP_LOCKDEBUG

Index: src/sys/rump/librump/rumpkern/memalloc.c
diff -u src/sys/rump/librump/rumpkern/memalloc.c:1.20 src/sys/rump/librump/rumpkern/memalloc.c:1.21
--- src/sys/rump/librump/rumpkern/memalloc.c:1.20	Sun Mar 10 17:05:12 2013
+++ src/sys/rump/librump/rumpkern/memalloc.c	Sat Apr 27 15:34:53 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: memalloc.c,v 1.20 2013/03/10 17:05:12 pooka Exp $	*/
+/*	$NetBSD: memalloc.c,v 1.21 2013/04/27 15:34:53 pooka Exp $	*/
 
 /*
  * Copyright (c) 2009 Antti Kantee.  All Rights Reserved.
@@ -26,7 +26,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: memalloc.c,v 1.20 2013/03/10 17:05:12 pooka Exp $");
+__KERNEL_RCSID(0, "$NetBSD: memalloc.c,v 1.21 2013/04/27 15:34:53 pooka Exp $");
 
 #include <sys/param.h>
 #include <sys/kmem.h>
@@ -44,54 +44,12 @@ __KERNEL_RCSID(0, "$NetBSD: memalloc.c,v
  * libc malloc.
  *
  * Supported:
- *   + malloc
  *   + kmem
  *   + pool
  *   + pool_cache
  */
 
 /*
- * malloc
- */
-
-void
-kmeminit(void)
-{
-
-	return;
-}
-
-void *
-kern_malloc(unsigned long size, int flags)
-{
-	void *rv;
-
-	rv = rumpuser_malloc(size, 0);
-
-	if (__predict_false(rv == NULL && (flags & (M_CANFAIL|M_NOWAIT)) == 0))
-		panic("malloc %lu bytes failed", size);
-
-	if (rv && flags & M_ZERO)
-		memset(rv, 0, size);
-
-	return rv;
-}
-
-void *
-kern_realloc(void *ptr, unsigned long size, int flags)
-{
-
-	return rumpuser_realloc(ptr, size);
-}
-
-void
-kern_free(void *ptr)
-{
-
-	rumpuser_free(ptr);
-}
-
-/*
  * Kmem
  */
 
@@ -125,7 +83,7 @@ void
 kmem_free(void *p, size_t size)
 {
 
-	rumpuser_free(p);
+	rumpuser_free(p, size);
 }
 
 __strong_alias(kmem_intr_alloc, kmem_alloc);
@@ -198,7 +156,7 @@ pool_cache_destroy(pool_cache_t pc)
 {
 
 	pool_destroy(&pc->pc_pool);
-	rumpuser_free(pc);
+	rumpuser_free(pc, sizeof(*pc));
 }
 
 void *
@@ -255,7 +213,7 @@ void
 pool_put(struct pool *pp, void *item)
 {
 
-	rumpuser_free(item);
+	rumpuser_free(item, pp->pr_size);
 }
 
 void

Index: src/sys/rump/librump/rumpkern/vm.c
diff -u src/sys/rump/librump/rumpkern/vm.c:1.137 src/sys/rump/librump/rumpkern/vm.c:1.138
--- src/sys/rump/librump/rumpkern/vm.c:1.137	Sun Mar 10 17:05:12 2013
+++ src/sys/rump/librump/rumpkern/vm.c	Sat Apr 27 15:34:53 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: vm.c,v 1.137 2013/03/10 17:05:12 pooka Exp $	*/
+/*	$NetBSD: vm.c,v 1.138 2013/04/27 15:34:53 pooka 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.137 2013/03/10 17:05:12 pooka Exp $");
+__KERNEL_RCSID(0, "$NetBSD: vm.c,v 1.138 2013/04/27 15:34:53 pooka Exp $");
 
 #include <sys/param.h>
 #include <sys/atomic.h>
@@ -742,7 +742,7 @@ uvm_km_free(struct vm_map *map, vaddr_t 
 	if (__predict_false(map == module_map))
 		rumpuser_unmap((void *)vaddr, size);
 	else
-		rumpuser_free((void *)vaddr);
+		rumpuser_free((void *)vaddr, size);
 }
 
 struct vm_map *
@@ -1189,5 +1189,5 @@ rump_hyperfree(void *what, size_t size)
 	if (rump_physmemlimit != RUMPMEM_UNLIMITED) {
 		atomic_add_long(&curphysmem, -size);
 	}
-	rumpuser_free(what);
+	rumpuser_free(what, size);
 }

Reply via email to