Lines Matching refs:wrapTC
306 wrap_timer_call_t *wrapTC = NULL; in dtrace_cpu_state_changed() local
313 LIST_FOREACH(wrapTC, &(cpu_list[cpuid].cpu_cyc_list), entries) { in dtrace_cpu_state_changed()
314 assert3u(wrapTC->cpuid, ==, cpuid); in dtrace_cpu_state_changed()
316 assert(!wrapTC->suspended); in dtrace_cpu_state_changed()
318 if (!timer_call_cancel(&wrapTC->call)) { in dtrace_cpu_state_changed()
320 &wrapTC->call); in dtrace_cpu_state_changed()
322 wrapTC->suspended = TRUE; in dtrace_cpu_state_changed()
325 assert(wrapTC->suspended); in dtrace_cpu_state_changed()
326 clock_deadline_for_periodic_event(wrapTC->when.cyt_interval, mach_absolute_time(), in dtrace_cpu_state_changed()
327 &wrapTC->deadline); in dtrace_cpu_state_changed()
328 timer_call_enter1(&wrapTC->call, (void*) wrapTC, wrapTC->deadline, in dtrace_cpu_state_changed()
330 wrapTC->suspended = FALSE; in dtrace_cpu_state_changed()
342 wrap_timer_call_t *wrapTC = (wrap_timer_call_t *)vTChdl; in _timer_call_apply_cyclic() local
344 (*(wrapTC->hdlr.cyh_func))( wrapTC->hdlr.cyh_arg ); in _timer_call_apply_cyclic()
346 …clock_deadline_for_periodic_event( wrapTC->when.cyt_interval, mach_absolute_time(), &(wrapTC->dead… in _timer_call_apply_cyclic()
347 …timer_call_enter1( &(wrapTC->call), (void *)wrapTC, wrapTC->deadline, TIMER_CALL_SYS_CRITICAL | TI… in _timer_call_apply_cyclic()
351 timer_call_add_cyclic(wrap_timer_call_t *wrapTC, cyc_handler_t *handler, cyc_time_t *when) in timer_call_add_cyclic() argument
356 timer_call_setup( &(wrapTC->call), _timer_call_apply_cyclic, NULL ); in timer_call_add_cyclic()
357 wrapTC->hdlr = *handler; in timer_call_add_cyclic()
358 wrapTC->when = *when; in timer_call_add_cyclic()
360 nanoseconds_to_absolutetime( wrapTC->when.cyt_interval, (uint64_t *)&wrapTC->when.cyt_interval ); in timer_call_add_cyclic()
363 wrapTC->deadline = now; in timer_call_add_cyclic()
365 clock_deadline_for_periodic_event( wrapTC->when.cyt_interval, now, &(wrapTC->deadline)); in timer_call_add_cyclic()
369 wrapTC->cpuid = cpu_number(); in timer_call_add_cyclic()
370 LIST_INSERT_HEAD(&cpu_list[wrapTC->cpuid].cpu_cyc_list, wrapTC, entries); in timer_call_add_cyclic()
371 timer_call_enter1(&wrapTC->call, (void*) wrapTC, wrapTC->deadline, in timer_call_add_cyclic()
373 wrapTC->suspended = FALSE; in timer_call_add_cyclic()
376 return (cyclic_id_t)wrapTC; in timer_call_add_cyclic()
383 timer_call_remove_cyclic(wrap_timer_call_t *wrapTC) in timer_call_remove_cyclic() argument
385 assert(wrapTC); in timer_call_remove_cyclic()
386 assert(cpu_number() == wrapTC->cpuid); in timer_call_remove_cyclic()
388 if (!timer_call_cancel(&wrapTC->call)) { in timer_call_remove_cyclic()
392 LIST_REMOVE(wrapTC, entries); in timer_call_remove_cyclic()
396 timer_call_get_cyclic_arg(wrap_timer_call_t *wrapTC) in timer_call_get_cyclic_arg() argument
398 return wrapTC ? wrapTC->hdlr.cyh_arg : NULL; in timer_call_get_cyclic_arg()
404 wrap_timer_call_t *wrapTC = kalloc_type(wrap_timer_call_t, Z_ZERO | Z_WAITOK); in cyclic_timer_add() local
405 if (NULL == wrapTC) { in cyclic_timer_add()
408 return timer_call_add_cyclic( wrapTC, handler, when ); in cyclic_timer_add()
418 wrap_timer_call_t *wrapTC = (wrap_timer_call_t *) cyclic; in cyclic_timer_remove() local
419 dtrace_xcall(wrapTC->cpuid, (dtrace_xcall_t) timer_call_remove_cyclic, (void*) cyclic); in cyclic_timer_remove()
421 kfree_type(wrap_timer_call_t, wrapTC); in cyclic_timer_remove()
433 wrap_timer_call_t *wrapTC = &cyc_list->cyl_wrap_by_cpus[cpu_number()]; in _cyclic_add_omni() local
434 timer_call_add_cyclic(wrapTC, &cH, &cT); in _cyclic_add_omni()
458 wrap_timer_call_t *wrapTC; in _cyclic_remove_omni() local
464 if ((wrapTC = &cyc_list->cyl_wrap_by_cpus[cpu_number()]) != NULL) { in _cyclic_remove_omni()
465 oarg = timer_call_get_cyclic_arg(wrapTC); in _cyclic_remove_omni()
466 timer_call_remove_cyclic(wrapTC); in _cyclic_remove_omni()
496 wrap_thread_call_t *wrapTC = (wrap_thread_call_t *)vTChdl; in _cyclic_apply() local
498 (*(wrapTC->hdlr.cyh_func))( wrapTC->hdlr.cyh_arg ); in _cyclic_apply()
500 …clock_deadline_for_periodic_event( wrapTC->when.cyt_interval, mach_absolute_time(), &(wrapTC->dead… in _cyclic_apply()
501 (void)thread_call_enter1_delayed( wrapTC->TChdl, (void *)wrapTC, wrapTC->deadline ); in _cyclic_apply()
504 if (wrapTC->when.cyt_interval == WAKEUP_REAPER) { in _cyclic_apply()
505 thread_wakeup((event_t)wrapTC); in _cyclic_apply()
514 wrap_thread_call_t *wrapTC = kalloc_type(wrap_thread_call_t, Z_ZERO | Z_WAITOK); in cyclic_add() local
515 if (NULL == wrapTC) { in cyclic_add()
519 wrapTC->TChdl = thread_call_allocate( _cyclic_apply, NULL ); in cyclic_add()
520 wrapTC->hdlr = *handler; in cyclic_add()
521 wrapTC->when = *when; in cyclic_add()
526 nanoseconds_to_absolutetime(wrapTC->when.cyt_interval, (uint64_t *)&wrapTC->when.cyt_interval); in cyclic_add()
529 wrapTC->deadline = now; in cyclic_add()
531 clock_deadline_for_periodic_event( wrapTC->when.cyt_interval, now, &(wrapTC->deadline)); in cyclic_add()
532 (void)thread_call_enter1_delayed( wrapTC->TChdl, (void *)wrapTC, wrapTC->deadline ); in cyclic_add()
534 return (cyclic_id_t)wrapTC; in cyclic_add()
546 wrap_thread_call_t *wrapTC = (wrap_thread_call_t *)cyclic; in cyclic_remove() local
550 while (!thread_call_cancel(wrapTC->TChdl)) { in cyclic_remove()
551 int ret = assert_wait(wrapTC, THREAD_UNINT); in cyclic_remove()
554 wrapTC->when.cyt_interval = WAKEUP_REAPER; in cyclic_remove()
560 if (thread_call_free(wrapTC->TChdl)) { in cyclic_remove()
561 kfree_type(wrap_thread_call_t, wrapTC); in cyclic_remove()
564 wrapTC->hdlr.cyh_func = noop_cyh_func; in cyclic_remove()
565 wrapTC->when.cyt_interval = NEARLY_FOREVER; in cyclic_remove()