PERFORCE change 134611 for review
John Birrell
jb at FreeBSD.org
Fri Feb 1 16:04:37 PST 2008
http://perforce.freebsd.org/chv.cgi?CH=134611
Change 134611 by jb at jb_freebsd1 on 2008/02/02 00:03:45
Is there any documentation for cloning devices on FreeBSD? :-(
We don't need to allocate a cloned device number... we get told
that.
Affected files ...
.. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_clone.c#8 edit
.. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_load.c#29 edit
.. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_unload.c#25 edit
.. //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/dtrace/dtrace.c#29 edit
.. //depot/projects/dtrace7/src/sys/cddl/dev/dtrace/dtrace_clone.c#2 edit
.. //depot/projects/dtrace7/src/sys/cddl/dev/dtrace/dtrace_load.c#2 edit
.. //depot/projects/dtrace7/src/sys/cddl/dev/dtrace/dtrace_unload.c#2 edit
.. //depot/projects/dtrace7/src/sys/contrib/opensolaris/uts/common/dtrace/dtrace.c#4 edit
Differences ...
==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_clone.c#8 (text+ko) ====
@@ -49,9 +49,6 @@
if (len == 13 && bcmp(name,"dtrace/dtrace",13) != 0)
return;
- /* Allocate a unique minor number. */
- u = alloc_unr(dtrace_minor);
-
/* Clone the device to the new minor number. */
if (clone_create(&dtrace_clones, &dtrace_cdevsw, &u, dev, 0) != 0)
/* Create the /dev/dtrace/dtraceNN entry. */
==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_load.c#29 (text+ko) ====
@@ -98,7 +98,6 @@
#endif
dtrace_arena = new_unrhdr(1, INT_MAX, &dtrace_unr_mtx);
- dtrace_minor = new_unrhdr(1, INT_MAX, &dtrace_unr_mtx);
dtrace_state_cache = kmem_cache_create("dtrace_state_cache",
sizeof (dtrace_dstate_percpu_t) * NCPU, DTRACE_STATE_ALIGN,
==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_unload.c#25 (text+ko) ====
@@ -123,7 +123,6 @@
kmem_cache_destroy(dtrace_state_cache);
delete_unrhdr(dtrace_arena);
- delete_unrhdr(dtrace_minor);
if (dtrace_toxrange != NULL) {
kmem_free(dtrace_toxrange, 0);
==== //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/dtrace/dtrace.c#29 (text) ====
@@ -197,7 +197,6 @@
static taskq_t *dtrace_taskq; /* task queue */
#else
static struct unrhdr *dtrace_arena; /* Probe ID number. */
-static struct unrhdr *dtrace_minor; /* Minor number. */
#endif
static dtrace_probe_t **dtrace_probes; /* array of all probes */
static int dtrace_nprobes; /* number of probes */
@@ -14957,6 +14956,7 @@
/* Check if this is not a cloned device. */
if (minor(dev) == 0)
return (0);
+
#endif
mutex_enter(&cpu_lock);
@@ -14990,6 +14990,9 @@
mutex_exit(&dtrace_lock);
mutex_exit(&cpu_lock);
+ /* Schedule this cloned device to be destroyed. */
+ destroy_dev_sched(dev);
+
return (0);
}
==== //depot/projects/dtrace7/src/sys/cddl/dev/dtrace/dtrace_clone.c#2 (text+ko) ====
@@ -49,9 +49,6 @@
if (len == 13 && bcmp(name,"dtrace/dtrace",13) != 0)
return;
- /* Allocate a unique minor number. */
- u = alloc_unr(dtrace_minor);
-
/* Clone the device to the new minor number. */
if (clone_create(&dtrace_clones, &dtrace_cdevsw, &u, dev, 0) != 0)
/* Create the /dev/dtrace/dtraceNN entry. */
==== //depot/projects/dtrace7/src/sys/cddl/dev/dtrace/dtrace_load.c#2 (text+ko) ====
@@ -98,7 +98,6 @@
#endif
dtrace_arena = new_unrhdr(1, INT_MAX, &dtrace_unr_mtx);
- dtrace_minor = new_unrhdr(1, INT_MAX, &dtrace_unr_mtx);
dtrace_state_cache = kmem_cache_create("dtrace_state_cache",
sizeof (dtrace_dstate_percpu_t) * NCPU, DTRACE_STATE_ALIGN,
==== //depot/projects/dtrace7/src/sys/cddl/dev/dtrace/dtrace_unload.c#2 (text+ko) ====
@@ -123,7 +123,6 @@
kmem_cache_destroy(dtrace_state_cache);
delete_unrhdr(dtrace_arena);
- delete_unrhdr(dtrace_minor);
if (dtrace_toxrange != NULL) {
kmem_free(dtrace_toxrange, 0);
==== //depot/projects/dtrace7/src/sys/contrib/opensolaris/uts/common/dtrace/dtrace.c#4 (text) ====
@@ -197,7 +197,6 @@
static taskq_t *dtrace_taskq; /* task queue */
#else
static struct unrhdr *dtrace_arena; /* Probe ID number. */
-static struct unrhdr *dtrace_minor; /* Minor number. */
#endif
static dtrace_probe_t **dtrace_probes; /* array of all probes */
static int dtrace_nprobes; /* number of probes */
More information about the p4-projects
mailing list