Module Name: src
Committed By: dsl
Date: Sun Apr 29 20:27:32 UTC 2012
Modified Files:
src/sys/dev: firmload.c
src/sys/dev/ieee1394: sbp.c
src/sys/fs/efs: efs_ihash.c
src/sys/kern: kern_malloc.c
src/sys/netsmb: smb_conn.c smb_dev.c smb_iod.c
src/sys/rump/librump/rumpkern: memalloc.c
src/sys/sys: malloc.h mallocvar.h
Log Message:
Remove everything to do with 'struct malloc_type' and the malloc link_set.
To make code in 'external' (etc) still compile, MALLOC_DECLARE() still
has to generate something of type 'struct malloc_type *', with
normal optimisation gcc generates a compile-time 0.
MALLOC_DEFINE() and friends have no effect.
Fix one or two places where the code would no longer compile.
To generate a diff of this commit:
cvs rdiff -u -r1.16 -r1.17 src/sys/dev/firmload.c
cvs rdiff -u -r1.33 -r1.34 src/sys/dev/ieee1394/sbp.c
cvs rdiff -u -r1.8 -r1.9 src/sys/fs/efs/efs_ihash.c
cvs rdiff -u -r1.140 -r1.141 src/sys/kern/kern_malloc.c
cvs rdiff -u -r1.28 -r1.29 src/sys/netsmb/smb_conn.c
cvs rdiff -u -r1.39 -r1.40 src/sys/netsmb/smb_dev.c src/sys/netsmb/smb_iod.c
cvs rdiff -u -r1.14 -r1.15 src/sys/rump/librump/rumpkern/memalloc.c
cvs rdiff -u -r1.112 -r1.113 src/sys/sys/malloc.h
cvs rdiff -u -r1.11 -r1.12 src/sys/sys/mallocvar.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/dev/firmload.c
diff -u src/sys/dev/firmload.c:1.16 src/sys/dev/firmload.c:1.17
--- src/sys/dev/firmload.c:1.16 Wed Nov 24 16:31:12 2010
+++ src/sys/dev/firmload.c Sun Apr 29 20:27:31 2012
@@ -1,4 +1,4 @@
-/* $NetBSD: firmload.c,v 1.16 2010/11/24 16:31:12 dholland Exp $ */
+/* $NetBSD: firmload.c,v 1.17 2012/04/29 20:27:31 dsl Exp $ */
/*-
* Copyright (c) 2005, 2006 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: firmload.c,v 1.16 2010/11/24 16:31:12 dholland Exp $");
+__KERNEL_RCSID(0, "$NetBSD: firmload.c,v 1.17 2012/04/29 20:27:31 dsl Exp $");
/*
* The firmload API provides an interface for device drivers to access
@@ -50,7 +50,7 @@ __KERNEL_RCSID(0, "$NetBSD: firmload.c,v
#include <dev/firmload.h>
-static MALLOC_DEFINE(M_DEVFIRM, "devfirm", "device firmware buffers");
+MALLOC_DEFINE(M_DEVFIRM, "devfirm", "device firmware buffers");
struct firmware_handle {
struct vnode *fh_vp;
Index: src/sys/dev/ieee1394/sbp.c
diff -u src/sys/dev/ieee1394/sbp.c:1.33 src/sys/dev/ieee1394/sbp.c:1.34
--- src/sys/dev/ieee1394/sbp.c:1.33 Sat Aug 14 10:39:33 2010
+++ src/sys/dev/ieee1394/sbp.c Sun Apr 29 20:27:31 2012
@@ -1,4 +1,4 @@
-/* $NetBSD: sbp.c,v 1.33 2010/08/14 10:39:33 cegger Exp $ */
+/* $NetBSD: sbp.c,v 1.34 2012/04/29 20:27:31 dsl Exp $ */
/*-
* Copyright (c) 2003 Hidetoshi Shimokawa
* Copyright (c) 1998-2002 Katsushi Kobayashi and Hidetoshi Shimokawa
@@ -37,7 +37,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sbp.c,v 1.33 2010/08/14 10:39:33 cegger Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sbp.c,v 1.34 2012/04/29 20:27:31 dsl Exp $");
#include <sys/param.h>
@@ -344,6 +344,7 @@ struct sbp_softc {
};
MALLOC_DEFINE(M_SBP, "sbp", "SBP-II/IEEE1394");
+MALLOC_DECLARE(M_SBP);
static int sbpmatch(device_t, cfdata_t, void *);
Index: src/sys/fs/efs/efs_ihash.c
diff -u src/sys/fs/efs/efs_ihash.c:1.8 src/sys/fs/efs/efs_ihash.c:1.9
--- src/sys/fs/efs/efs_ihash.c:1.8 Fri Jan 27 19:48:40 2012
+++ src/sys/fs/efs/efs_ihash.c Sun Apr 29 20:27:31 2012
@@ -1,4 +1,4 @@
-/* $NetBSD: efs_ihash.c,v 1.8 2012/01/27 19:48:40 para Exp $ */
+/* $NetBSD: efs_ihash.c,v 1.9 2012/04/29 20:27:31 dsl Exp $ */
/*
* Copyright (c) 1982, 1986, 1989, 1991, 1993
@@ -36,7 +36,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: efs_ihash.c,v 1.8 2012/01/27 19:48:40 para Exp $");
+__KERNEL_RCSID(0, "$NetBSD: efs_ihash.c,v 1.9 2012/04/29 20:27:31 dsl Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -70,8 +70,6 @@ static u_long ihash; /* size of hash ta
static kmutex_t efs_ihash_lock;
static kmutex_t efs_hashlock;
-MALLOC_DECLARE(M_EFSINO);
-
/*
* Initialize inode hash table.
*/
Index: src/sys/kern/kern_malloc.c
diff -u src/sys/kern/kern_malloc.c:1.140 src/sys/kern/kern_malloc.c:1.141
--- src/sys/kern/kern_malloc.c:1.140 Sun Apr 29 16:36:53 2012
+++ src/sys/kern/kern_malloc.c Sun Apr 29 20:27:31 2012
@@ -1,4 +1,4 @@
-/* $NetBSD: kern_malloc.c,v 1.140 2012/04/29 16:36:53 dsl Exp $ */
+/* $NetBSD: kern_malloc.c,v 1.141 2012/04/29 20:27:31 dsl Exp $ */
/*
* Copyright (c) 1987, 1991, 1993
@@ -70,7 +70,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: kern_malloc.c,v 1.140 2012/04/29 16:36:53 dsl Exp $");
+__KERNEL_RCSID(0, "$NetBSD: kern_malloc.c,v 1.141 2012/04/29 20:27:31 dsl Exp $");
#include <sys/param.h>
#include <sys/malloc.h>
@@ -205,28 +205,10 @@ kern_realloc(void *curaddr, unsigned lon
return newaddr;
}
-void
-malloc_type_attach(struct malloc_type *type)
-{
- KASSERT(type->ks_magic == M_MAGIC);
-}
-
-void
-malloc_type_detach(struct malloc_type *type)
-{
- KASSERT(type->ks_magic == M_MAGIC);
-}
-
/*
* Initialize the kernel memory allocator
*/
void
kmeminit(void)
{
- __link_set_decl(malloc_types, struct malloc_type);
- struct malloc_type * const *ksp;
-
- /* Attach all of the statically-linked malloc types. */
- __link_set_foreach(ksp, malloc_types)
- malloc_type_attach(*ksp);
}
Index: src/sys/netsmb/smb_conn.c
diff -u src/sys/netsmb/smb_conn.c:1.28 src/sys/netsmb/smb_conn.c:1.29
--- src/sys/netsmb/smb_conn.c:1.28 Tue Mar 13 18:41:01 2012
+++ src/sys/netsmb/smb_conn.c Sun Apr 29 20:27:31 2012
@@ -1,4 +1,4 @@
-/* $NetBSD: smb_conn.c,v 1.28 2012/03/13 18:41:01 elad Exp $ */
+/* $NetBSD: smb_conn.c,v 1.29 2012/04/29 20:27:31 dsl Exp $ */
/*-
* Copyright (c) 2008 The NetBSD Foundation, Inc.
@@ -61,7 +61,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: smb_conn.c,v 1.28 2012/03/13 18:41:01 elad Exp $");
+__KERNEL_RCSID(0, "$NetBSD: smb_conn.c,v 1.29 2012/04/29 20:27:31 dsl Exp $");
/*
* Connection engine.
@@ -90,6 +90,7 @@ static int smb_vcnext = 1; /* next uniqu
static kauth_listener_t smb_listener;
MALLOC_DEFINE(M_SMBCONN, "SMB conn", "SMB connection");
+MALLOC_DECLARE(M_SMBCONN);
static void smb_co_init(struct smb_connobj *cp, int level, const char *objname);
static void smb_co_done(struct smb_connobj *cp);
Index: src/sys/netsmb/smb_dev.c
diff -u src/sys/netsmb/smb_dev.c:1.39 src/sys/netsmb/smb_dev.c:1.40
--- src/sys/netsmb/smb_dev.c:1.39 Fri Dec 17 14:27:34 2010
+++ src/sys/netsmb/smb_dev.c Sun Apr 29 20:27:31 2012
@@ -1,4 +1,4 @@
-/* $NetBSD: smb_dev.c,v 1.39 2010/12/17 14:27:34 pooka Exp $ */
+/* $NetBSD: smb_dev.c,v 1.40 2012/04/29 20:27:31 dsl Exp $ */
/*
* Copyright (c) 2000-2001 Boris Popov
@@ -35,7 +35,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: smb_dev.c,v 1.39 2010/12/17 14:27:34 pooka Exp $");
+__KERNEL_RCSID(0, "$NetBSD: smb_dev.c,v 1.40 2012/04/29 20:27:31 dsl Exp $");
#include <sys/param.h>
#include <sys/kernel.h>
@@ -73,7 +73,7 @@ static struct smb_dev **smb_devtbl; /* i
#define NSMB_DEFNUM 4
-static MALLOC_DEFINE(M_NSMBDEV, "NETSMBDEV", "NET/SMB device");
+MALLOC_DEFINE(M_NSMBDEV, "NETSMBDEV", "NET/SMB device");
/*
Index: src/sys/netsmb/smb_iod.c
diff -u src/sys/netsmb/smb_iod.c:1.39 src/sys/netsmb/smb_iod.c:1.40
--- src/sys/netsmb/smb_iod.c:1.39 Fri Dec 17 13:05:29 2010
+++ src/sys/netsmb/smb_iod.c Sun Apr 29 20:27:31 2012
@@ -1,4 +1,4 @@
-/* $NetBSD: smb_iod.c,v 1.39 2010/12/17 13:05:29 pooka Exp $ */
+/* $NetBSD: smb_iod.c,v 1.40 2012/04/29 20:27:31 dsl Exp $ */
/*
* Copyright (c) 2000-2001 Boris Popov
@@ -35,7 +35,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: smb_iod.c,v 1.39 2010/12/17 13:05:29 pooka Exp $");
+__KERNEL_RCSID(0, "$NetBSD: smb_iod.c,v 1.40 2012/04/29 20:27:31 dsl Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -62,7 +62,8 @@ __KERNEL_RCSID(0, "$NetBSD: smb_iod.c,v
#define smb_iod_wakeup(iod) wakeup(&(iod)->iod_flags)
-static MALLOC_DEFINE(M_SMBIOD, "SMBIOD", "SMB network io daemon");
+MALLOC_DEFINE(M_SMBIOD, "SMBIOD", "SMB network io daemon");
+MALLOC_DECLARE(M_SMBIOD);
static int smb_iod_next;
Index: src/sys/rump/librump/rumpkern/memalloc.c
diff -u src/sys/rump/librump/rumpkern/memalloc.c:1.14 src/sys/rump/librump/rumpkern/memalloc.c:1.15
--- src/sys/rump/librump/rumpkern/memalloc.c:1.14 Sun Apr 29 16:36:53 2012
+++ src/sys/rump/librump/rumpkern/memalloc.c Sun Apr 29 20:27:32 2012
@@ -1,4 +1,4 @@
-/* $NetBSD: memalloc.c,v 1.14 2012/04/29 16:36:53 dsl Exp $ */
+/* $NetBSD: memalloc.c,v 1.15 2012/04/29 20:27:32 dsl 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.14 2012/04/29 16:36:53 dsl Exp $");
+__KERNEL_RCSID(0, "$NetBSD: memalloc.c,v 1.15 2012/04/29 20:27:32 dsl Exp $");
#include <sys/param.h>
#include <sys/kmem.h>
@@ -54,20 +54,6 @@ __KERNEL_RCSID(0, "$NetBSD: memalloc.c,v
* malloc
*/
-void
-malloc_type_attach(struct malloc_type *type)
-{
-
- return;
-}
-
-void
-malloc_type_detach(struct malloc_type *type)
-{
-
- return;
-}
-
void *
kern_malloc(unsigned long size, int flags)
{
Index: src/sys/sys/malloc.h
diff -u src/sys/sys/malloc.h:1.112 src/sys/sys/malloc.h:1.113
--- src/sys/sys/malloc.h:1.112 Sun Apr 29 16:36:54 2012
+++ src/sys/sys/malloc.h Sun Apr 29 20:27:32 2012
@@ -1,4 +1,4 @@
-/* $NetBSD: malloc.h,v 1.112 2012/04/29 16:36:54 dsl Exp $ */
+/* $NetBSD: malloc.h,v 1.113 2012/04/29 20:27:32 dsl Exp $ */
/*
* Copyright (c) 1987, 1993
@@ -45,9 +45,13 @@
#define M_CANFAIL 0x0004 /* can fail if requested memory can't ever
* be allocated */
#include <sys/mallocvar.h>
+#if 0
/*
* The following are standard, built-in malloc types that are
* not specific to any one subsystem.
+ *
+ * They are currently not defined, but are still passed to malloc()
+ * and free(). They may be re-instated as diagnostics at some point.
*/
MALLOC_DECLARE(M_DEVBUF);
MALLOC_DECLARE(M_DMAMAP);
@@ -62,6 +66,7 @@ MALLOC_DECLARE(M_IPMOPTS);
MALLOC_DECLARE(M_IPMADDR);
MALLOC_DECLARE(M_MRTABLE);
MALLOC_DECLARE(M_BWMETER);
+#endif
void *kern_malloc(unsigned long, int);
void *kern_realloc(void *, unsigned long, int);
Index: src/sys/sys/mallocvar.h
diff -u src/sys/sys/mallocvar.h:1.11 src/sys/sys/mallocvar.h:1.12
--- src/sys/sys/mallocvar.h:1.11 Sat Apr 28 23:03:40 2012
+++ src/sys/sys/mallocvar.h Sun Apr 29 20:27:32 2012
@@ -1,4 +1,4 @@
-/* $NetBSD: mallocvar.h,v 1.11 2012/04/28 23:03:40 rmind Exp $ */
+/* $NetBSD: mallocvar.h,v 1.12 2012/04/29 20:27:32 dsl Exp $ */
/*
* Copyright (c) 1987, 1993
@@ -36,56 +36,29 @@
#include <sys/types.h>
-#define M_MAGIC 877983977
-
-#define MAXBUCKET 15
/*
* This structure describes a type of malloc'd memory and carries
* allocation statistics for that memory.
*/
-struct malloc_type {
- struct malloc_type *ks_next; /* next in list */
- u_long ks_magic; /* indicates valid structure */
- const char *ks_shortdesc;/* short description */
-
- /* Statistics */
- u_long ks_inuse; /* # of packets of this type currently in use */
- u_long ks_calls; /* total packets of this type ever allocated */
- u_long ks_memuse; /* total memory held in bytes */
- u_short ks_limblocks; /* number of times blocked for hitting limit */
- u_short ks_mapblocks; /* number of times blocked for kernel map */
- u_long ks_maxused; /* maximum number ever used */
- u_long ks_limit; /* most that are allowed to exist */
- u_long ks_size; /* sizes of this thing that are allocated */
- u_int ks_active[MAXBUCKET+1]; /* number of active allocations per size */
-};
+struct malloc_type;
#ifdef _KERNEL
-#define MALLOC_JUSTDEFINE_LIMIT(type, shortdesc, longdesc, limit) \
-struct malloc_type type[1] = { \
- [0] = { \
- .ks_magic = M_MAGIC, \
- .ks_shortdesc = shortdesc, \
- .ks_limit = limit, \
- }, \
-};
+#define MALLOC_JUSTDEFINE_LIMIT(type, shortdesc, longdesc, limit)
#define MALLOC_JUSTDEFINE(type, shortdesc, longdesc) \
MALLOC_JUSTDEFINE_LIMIT(type, shortdesc, longdesc, 0)
#define MALLOC_DEFINE_LIMIT(type, shortdesc, longdesc, limit) \
- MALLOC_JUSTDEFINE_LIMIT(type, shortdesc, longdesc, limit) \
- __link_set_add_data(malloc_types, type)
+ MALLOC_JUSTDEFINE_LIMIT(type, shortdesc, longdesc, limit)
#define MALLOC_DEFINE(type, shortdesc, longdesc) \
MALLOC_DEFINE_LIMIT(type, shortdesc, longdesc, 0)
#define MALLOC_DECLARE(type) \
- extern struct malloc_type type[1]
-
-void malloc_type_attach(struct malloc_type *);
-void malloc_type_detach(struct malloc_type *);
+ static struct malloc_type *const __unused type = 0
+#define malloc_type_attach(malloc_type)
+#define malloc_type_detach(malloc_type)
#endif /* _KERNEL */
#endif /* _SYS_MALLOCVAR_H_ */