Lines Matching refs:sfi_classes
194 struct sfi_class_state sfi_classes[MAX_SFI_CLASS_ID]; variable
216 if (sfi_classes[class_id].continuation != NULL) { in sfi_class_register()
219 sfi_classes[class_id].class_sfi_is_enabled = FALSE; in sfi_class_register()
220 sfi_classes[class_id].class_in_on_phase = TRUE; in sfi_class_register()
221 sfi_classes[class_id].continuation = reg->class_continuation; in sfi_class_register()
222 sfi_classes[class_id].class_name = reg->class_name; in sfi_class_register()
223 sfi_classes[class_id].class_ledger_name = reg->class_ledger_name; in sfi_class_register()
239 if (sfi_classes[i].continuation) { in sfi_init()
240 sfi_classes[i].on_timer = thread_call_allocate_with_options( in sfi_init()
243 sfi_classes[i].on_timer_programmed = FALSE; in sfi_init()
245 waitq_init(&sfi_classes[i].waitq, WQT_QUEUE, SYNC_POLICY_FIFO); in sfi_init()
262 ledger_name = sfi_classes[class_id].class_ledger_name; in sfi_get_ledger_alias_for_class()
267 if (0 == strcmp(sfi_classes[i].class_ledger_name, ledger_name)) { in sfi_get_ledger_alias_for_class()
287 ledger_name = sfi_classes[class_id].class_ledger_name; in sfi_ledger_entry_add()
321 if (sfi_classes[i].class_sfi_is_enabled) { in sfi_timer_global_off()
324 sfi_classes[i].class_in_on_phase = FALSE; in sfi_timer_global_off()
325 sfi_classes[i].on_timer_programmed = TRUE; in sfi_timer_global_off()
328 on_timer_deadline = now + sfi_classes[i].off_time_interval; in sfi_timer_global_off()
329 sfi_classes[i].on_timer_deadline = on_timer_deadline; in sfi_timer_global_off()
331 …thread_call_enter_delayed_with_leeway(sfi_classes[i].on_timer, NULL, on_timer_deadline, 0, THREAD_… in sfi_timer_global_off()
334 sfi_classes[i].class_in_on_phase = TRUE; in sfi_timer_global_off()
335 if (sfi_classes[i].on_timer_programmed) { in sfi_timer_global_off()
336 sfi_classes[i].on_timer_programmed = FALSE; in sfi_timer_global_off()
337 sfi_classes[i].on_timer_deadline = ~0ULL; in sfi_timer_global_off()
338 thread_call_cancel(sfi_classes[i].on_timer); in sfi_timer_global_off()
402 struct sfi_class_state *sfi_class = &sfi_classes[sfi_class_id]; in sfi_timer_per_class_on()
464 if (sfi_classes[i].class_sfi_is_enabled) { in sfi_set_window()
465 largest_class_off_interval = MAX(largest_class_off_interval, sfi_classes[i].off_time_interval); in sfi_set_window()
565 if (sfi_classes[i].class_sfi_is_enabled) { in sfi_defer()
566 if (sfi_classes[i].on_timer_programmed) { in sfi_defer()
567 uint64_t new_on_deadline = sfi_classes[i].on_timer_deadline + sfi_defer_matus; in sfi_defer()
568 sfi_classes[i].on_timer_deadline = new_on_deadline; in sfi_defer()
569 …thread_call_enter_delayed_with_leeway(sfi_classes[i].on_timer, NULL, new_on_deadline, 0, THREAD_CA… in sfi_defer()
640 if (!sfi_classes[class_id].class_sfi_is_enabled) { in sfi_set_class_offtime()
643 sfi_classes[class_id].off_time_usecs = offtime_usecs; in sfi_set_class_offtime()
644 sfi_classes[class_id].off_time_interval = interval; in sfi_set_class_offtime()
645 sfi_classes[class_id].class_sfi_is_enabled = TRUE; in sfi_set_class_offtime()
680 if (sfi_classes[class_id].class_sfi_is_enabled) { in sfi_class_offtime_cancel()
683 sfi_classes[class_id].off_time_usecs = 0; in sfi_class_offtime_cancel()
684 sfi_classes[class_id].off_time_interval = 0; in sfi_class_offtime_cancel()
685 sfi_classes[class_id].class_sfi_is_enabled = FALSE; in sfi_class_offtime_cancel()
711 off_time_us = sfi_classes[class_id].off_time_usecs; in sfi_get_class_offtime()
885 if (!sfi_classes[class_id].class_in_on_phase) { in sfi_thread_needs_ast()
908 if (!sfi_classes[class_id].class_in_on_phase) { in sfi_processor_needs_ast()
1008 sfi_class = &sfi_classes[class_id]; in sfi_ast()
1077 struct sfi_class_state *sfi_class = &sfi_classes[current_class_id]; in sfi_reevaluate()