Lines Matching defs:prof

272 	profile_probe_t *prof = pcpu->profc_probe;
298 dtrace_probe(prof->prof_id, pc, upc, late, 0, 0);
308 profile_probe_t *prof = arg;
327 dtrace_probe(prof->prof_id, pc, upc, 0, 0, 0);
329 prof->prof_expected += prof->prof_interval;
330 callout_schedule_sbt(&prof->prof_cyclic,
331 prof->prof_expected, 0, C_DIRECT_EXEC | C_ABSOLUTE);
337 profile_probe_t *prof;
351 prof = kmem_zalloc(sizeof (profile_probe_t), KM_SLEEP);
352 (void) strcpy(prof->prof_name, name);
354 prof->prof_interval = interval;
355 prof->prof_cyclic = CYCLIC_NONE;
357 prof->prof_interval = nsec_to_sbt(interval);
358 callout_init(&prof->prof_cyclic, 1);
360 prof->prof_kind = kind;
361 prof->prof_id = dtrace_probe_create(profile_id,
363 profile_aframes, prof);
502 profile_probe_t *prof = parg;
505 ASSERT(prof->prof_cyclic == CYCLIC_NONE);
507 ASSERT(!callout_active(&prof->prof_cyclic) && prof->prof_pcpus == NULL);
509 kmem_free(prof, sizeof (profile_probe_t));
520 profile_probe_t *prof = arg;
524 pcpu->profc_probe = prof;
529 when->cyt_interval = prof->prof_interval;
550 profile_probe_t *prof = parg;
555 ASSERT(prof->prof_interval != 0);
558 if (prof->prof_kind == PROF_TICK) {
560 hdlr.cyh_arg = prof;
562 when.cyt_interval = prof->prof_interval;
565 ASSERT(prof->prof_kind == PROF_PROFILE);
568 omni.cyo_arg = prof;
571 if (prof->prof_kind == PROF_TICK) {
572 prof->prof_cyclic = cyclic_add(&hdlr, &when);
574 prof->prof_cyclic = cyclic_add_omni(&omni);
582 profile_probe_t *prof = parg;
584 ASSERT(prof->prof_cyclic != CYCLIC_NONE);
587 cyclic_remove(prof->prof_cyclic);
588 prof->prof_cyclic = CYCLIC_NONE;
594 profile_enable_omni(profile_probe_t *prof)
599 prof->prof_pcpus = kmem_zalloc((mp_maxid + 1) * sizeof(pcpu), KM_SLEEP);
602 prof->prof_pcpus[cpu] = pcpu;
603 pcpu->profc_probe = prof;
604 pcpu->profc_expected = sbinuptime() + prof->prof_interval;
605 pcpu->profc_interval = prof->prof_interval;
614 profile_disable_omni(profile_probe_t *prof)
619 ASSERT(prof->prof_pcpus != NULL);
621 pcpu = prof->prof_pcpus[cpu];
622 ASSERT(pcpu->profc_probe == prof);
628 kmem_free(prof->prof_pcpus, (mp_maxid + 1) * sizeof(pcpu));
629 prof->prof_pcpus = NULL;
636 profile_probe_t *prof = parg;
638 if (prof->prof_kind == PROF_TICK) {
639 prof->prof_expected = sbinuptime() + prof->prof_interval;
640 callout_reset_sbt(&prof->prof_cyclic,
641 prof->prof_expected, 0, profile_tick, prof,
644 ASSERT(prof->prof_kind == PROF_PROFILE);
645 profile_enable_omni(prof);
653 profile_probe_t *prof = parg;
655 if (prof->prof_kind == PROF_TICK) {
656 ASSERT(callout_active(&prof->prof_cyclic));
657 callout_stop(&prof->prof_cyclic);
658 callout_drain(&prof->prof_cyclic);
660 ASSERT(prof->prof_kind == PROF_PROFILE);
661 profile_disable_omni(prof);