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_ */

Reply via email to