<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src-test/sys/cddl/dev/dtrace/dtrace_unload.c, branch main</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src-test/atom?h=main</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src-test/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/'/>
<updated>2015-02-03T19:39:53Z</updated>
<entry>
<title>MFV	r266993:</title>
<updated>2015-02-03T19:39:53Z</updated>
<author>
<name>Pedro F. Giffuni</name>
<email>pfg@FreeBSD.org</email>
</author>
<published>2015-02-03T19:39:53Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=eadcd0fadf94e04a873c9ca9dcb1d373150ddad1'/>
<id>urn:sha1:eadcd0fadf94e04a873c9ca9dcb1d373150ddad1</id>
<content type='text'>
4469 DTrace helper tracing should be dynamic

Reference:
https://illumos.org/issues/4469

Obtained from:	Illumos
Phabric:	D1551
Reviewed by:	markj
MFC after:	2 weeks
</content>
</entry>
<entry>
<title>Continue the crusade towards a dev_clone()-free kernel, removing its</title>
<updated>2014-06-25T03:54:02Z</updated>
<author>
<name>Davide Italiano</name>
<email>davide@FreeBSD.org</email>
</author>
<published>2014-06-25T03:54:02Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=a99098e2ba18e9c0c9ec80a98ea703d290a56cf2'/>
<id>urn:sha1:a99098e2ba18e9c0c9ec80a98ea703d290a56cf2</id>
<content type='text'>
usage from dtrace. The dtrace code already uses cdevpriv(9) since FreeBSD
8, so this change should be quite harmless.

Reviewed by:	markj
Approved by:	markj
MFC after:	never
</content>
</entry>
<entry>
<title>Revert r260091. The vmem calls seem to be slower than the *_unr() calls that</title>
<updated>2013-12-31T15:37:51Z</updated>
<author>
<name>Mark Johnston</name>
<email>markj@FreeBSD.org</email>
</author>
<published>2013-12-31T15:37:51Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=a333376bba1d947fa21031ed883aae1e93b753d9'/>
<id>urn:sha1:a333376bba1d947fa21031ed883aae1e93b753d9</id>
<content type='text'>
they replaced, which is important considering that probe IDs are allocated
during process startup for USDT probes.
</content>
</entry>
<entry>
<title>Now that vmem(9) is available, use vmem arenas to allocate probe and</title>
<updated>2013-12-30T17:37:32Z</updated>
<author>
<name>Mark Johnston</name>
<email>markj@FreeBSD.org</email>
</author>
<published>2013-12-30T17:37:32Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=b9c04b396ac59dae8ba70753cd4822c8fb494a6e'/>
<id>urn:sha1:b9c04b396ac59dae8ba70753cd4822c8fb494a6e</id>
<content type='text'>
aggregation IDs, as is done in the upstream illumos code. This still
requires some FreeBSD-specific code, as our vmem API is not identical to the
one in illumos.

Submitted by:	Mike Ma &lt;mikemandarine@gmail.com&gt;
</content>
</entry>
<entry>
<title>Initialize and free the DTrace taskqueue in the dtrace module load/unload</title>
<updated>2013-10-08T12:56:46Z</updated>
<author>
<name>Mark Johnston</name>
<email>markj@FreeBSD.org</email>
</author>
<published>2013-10-08T12:56:46Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=cb7320ce7b3841f6cfaac18b0a2f857cedadfe5f'/>
<id>urn:sha1:cb7320ce7b3841f6cfaac18b0a2f857cedadfe5f</id>
<content type='text'>
handlers rather than in the dtrace device open/close methods. The current
approach can cause a panic if the device is closed which the taskqueue
thread is active, or if a kernel module containing a provider is unloaded
while retained enablings are present and the dtrace device isn't opened.

Submitted by:	gibbs (original version)
Reviewed by:	gibbs
Approved by:	re (glebius)
MFC after:	2 weeks
</content>
</entry>
<entry>
<title>Rename the kld_unload event handler to kld_unload_try, and add a new</title>
<updated>2013-08-24T21:13:38Z</updated>
<author>
<name>Mark Johnston</name>
<email>markj@FreeBSD.org</email>
</author>
<published>2013-08-24T21:13:38Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=29f4e216f22f69380f86029fc282bf8b9002330c'/>
<id>urn:sha1:29f4e216f22f69380f86029fc282bf8b9002330c</id>
<content type='text'>
kld_unload event handler which gets invoked after a linker file has been
successfully unloaded. The kld_unload and kld_load event handlers are now
invoked with the shared linker lock held, while kld_unload_try is invoked
with the lock exclusively held.

