Lines Matching defs:prov
108 sdt_create_provider(struct sdt_provider *prov)
113 if (strcmp(prov->name, curr->name) == 0) {
120 * Make a copy of prov so that we don't lose fields if its module is
125 newprov->name = strdup(prov->name, M_SDT);
126 prov->sdt_refs = newprov->sdt_refs = 1;
132 prov->id = newprov->id;
138 struct sdt_provider *prov;
152 TAILQ_FOREACH(prov, &sdt_prov_list, prov_entry)
153 if (strcmp(prov->name, probe->prov->name) == 0)
156 KASSERT(prov != NULL, ("probe defined without a provider"));
188 if (dtrace_probe_lookup(prov->id, mod, func, name) != DTRACE_IDNONE)
191 (void)dtrace_probe_create(prov->id, mod, func, name, 1, probe);
211 if (strcmp(probe->prov->name, "lockstat") == 0)
228 if (strcmp(probe->prov->name, "lockstat") == 0)
277 struct sdt_provider **prov, **begin, **end;
283 for (prov = begin; prov < end; prov++)
284 sdt_create_provider(*prov);
309 struct sdt_provider *prov, **curr, **begin, **end, *tmp;
324 TAILQ_FOREACH_SAFE(prov, &sdt_prov_list, prov_entry, tmp) {
325 if (strcmp(prov->name, (*curr)->name) != 0)
328 if (prov->sdt_refs == 1) {
329 if (dtrace_unregister(prov->id) != 0) {
333 TAILQ_REMOVE(&sdt_prov_list, prov, prov_entry);
334 free(prov->name, M_SDT);
335 free(prov, M_SDT);
337 prov->sdt_refs--;
372 struct sdt_provider *prov, *tmp;
380 TAILQ_FOREACH_SAFE(prov, &sdt_prov_list, prov_entry, tmp) {
381 ret = dtrace_unregister(prov->id);
384 TAILQ_REMOVE(&sdt_prov_list, prov, prov_entry);
385 free(prov->name, M_SDT);
386 free(prov, M_SDT);