PERFORCE change 96803 for review

John Birrell jb at FreeBSD.org
Sun May 7 23:10:40 UTC 2006


http://perforce.freebsd.org/chv.cgi?CH=96803

Change 96803 by jb at jb_freebsd2 on 2006/05/07 23:09:38

	Move the vmem and kmem hacks out into separate files that can be filled
	in later with something less hackish.

Affected files ...

.. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_hacks.c#13 edit
.. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_hacks.h#12 edit
.. //depot/projects/dtrace/src/sys/cddl/kern/kmem.c#1 add
.. //depot/projects/dtrace/src/sys/cddl/kern/vmem.c#1 add
.. //depot/projects/dtrace/src/sys/contrib/opensolaris/compat/sys/kmem.h#1 add
.. //depot/projects/dtrace/src/sys/contrib/opensolaris/compat/sys/vmem.h#1 add

Differences ...

==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_hacks.c#13 (text+ko) ====

@@ -1,69 +1,5 @@
 /* XXX Hacks.... */
 
-vmem_t *
-vmem_create(const char *name, void *base, size_t size, size_t quantum,
-    vmem_alloc_t *afunc, vmem_free_t *ffunc, vmem_t *source,
-    size_t qcache_max, int vmflag)
-{
-	return (malloc(sizeof(vmem_t), M_DTRACE, M_WAITOK | M_ZERO));
-}
-
-void *
-vmem_alloc(vmem_t *vmp, size_t size, int vmflag)
-{
-	/*
-	 * Hope like hell that the caller only uses the value
-	 * returned as an integer, not a pointer!
-	 */
-	return ((void *) ++(*vmp));
-}
-
-void
-vmem_free(vmem_t *vmp, void *vaddr, size_t size)
-{
-	/*
-	 * Nothing to do here. We didn't really allocate memory
-	 * in the first place. 8-)
-	 */
-}
-void
-vmem_destroy(vmem_t *vmp)
-{
-	free(vmp, M_DTRACE);
-}
-kmem_cache_t *
-kmem_cache_create(
-        char *name,             /* descriptive name for this cache */
-        size_t bufsize,         /* size of the objects it manages */
-        size_t align,           /* required object alignment */
-        int (*constructor)(void *, void *, int), /* object constructor */
-        void (*destructor)(void *, void *),     /* object destructor */
-        void (*reclaim)(void *), /* memory reclaim callback */
-        void *private,          /* pass-thru arg for constr/destr/reclaim */
-        vmem_t *vmp,            /* vmem source for slab allocation */
-        int cflags)             /* cache creation flags */
-
-{
-	kmem_cache_t *p = malloc(sizeof(kmem_cache_t), M_DTRACE, M_WAITOK);
-	p->size = bufsize;
-	return(p);
-}
-void *
-kmem_cache_alloc(kmem_cache_t *a, int b)
-{
-	return (malloc(a->size, M_DTRACE, M_WAITOK | M_ZERO));
-}
-void
-kmem_cache_free(kmem_cache_t *a, void *b)
-{
-	free(b, M_DTRACE);
-}
-void
-kmem_cache_destroy(kmem_cache_t *a)
-{
-	free(a, M_DTRACE);
-}
-
 dtrace_cacheid_t dtrace_predcache_id;
 
 void *hack_refs[] =

==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_hacks.h#12 (text+ko) ====

@@ -7,17 +7,6 @@
 #define CPU			curthread
 #define cpu_id			td_oncpu
 
-#define	VM_SLEEP	0x00000000	/* same as KM_SLEEP */
-#define	VM_BESTFIT	0x00000100
-#define	VMC_IDENTIFIER	0x00040000	/* not backed by memory */
-typedef void *(vmem_alloc_t)(vmem_t *, size_t, int);
-typedef void (vmem_free_t)(vmem_t *, void *, size_t);
-vmem_t *vmem_create(const char *, void *, size_t, size_t,
-    vmem_alloc_t *, vmem_free_t *, vmem_t *, size_t, int);
-void *vmem_alloc(vmem_t *, size_t, int);
-void vmem_free(vmem_t *, void *, size_t);
-void vmem_destroy(vmem_t *);
-
 #define	t_dtrace_start		td_dtrace_start
 #define	t_dtrace_vtime		td_dtrace_vtime
 #define	t_predcache		td_predcache
@@ -37,11 +26,6 @@
 #define	crgetuid(_a)		_a->cr_uid
 #define	crgetzoneid(_a)		0
 #define SNOCD			0
-#define KM_SLEEP		M_WAITOK
-#define KM_NOSLEEP		M_NOWAIT
-#define kmem_zalloc(_a,_b)	malloc(_a, M_DTRACE, _b | M_ZERO)
-#define kmem_alloc(_a,_b)	malloc(_a, M_DTRACE, _b)
-#define kmem_free(_a,_b)	free(_a, M_DTRACE)
 #define	NCPU			(mp_maxid + 1)
 #define delay(_a)		DELAY(_a)
 #define vuprintf		vprintf
@@ -61,7 +45,6 @@
 #define PRIV_PROC_OWNER		(1UL << 4)
 #define PRIV_PROC_ZONE		(1UL << 5)
 #define PRIV_ALL		~0UL
-typedef struct pcpu		cpu_t;
 typedef struct __dev_info	*dev_info_t;
 typedef	int			minor_t;
 typedef	int			major_t;
@@ -110,18 +93,6 @@
 #define	PRIV_POLICY_ONLY(cred, priv, all) \
 		priv_policy_only((cred), (priv), (all))
 
-typedef struct kmem_cache {
-	size_t size;
-} kmem_cache_t;
-kmem_cache_t *kmem_cache_create(char *, size_t, size_t,
-        int (*)(void *, void *, int), void (*)(void *, void *),
-        void (*)(void *), void *, vmem_t *, int);
-void kmem_cache_destroy(kmem_cache_t *);
-void *kmem_cache_alloc(kmem_cache_t *, int);
-void kmem_cache_free(kmem_cache_t *, void *);
-uint64_t kmem_cache_stat(kmem_cache_t *, char *);
-void kmem_cache_reap_now(kmem_cache_t *);
-
 typedef enum kdi_dtrace_set {
         KDI_DTSET_DTRACE_ACTIVATE,
         KDI_DTSET_DTRACE_DEACTIVATE,


More information about the p4-projects mailing list