On Wed, Aug 23, 2006 at 11:05:17AM -0500, Chip Bennett
wrote:> (Did you mean to not reply to the list? OK, I''ll respect the
implied
> desire for privacy.)
Oops; no, I just hit the wrong reply button.
> Jonathan Adams wrote:
> >On 8/23/06, Chip Bennett <cbennett at laurustech.com> wrote:
> >>If one wanted to remove the profile provider''s probes from
the defined
> >>list, is there a way aside from unloading the module or rebooting?
> >>Whenever I''ve tried to unload the profile module,
it''s busy.
> >
> >Those are the only ways; is there an active dtrace consumer using its
> >probes? (echo ::dtrace_state | mdb -k) If not, it should be
> >unloadable.
> No consumer running, according to the above command. (I ran a consumer,
> just to make sure I was doing the detection correctly.) So I wonder why
> I can''t unload it.
How are you trying to unload it? On my system, I can do:
# dtrace -l -P profile
ID PROVIDER MODULE FUNCTION NAME
...
54223 profile tick-1000
54224 profile tick-5000
# dtrace -l -n profile-10s
ID PROVIDER MODULE FUNCTION NAME
54227 profile profile-10s
# dtrace -l -P profile
ID PROVIDER MODULE FUNCTION NAME
...
54224 profile tick-5000
54227 profile profile-10s
# update_drv profile
# dtrace -l -P profile
ID PROVIDER MODULE FUNCTION NAME
...
54223 profile tick-1000
54224 profile tick-5000
#
(the update_drv will unload then reload the driver, and give you an error
if any part fails)
> >Are you getting a bunch of created-on-demand probes you don''t
want
> >anymore or something?
> No, just a point of curiosity. However, it was worth it just to get
> that nice little tidbit for detecting consumers.
I''m glad I could help out.
Cheers,
- jonathan
--
Jonathan Adams, Solaris Kernel Development