Lines Matching full:probe

138 sdt_create_probe(struct sdt_probe *probe)
149 if (probe->version != (int)sizeof(*probe)) {
150 printf("ignoring probe %p, version %u expected %u\n",
151 probe, probe->version, (int)sizeof(*probe));
156 if (strcmp(prov->name, probe->prov->name) == 0)
159 KASSERT(prov != NULL, ("probe defined without a provider"));
162 if (*probe->mod == 0) {
163 len = strlcpy(mod, probe->sdtp_lf->filename, sizeof(mod));
167 strlcpy(mod, probe->mod, sizeof(mod));
175 strlcpy(func, probe->func, sizeof(func));
179 from = probe->name;
204 (void)dtrace_probe_create(prov->id, mod, func, name, aframes, probe);
218 struct sdt_probe *probe;
242 STAILQ_FOREACH(tp, &arg->probe->tracepoint_list, tracepoint_entry) {
253 sdt_probe_update(struct sdt_probe *probe, bool enable)
258 cbarg.probe = probe;
270 struct sdt_probe *probe;
272 probe = parg;
274 probe->id = id;
275 probe->sdtp_lf->nenabled++;
276 if (strcmp(probe->prov->name, "lockstat") == 0) {
285 sdt_probe_update(probe, true);
291 struct sdt_probe *probe;
293 probe = parg;
294 KASSERT(probe->sdtp_lf->nenabled > 0, ("no probes enabled"));
296 sdt_probe_update(probe, false);
301 if (strcmp(probe->prov->name, "lockstat") == 0) {
306 probe->id = 0;
307 probe->sdtp_lf->nenabled--;
314 struct sdt_probe *probe = parg;
316 if (desc->dtargd_ndx >= probe->n_args) {
321 TAILQ_FOREACH(argtype, &probe->argtype_list, argtype_entry) {
381 for (struct sdt_probe **probe = p_begin; probe < p_end;
382 probe++) {
383 (*probe)->sdtp_lf = lf;
384 sdt_create_probe(*probe);
385 TAILQ_INIT(&(*probe)->argtype_list);
386 STAILQ_INIT(&(*probe)->tracepoint_list);
394 (*argtype)->probe->n_args++;
395 TAILQ_INSERT_TAIL(&(*argtype)->probe->argtype_list,
408 tp->probe->prov->name, tp->probe->mod,
409 tp->probe->func, tp->probe->name);
412 STAILQ_INSERT_TAIL(&tp->probe->tracepoint_list, tp,
483 tp2 = STAILQ_FIRST(&tp->probe->tracepoint_list);
485 STAILQ_REMOVE_HEAD(&tp->probe->tracepoint_list,
497 &tp->probe->tracepoint_list,
515 &(*argtype)->probe->argtype_list, argtype_entry) {
517 (*argtype)->probe->n_args--;
519 &(*argtype)->probe->argtype_list,
529 for (struct sdt_probe **probe = p_begin; probe < p_end;
530 probe++) {
531 if ((*probe)->sdtp_lf == lf) {
532 if (!TAILQ_EMPTY(&(*probe)->argtype_list))
534 if (!STAILQ_EMPTY(&(*probe)->tracepoint_list))
538 * Don't destroy the probe as there
540 * same probe in different modules.