Lines Matching defs:prof

247 	profile_probe_t *prof = pcpu->profc_probe;
273 dtrace_probe(prof->prof_id, pc, upc, late, 0, 0);
283 profile_probe_t *prof = arg;
302 dtrace_probe(prof->prof_id, pc, upc, 0, 0, 0);
304 prof->prof_expected += prof->prof_interval;
305 callout_schedule_sbt(&prof->prof_cyclic,
306 prof->prof_expected, 0, C_DIRECT_EXEC | C_ABSOLUTE);
312 profile_probe_t *prof;
326 prof = kmem_zalloc(sizeof (profile_probe_t), KM_SLEEP);
327 (void) strcpy(prof->prof_name, name);
329 prof->prof_interval = interval;
330 prof->prof_cyclic = CYCLIC_NONE;
332 prof->prof_interval = nsec_to_sbt(interval);
333 callout_init(&prof->prof_cyclic, CALLOUT_MPSAFE);
335 prof->prof_kind = kind;
336 prof->prof_id = dtrace_probe_create(profile_id,
338 profile_aframes ? profile_aframes : PROF_ARTIFICIAL_FRAMES, prof);
477 profile_probe_t *prof = parg;
480 ASSERT(prof->prof_cyclic == CYCLIC_NONE);
482 ASSERT(!callout_active(&prof->prof_cyclic) && prof->prof_pcpus == NULL);
484 kmem_free(prof, sizeof (profile_probe_t));
495 profile_probe_t *prof = arg;
499 pcpu->profc_probe = prof;
504 when->cyt_interval = prof->prof_interval;
525 profile_probe_t *prof = parg;
530 ASSERT(prof->prof_interval != 0);
533 if (prof->prof_kind == PROF_TICK) {
535 hdlr.cyh_arg = prof;
537 when.cyt_interval = prof->prof_interval;
540 ASSERT(prof->prof_kind == PROF_PROFILE);
543 omni.cyo_arg = prof;
546 if (prof->prof_kind == PROF_TICK) {
547 prof->prof_cyclic = cyclic_add(&hdlr, &when);
549 prof->prof_cyclic = cyclic_add_omni(&omni);
557 profile_probe_t *prof = parg;
559 ASSERT(prof->prof_cyclic != CYCLIC_NONE);
562 cyclic_remove(prof->prof_cyclic);
563 prof->prof_cyclic = CYCLIC_NONE;
569 profile_enable_omni(profile_probe_t *prof)
574 prof->prof_pcpus = kmem_zalloc((mp_maxid + 1) * sizeof(pcpu), KM_SLEEP);
577 prof->prof_pcpus[cpu] = pcpu;
578 pcpu->profc_probe = prof;
579 pcpu->profc_expected = sbinuptime() + prof->prof_interval;
580 pcpu->profc_interval = prof->prof_interval;
589 profile_disable_omni(profile_probe_t *prof)
594 ASSERT(prof->prof_pcpus != NULL);
596 pcpu = prof->prof_pcpus[cpu];
597 ASSERT(pcpu->profc_probe == prof);
603 kmem_free(prof->prof_pcpus, (mp_maxid + 1) * sizeof(pcpu));
604 prof->prof_pcpus = NULL;
611 profile_probe_t *prof = parg;
613 if (prof->prof_kind == PROF_TICK) {
614 prof->prof_expected = sbinuptime() + prof->prof_interval;
615 callout_reset_sbt(&prof->prof_cyclic,
616 prof->prof_expected, 0, profile_tick, prof,
619 ASSERT(prof->prof_kind == PROF_PROFILE);
620 profile_enable_omni(prof);
628 profile_probe_t *prof = parg;
630 if (prof->prof_kind == PROF_TICK) {
631 ASSERT(callout_active(&prof->prof_cyclic));
632 callout_stop(&prof->prof_cyclic);
633 callout_drain(&prof->prof_cyclic);
635 ASSERT(prof->prof_kind == PROF_PROFILE);
636 profile_disable_omni(prof);