Ryan Stone
9742410797
Instead of only iterating over the set of known SDT probes when sdt.ko is
...
loaded and unloaded, also have sdt.ko register callbacks with kern_sdt.c
that will be called when a newly loaded KLD module adds more probes or
a module with probes is unloaded.
This fixes two issues: first, if a module with SDT probes was loaded after
sdt.ko was loaded, those new probes would not be available in DTrace.
Second, if a module with SDT probes was unloaded while sdt.ko was loaded,
the kernel would panic the next time DTrace had cause to try and do
anything with the no-longer-existent probes.
This makes it possible to create SDT probes in KLD modules, although there
are still two caveats: first, any SDT probes in a KLD module must be part
of a DTrace provider that is defined in that module. At present DTrace
only destroys probes when the provider is destroyed, so you can still
panic the system if a KLD module creates new probes in a provider from a
different module(including the kernel) and then unload the the first module.
Second, the system will panic if you unload a module containing SDT probes
while there is an active D script that has enabled those probes.
MFC after: 1 month
2012-03-27 15:07:43 +00:00
..
2011-04-29 21:36:45 +00:00
2011-08-18 22:51:30 +00:00
2011-05-24 13:22:40 +00:00
2011-06-16 22:00:59 +00:00
2012-03-11 19:38:49 +00:00
2012-02-17 23:47:16 +00:00
2011-03-06 22:59:30 +00:00
2012-01-22 11:01:36 +00:00
2011-11-21 01:26:10 +00:00
2011-09-16 13:58:51 +00:00
2012-03-10 14:57:21 +00:00
2012-03-13 10:21:08 +00:00
2012-02-10 14:55:47 +00:00
2011-12-17 15:50:45 +00:00
2011-09-16 13:58:51 +00:00
2012-03-10 18:56:16 +00:00
2011-12-05 10:34:52 +00:00
2012-02-21 01:05:12 +00:00
2012-03-08 20:34:13 +00:00
2011-11-07 06:44:47 +00:00
2011-09-16 13:58:51 +00:00
2011-11-07 15:43:11 +00:00
2012-03-26 09:34:17 +00:00
2012-03-08 19:41:05 +00:00
2012-03-14 15:52:23 +00:00
2011-11-07 06:44:47 +00:00
2011-12-01 07:19:13 +00:00
2012-02-27 21:10:10 +00:00
2012-02-21 01:05:12 +00:00
2011-04-13 11:28:46 +00:00
2011-05-31 15:11:43 +00:00
2012-03-09 22:30:54 +00:00
2012-03-06 11:05:50 +00:00
2011-04-12 08:13:18 +00:00
2012-03-08 19:41:05 +00:00
2012-01-02 12:12:10 +00:00
2012-02-21 01:05:12 +00:00
2012-03-22 09:29:07 +00:00
2012-03-05 14:19:43 +00:00
2011-11-07 06:44:47 +00:00
2011-09-16 13:58:51 +00:00
2012-03-01 19:58:34 +00:00
2011-07-17 23:05:24 +00:00
2011-09-16 13:58:51 +00:00
2011-12-11 21:02:01 +00:00
2011-12-24 01:32:01 +00:00
2010-11-25 20:05:11 +00:00
2011-05-05 14:39:14 +00:00
2011-11-07 15:43:11 +00:00
2010-08-22 11:18:57 +00:00
2012-03-23 20:05:41 +00:00
2012-01-08 18:48:36 +00:00
2012-03-18 19:13:32 +00:00
2011-11-07 06:44:47 +00:00
2012-01-22 20:25:00 +00:00
2011-12-11 21:02:01 +00:00
2011-12-11 21:02:01 +00:00
2012-03-27 15:07:43 +00:00
2012-01-28 14:00:21 +00:00
2011-11-07 15:43:11 +00:00
2011-12-04 21:27:41 +00:00
2011-12-12 10:05:13 +00:00
2011-12-11 21:02:01 +00:00
2010-10-21 20:31:50 +00:00
2012-03-22 04:52:51 +00:00
2012-03-03 08:19:18 +00:00
2012-03-08 19:41:05 +00:00
2012-01-03 21:03:28 +00:00
2011-09-16 13:58:51 +00:00
2011-11-07 06:44:47 +00:00
2012-03-16 20:32:11 +00:00
2012-01-05 19:00:36 +00:00
2011-06-07 02:50:14 +00:00
2012-02-21 01:05:12 +00:00
2012-02-21 01:05:12 +00:00
2011-07-10 00:53:04 +00:00
2011-03-01 13:28:27 +00:00
2011-11-21 01:26:10 +00:00
2011-09-16 13:58:51 +00:00
2011-07-17 23:05:24 +00:00
2012-03-08 19:41:05 +00:00
2012-03-13 08:18:54 +00:00
2012-03-13 20:27:48 +00:00
2012-03-13 20:27:48 +00:00
2011-01-06 22:09:37 +00:00
2011-12-03 15:41:37 +00:00
2012-02-28 19:16:02 +00:00
2011-01-09 14:34:56 +00:00
2011-11-07 15:43:11 +00:00
2010-09-02 19:40:28 +00:00
2011-11-19 00:20:28 +00:00
2012-01-23 16:31:46 +00:00
2012-01-02 12:12:10 +00:00
2011-12-17 15:11:22 +00:00
2011-11-15 20:11:03 +00:00
2011-12-11 21:02:01 +00:00
2012-02-01 14:34:52 +00:00
2012-02-06 06:03:16 +00:00
2011-02-09 19:08:21 +00:00
2012-03-19 00:36:32 +00:00
2011-03-23 16:38:29 +00:00
2011-11-07 06:44:47 +00:00
2011-10-16 14:16:46 +00:00
2011-11-07 15:43:11 +00:00
2011-11-07 15:43:11 +00:00
2011-11-19 14:10:16 +00:00
2011-08-19 08:29:10 +00:00
2012-01-26 16:35:09 +00:00
2011-11-07 15:43:11 +00:00
2011-11-07 15:43:11 +00:00
2011-11-16 19:06:55 +00:00
2012-02-27 21:10:10 +00:00
2011-09-15 08:42:06 +00:00
2011-10-03 16:58:58 +00:00
2011-11-07 15:43:11 +00:00
2012-03-22 04:52:51 +00:00
2011-02-21 09:01:34 +00:00
2012-01-09 19:34:12 +00:00
2012-03-12 11:56:57 +00:00
2012-03-04 14:55:37 +00:00
2012-03-11 12:19:58 +00:00
2011-09-16 13:58:51 +00:00
2012-02-23 11:50:23 +00:00
2011-08-16 20:07:47 +00:00
2011-11-21 01:26:10 +00:00
2011-11-21 01:26:10 +00:00
2011-11-21 01:26:10 +00:00
2011-09-16 13:58:51 +00:00
2011-09-16 13:58:51 +00:00
2012-02-19 00:28:49 +00:00
2012-02-06 18:15:46 +00:00
2012-01-02 12:12:10 +00:00
2011-06-26 18:26:20 +00:00
2011-09-16 13:58:51 +00:00
2011-01-04 10:59:38 +00:00
2012-02-21 01:05:12 +00:00
2012-02-26 20:56:49 +00:00
2011-02-25 10:11:01 +00:00
2012-02-23 17:47:19 +00:00
2012-02-21 01:05:12 +00:00
2012-01-02 12:12:10 +00:00
2011-09-16 13:58:51 +00:00
2012-01-08 20:09:26 +00:00
2011-12-13 00:38:50 +00:00
2012-02-26 13:55:43 +00:00
2012-03-15 14:13:38 +00:00
2012-02-29 21:38:31 +00:00
2011-09-16 13:58:51 +00:00
2012-02-05 04:49:31 +00:00
2012-03-01 18:45:25 +00:00
2012-03-03 01:06:54 +00:00
2012-02-08 15:07:19 +00:00
2012-02-29 21:38:31 +00:00
2012-02-21 01:05:12 +00:00
2011-09-13 21:01:26 +00:00
2012-01-01 18:45:59 +00:00
2012-03-09 00:12:05 +00:00
2012-02-21 01:05:12 +00:00
2012-03-09 00:12:05 +00:00
2012-03-09 21:31:12 +00:00
2012-03-08 20:27:20 +00:00
2012-02-29 21:38:31 +00:00