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 timer_call_setup(&sfi_classes[i].on_timer, sfi_timer_per_class_on, (void *)(uintptr_t)i); in sfi_init()
241 sfi_classes[i].on_timer_programmed = FALSE; in sfi_init()
243 waitq_init(&sfi_classes[i].waitq, WQT_QUEUE, SYNC_POLICY_FIFO); in sfi_init()
260 ledger_name = sfi_classes[class_id].class_ledger_name; in sfi_get_ledger_alias_for_class()
265 if (0 == strcmp(sfi_classes[i].class_ledger_name, ledger_name)) { in sfi_get_ledger_alias_for_class()
285 ledger_name = sfi_classes[class_id].class_ledger_name; in sfi_ledger_entry_add()
319 if (sfi_classes[i].class_sfi_is_enabled) { in sfi_timer_global_off()
322 sfi_classes[i].class_in_on_phase = FALSE; in sfi_timer_global_off()
323 sfi_classes[i].on_timer_programmed = TRUE; in sfi_timer_global_off()
326 on_timer_deadline = now + sfi_classes[i].off_time_interval; in sfi_timer_global_off()
327 sfi_classes[i].on_timer_deadline = on_timer_deadline; in sfi_timer_global_off()
329 timer_call_enter1(&sfi_classes[i].on_timer, NULL, on_timer_deadline, TIMER_CALL_SYS_CRITICAL); in sfi_timer_global_off()
332 sfi_classes[i].class_in_on_phase = TRUE; in sfi_timer_global_off()
333 if (sfi_classes[i].on_timer_programmed) { in sfi_timer_global_off()
334 sfi_classes[i].on_timer_programmed = FALSE; in sfi_timer_global_off()
335 sfi_classes[i].on_timer_deadline = ~0ULL; in sfi_timer_global_off()
336 timer_call_cancel(&sfi_classes[i].on_timer); in sfi_timer_global_off()
400 struct sfi_class_state *sfi_class = &sfi_classes[sfi_class_id]; in sfi_timer_per_class_on()
465 if (sfi_classes[i].class_sfi_is_enabled) { in sfi_set_window()
466 largest_class_off_interval = MAX(largest_class_off_interval, sfi_classes[i].off_time_interval); in sfi_set_window()
568 if (sfi_classes[i].class_sfi_is_enabled) { in sfi_defer()
569 if (sfi_classes[i].on_timer_programmed) { in sfi_defer()
570 uint64_t new_on_deadline = sfi_classes[i].on_timer_deadline + sfi_defer_matus; in sfi_defer()
571 sfi_classes[i].on_timer_deadline = new_on_deadline; in sfi_defer()
572 timer_call_enter1(&sfi_classes[i].on_timer, NULL, new_on_deadline, TIMER_CALL_SYS_CRITICAL); in sfi_defer()
643 if (!sfi_classes[class_id].class_sfi_is_enabled) { in sfi_set_class_offtime()
646 sfi_classes[class_id].off_time_usecs = offtime_usecs; in sfi_set_class_offtime()
647 sfi_classes[class_id].off_time_interval = interval; in sfi_set_class_offtime()
648 sfi_classes[class_id].class_sfi_is_enabled = TRUE; in sfi_set_class_offtime()
683 if (sfi_classes[class_id].class_sfi_is_enabled) { in sfi_class_offtime_cancel()
686 sfi_classes[class_id].off_time_usecs = 0; in sfi_class_offtime_cancel()
687 sfi_classes[class_id].off_time_interval = 0; in sfi_class_offtime_cancel()
688 sfi_classes[class_id].class_sfi_is_enabled = FALSE; in sfi_class_offtime_cancel()
714 off_time_us = sfi_classes[class_id].off_time_usecs; in sfi_get_class_offtime()
888 if (!sfi_classes[class_id].class_in_on_phase) { in sfi_thread_needs_ast()
911 if (!sfi_classes[class_id].class_in_on_phase) { in sfi_processor_needs_ast()
1011 sfi_class = &sfi_classes[class_id]; in sfi_ast()
1080 struct sfi_class_state *sfi_class = &sfi_classes[current_class_id]; in sfi_reevaluate()