Convert hwpmc(4) to use these event handlers instead of having
kern_kldload() and kern_kldunload() invoke hwpmc(4) hooks whenever files are
loaded or unloaded. This has no functional effect, but simplifes the linker
code somewhat.

Reviewed by:	jhb
</content>
</entry>
<entry>
<title>Use kld_{load,unload} instead of mod_{load,unload} for the linker file load</title>
<updated>2013-08-14T00:42:21Z</updated>
<author>
<name>Mark Johnston</name>
<email>markj@FreeBSD.org</email>
</author>
<published>2013-08-14T00:42:21Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=12ede07ab8eba1a518ec337294513969bcca4d8d'/>
<id>urn:sha1:12ede07ab8eba1a518ec337294513969bcca4d8d</id>
<content type='text'>
and unload event handlers added in r254266.

Reported by:	jhb
X-MFC with:	r254266
</content>
</entry>
<entry>
<title>FreeBSD's DTrace implementation has a few problems with respect to handling</title>
<updated>2013-08-13T03:10:39Z</updated>
<author>
<name>Mark Johnston</name>
<email>markj@FreeBSD.org</email>
</author>
<published>2013-08-13T03:10:39Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=8776669b53777489f705930295036a5eb0c5a37e'/>
<id>urn:sha1:8776669b53777489f705930295036a5eb0c5a37e</id>
<content type='text'>
probes declared in a kernel module when that module is unloaded. In
particular,

* Unloading a module with active SDT probes will cause a panic. [1]
* A module's (FBT/SDT) probes aren't destroyed when the module is unloaded;
  trying to use them after the fact will generally cause a panic.

This change fixes both problems by porting the DTrace module load/unload
handlers from illumos and registering them with the corresponding
EVENTHANDLER(9) handlers. This allows the DTrace framework to destroy all
probes defined in a module when that module is unloaded, and to prevent a
module unload from proceeding if some of its probes are active. The latter
problem has already been fixed for FBT probes by checking lf-&gt;nenabled in
kern_kldunload(), but moving the check into the DTrace framework generalizes
it to all kernel providers and also fixes a race in the current
implementation (since a probe may be activated between the check and the
call to linker_file_unload()).

Additionally, the SDT implementation has been reworked to define SDT
providers/probes/argtypes in linker sets rather than using SYSINIT/SYSUNINIT
to create and destroy SDT probes when a module is loaded or unloaded. This
simplifies things quite a bit since it means that pretty much all of the SDT
code can live in sdt.ko, and since it becomes easier to integrate SDT with
the DTrace framework. Furthermore, this allows FreeBSD to be quite flexible
in that SDT providers spanning multiple modules can be created on the fly
when a module is loaded; at the moment it looks like illumos' SDT
implementation requires all SDT probes to be statically defined in a single
kernel table.

PR:		166927, 166926, 166928
Reported by:	davide [1]
Reviewed by:	avg, trociny (earlier version)
MFC after:	1 month
</content>
</entry>
<entry>
<title>opensolaris code: translate INVARIANTS to DEBUG and ZFS_DEBUG</title>
<updated>2013-08-06T15:51:56Z</updated>
<author>
<name>Andriy Gapon</name>
<email>avg@FreeBSD.org</email>
</author>
<published>2013-08-06T15:51:56Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=c319ea15f4eea35e673769f77cceaeeae5c87e00'/>
<id>urn:sha1:c319ea15f4eea35e673769f77cceaeeae5c87e00</id>
<content type='text'>
Do this by forcing inclusion of
sys/cddl/compat/opensolaris/sys/debug_compat.h
via -include option into all source files from OpenSolaris.
Note that this -include option must always be after -include opt_global.h.

Additionally, remove forced definition of DEBUG for some modules and fix
their build without DEBUG.

Also, meaning of DEBUG was overloaded to enable WITNESS support for some
OpenSolaris (primarily ZFS) locks.  Now this overloading is removed and
that use of DEBUG is replaced with a new option OPENSOLARIS_WITNESS.

MFC after:	17 days
</content>
</entry>
<entry>
<title>Hide references to mod_lock. In FreeBSD it is always acquired with the</title>
<updated>2013-07-05T22:42:10Z</updated>
<author>
<name>Mark Johnston</name>
<email>markj@FreeBSD.org</email>
</author>
<published>2013-07-05T22:42:10Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=46d27dbb382ef351902f799f4f8caa5732fc41ef'/>
<id>urn:sha1:46d27dbb382ef351902f799f4f8caa5732fc41ef</id>
<content type='text'>
provider lock held, so its use has no effect.
</content>
</entry>
</feed>
