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