Lines Matching refs:tidx
43 unsigned int tidx);
45 unsigned int tidx);
1116 _dispatch_source_timer_now(uint64_t nows[], unsigned int tidx) in _dispatch_source_timer_now() argument
1118 unsigned int tk = DISPATCH_TIMER_KIND(tidx); in _dispatch_source_timer_now()
1319 #define DISPATCH_TIMER_INITIALIZER(tidx) \ argument
1320 [tidx] = { \
1324 _dispatch_timer[tidx].dt_sources), \
1341 #define DISPATCH_KEVENT_TIMER_UDATA(tidx) \ argument
1342 (uintptr_t)&_dispatch_kevent_timer[tidx]
1344 #define DISPATCH_KEVENT_TIMER_UDATA_INITIALIZER(tidx) \ argument
1345 .udata = DISPATCH_KEVENT_TIMER_UDATA(tidx)
1348 #define DISPATCH_KEVENT_TIMER_UDATA_INITIALIZER(tidx) \ argument
1351 #define DISPATCH_KEVENT_TIMER_INITIALIZER(tidx) \ argument
1352 [tidx] = { \
1354 .ident = tidx, \
1356 DISPATCH_KEVENT_TIMER_UDATA_INITIALIZER(tidx), \
1359 _dispatch_kevent_timer[tidx].dk_sources), \
1403 #define _dispatch_timers_insert(tidx, dra, dr, dr_list, dta, dt, dt_list) ({ \ argument
1405 if (tidx != DISPATCH_TIMER_INDEX_DISARM) { \
1406 TAILQ_FOREACH(dri, &dra[tidx].dk_sources, dr_list) { \
1411 TAILQ_FOREACH(dti, &dta[tidx].dt_sources, dt_list) { \
1419 TAILQ_INSERT_TAIL(&dta[tidx].dt_sources, dt, dt_list); \
1425 TAILQ_INSERT_TAIL(&dra[tidx].dk_sources, dr, dr_list); \
1429 #define _dispatch_timers_remove(tidx, dk, dra, dr, dr_list, dta, dt, dt_list) \ argument
1431 if (tidx != DISPATCH_TIMER_INDEX_DISARM) { \
1432 TAILQ_REMOVE(&dta[tidx].dt_sources, dt, dt_list); \
1434 TAILQ_REMOVE(dk ? &(*(dk)).dk_sources : &dra[tidx].dk_sources, dr, \
1440 unsigned int tidx; \
1441 for (tidx = 0; tidx < DISPATCH_TIMER_COUNT; tidx++) { \
1442 if (!(qosm & 1 << DISPATCH_TIMER_QOS(tidx))){ \
1446 TAILQ_FIRST(&dra[tidx].dk_sources); \
1448 TAILQ_FIRST(&dta[tidx].dt_sources); \
1451 if (target != dta[tidx].target) { \
1452 dta[tidx].target = target; \
1455 if (deadline != dta[tidx].deadline) { \
1456 dta[tidx].deadline = deadline; \
1470 unsigned int tidx; in _dispatch_timers_init() local
1471 for (tidx = 0; tidx < DISPATCH_TIMER_COUNT; tidx++) { in _dispatch_timers_init()
1472 _dispatch_kevent_timer[tidx].dk_kevent.udata = \ in _dispatch_timers_init()
1473 DISPATCH_KEVENT_TIMER_UDATA(tidx); in _dispatch_timers_init()
1485 unsigned int tidx = (unsigned int)dk->dk_kevent.ident; in _dispatch_timers_unregister() local
1488 _dispatch_timer_aggregates_unregister(ds, tidx); in _dispatch_timers_unregister()
1490 _dispatch_timers_remove(tidx, dk, _dispatch_kevent_timer, dr, dr_list, in _dispatch_timers_unregister()
1492 if (tidx != DISPATCH_TIMER_INDEX_DISARM) { in _dispatch_timers_unregister()
1494 _dispatch_timers_qos_mask |= 1 << DISPATCH_TIMER_QOS(tidx); in _dispatch_timers_unregister()
1505 unsigned int tidx; in _dispatch_timers_update() local
1517 tidx = DISPATCH_TIMER_INDEX_DISARM; in _dispatch_timers_update()
1520 tidx = _dispatch_source_timer_idx(dr); in _dispatch_timers_update()
1527 if (tidx != DISPATCH_TIMER_INDEX_DISARM) { in _dispatch_timers_update()
1536 if (tidx != DISPATCH_TIMER_INDEX_DISARM) { in _dispatch_timers_update()
1538 _dispatch_timers_qos_mask |= 1 << DISPATCH_TIMER_QOS(tidx); in _dispatch_timers_update()
1540 if (dk != &_dispatch_kevent_timer[tidx]){ in _dispatch_timers_update()
1541 ds->ds_dkev = &_dispatch_kevent_timer[tidx]; in _dispatch_timers_update()
1543 _dispatch_timers_insert(tidx, _dispatch_kevent_timer, dr, dr_list, in _dispatch_timers_update()
1546 _dispatch_timer_aggregates_update(ds, tidx); in _dispatch_timers_update()
1551 _dispatch_timers_run2(uint64_t nows[], unsigned int tidx) in _dispatch_timers_run2() argument
1557 now = _dispatch_source_timer_now(nows, tidx); in _dispatch_timers_run2()
1558 while ((dr = TAILQ_FIRST(&_dispatch_kevent_timer[tidx].dk_sources))) { in _dispatch_timers_run2()
1562 if (tidx != ds->ds_ident_hack) { in _dispatch_timers_run2()
1607 unsigned int tidx; in _dispatch_timers_run() local
1608 for (tidx = 0; tidx < DISPATCH_TIMER_COUNT; tidx++) { in _dispatch_timers_run()
1609 if (!TAILQ_EMPTY(&_dispatch_kevent_timer[tidx].dk_sources)) { in _dispatch_timers_run()
1610 _dispatch_timers_run2(nows, tidx); in _dispatch_timers_run()
1619 unsigned int tidx, ridx = DISPATCH_TIMER_COUNT; in _dispatch_timers_get_delay() local
1622 for (tidx = 0; tidx < DISPATCH_TIMER_COUNT; tidx++) { in _dispatch_timers_get_delay()
1623 if (qos >= 0 && qos != DISPATCH_TIMER_QOS(tidx)){ in _dispatch_timers_get_delay()
1626 uint64_t target = timer[tidx].target; in _dispatch_timers_get_delay()
1630 uint64_t deadline = timer[tidx].deadline; in _dispatch_timers_get_delay()
1636 TAILQ_FOREACH(dri, &_dispatch_kevent_timer[tidx].dk_sources, in _dispatch_timers_get_delay()
1643 uint64_t now = _dispatch_source_timer_now(nows, tidx); in _dispatch_timers_get_delay()
1649 if (DISPATCH_TIMER_KIND(tidx) != DISPATCH_TIMER_KIND_WALL) { in _dispatch_timers_get_delay()
1653 ridx = tidx; in _dispatch_timers_get_delay()
1658 if (DISPATCH_TIMER_KIND(tidx) != DISPATCH_TIMER_KIND_WALL) { in _dispatch_timers_get_delay()
1674 unsigned int tidx; in _dispatch_timers_program2() local
1678 tidx = _dispatch_timers_get_delay(nows, _dispatch_timer, &delay, &leeway, in _dispatch_timers_program2()
1691 TAILQ_FIRST(&_dispatch_kevent_timer[tidx].dk_sources), qos); in _dispatch_timers_program2()
1806 unsigned int tidx; in dispatch_timer_aggregate_create() local
1815 for (tidx = 0; tidx < DISPATCH_KEVENT_TIMER_COUNT; tidx++) { in dispatch_timer_aggregate_create()
1816 TAILQ_INIT(&dta->dta_kevent_timer[tidx].dk_sources); in dispatch_timer_aggregate_create()
1818 for (tidx = 0; tidx < DISPATCH_TIMER_COUNT; tidx++) { in dispatch_timer_aggregate_create()
1819 TAILQ_INIT(&dta->dta_timer[tidx].dt_sources); in dispatch_timer_aggregate_create()
1820 dta->dta_timer[tidx].target = UINT64_MAX; in dispatch_timer_aggregate_create()
1821 dta->dta_timer[tidx].deadline = UINT64_MAX; in dispatch_timer_aggregate_create()
1822 dta->dta_timer_data[tidx].target = UINT64_MAX; in dispatch_timer_aggregate_create()
1823 dta->dta_timer_data[tidx].deadline = UINT64_MAX; in dispatch_timer_aggregate_create()
1863 unsigned int tidx; in _dispatch_timer_aggregate_update() local
1864 for (tidx = 0; tidx < DISPATCH_TIMER_COUNT; tidx++) { in _dispatch_timer_aggregate_update()
1865 dta->dta_timer_data[tidx].target = dtau[tidx].target; in _dispatch_timer_aggregate_update()
1866 dta->dta_timer_data[tidx].deadline = dtau[tidx].deadline; in _dispatch_timer_aggregate_update()
1908 _dispatch_timer_aggregates_update(dispatch_source_t ds, unsigned int tidx) in _dispatch_timer_aggregates_update() argument
1913 _dispatch_timers_insert(tidx, dta->dta_kevent_timer, dr, dra_list, in _dispatch_timer_aggregates_update()
1919 _dispatch_timer_aggregates_unregister(dispatch_source_t ds, unsigned int tidx) in _dispatch_timer_aggregates_unregister() argument
1924 _dispatch_timers_remove(tidx, (dispatch_timer_aggregate_refs_s*)NULL, in _dispatch_timer_aggregates_unregister()