Lines Matching refs:sw

609 	struct swtim *sw;  in swtim_callback()  local
618 sw = swtim_pmd_priv(adapter); in swtim_callback()
620 ret = event_buffer_add(&sw->buffer, &evtim->ev); in swtim_callback()
626 ret = rte_timer_alt_reset(sw->timer_data_id, tim, 0, SINGLE, in swtim_callback()
632 sw->stats.evtim_retry_count++; in swtim_callback()
637 if (unlikely(sw->in_use[lcore].v == 0)) { in swtim_callback()
638 sw->in_use[lcore].v = 1; in swtim_callback()
639 n_lcores = __atomic_fetch_add(&sw->n_poll_lcores, 1, in swtim_callback()
641 __atomic_store_n(&sw->poll_lcores[n_lcores], lcore, in swtim_callback()
650 if (unlikely(sw->n_expired_timers == EXP_TIM_BUF_SZ)) { in swtim_callback()
651 rte_mempool_put_bulk(sw->tim_pool, in swtim_callback()
652 (void **)sw->expired_timers, in swtim_callback()
653 sw->n_expired_timers); in swtim_callback()
654 sw->n_expired_timers = 0; in swtim_callback()
657 sw->expired_timers[sw->n_expired_timers++] = tim; in swtim_callback()
658 sw->stats.evtim_exp_count++; in swtim_callback()
664 if (event_buffer_batch_ready(&sw->buffer)) { in swtim_callback()
665 event_buffer_flush(&sw->buffer, in swtim_callback()
671 sw->stats.ev_enq_count += nb_evs_flushed; in swtim_callback()
672 sw->stats.ev_inv_count += nb_evs_invalid; in swtim_callback()
680 struct swtim *sw = swtim_pmd_priv(adapter); in get_timeout_cycles() local
681 uint64_t timeout_ns = evtim->timeout_ticks * sw->timer_tick_ns; in get_timeout_cycles()
689 swtim_did_tick(struct swtim *sw) in swtim_did_tick() argument
694 next_tick_cyclesp = &sw->next_tick_cycles; in swtim_did_tick()
695 cycles_per_adapter_tick = sw->timer_tick_ns * in swtim_did_tick()
722 struct swtim *sw = swtim_pmd_priv(adapter); in check_timeout() local
724 tmo_nsec = evtim->timeout_ticks * sw->timer_tick_ns; in check_timeout()
725 if (tmo_nsec > sw->max_tmo_ns) in check_timeout()
727 if (tmo_nsec < sw->timer_tick_ns) in check_timeout()
759 struct swtim *sw = swtim_pmd_priv(adapter); in swtim_service_func() local
763 if (swtim_did_tick(sw)) { in swtim_service_func()
764 rte_timer_alt_manage(sw->timer_data_id, in swtim_service_func()
765 sw->poll_lcores, in swtim_service_func()
766 sw->n_poll_lcores, in swtim_service_func()
770 rte_mempool_put_bulk(sw->tim_pool, (void **)sw->expired_timers, in swtim_service_func()
771 sw->n_expired_timers); in swtim_service_func()
772 sw->n_expired_timers = 0; in swtim_service_func()
774 event_buffer_flush(&sw->buffer, in swtim_service_func()
780 sw->stats.ev_enq_count += nb_evs_flushed; in swtim_service_func()
781 sw->stats.ev_inv_count += nb_evs_invalid; in swtim_service_func()
782 sw->stats.adapter_tick_count++; in swtim_service_func()
825 struct swtim *sw; in swtim_init() local
834 sw = rte_zmalloc_socket(swtim_name, sizeof(*sw), RTE_CACHE_LINE_SIZE, in swtim_init()
836 if (sw == NULL) { in swtim_init()
843 adapter->data->adapter_priv = sw; in swtim_init()
844 sw->adapter = adapter; in swtim_init()
846 sw->timer_tick_ns = adapter->data->conf.timer_tick_ns; in swtim_init()
847 sw->max_tmo_ns = adapter->data->conf.max_tmo_ns; in swtim_init()
859 sw->tim_pool = rte_mempool_create(pool_name, pool_size, in swtim_init()
862 if (sw->tim_pool == NULL) { in swtim_init()
870 sw->in_use[i].v = 0; in swtim_init()
882 ret = rte_timer_data_alloc(&sw->timer_data_id); in swtim_init()
890 event_buffer_init(&sw->buffer); in swtim_init()
892 sw->adapter = adapter; in swtim_init()
902 ret = rte_service_component_register(&service, &sw->service_id); in swtim_init()
905 ": err = %d", service.name, sw->service_id, in swtim_init()
913 sw->service_id); in swtim_init()
915 adapter->data->service_id = sw->service_id; in swtim_init()
920 rte_mempool_free(sw->tim_pool); in swtim_init()
922 rte_free(sw); in swtim_init()
929 struct swtim *sw = arg; in swtim_free_tim() local
931 rte_mempool_put(sw->tim_pool, tim); in swtim_free_tim()
941 struct swtim *sw = swtim_pmd_priv(adapter); in swtim_uninit() local
944 rte_timer_stop_all(sw->timer_data_id, in swtim_uninit()
945 sw->poll_lcores, in swtim_uninit()
946 sw->n_poll_lcores, in swtim_uninit()
948 sw); in swtim_uninit()
950 ret = rte_service_component_unregister(sw->service_id); in swtim_uninit()
956 rte_mempool_free(sw->tim_pool); in swtim_uninit()
957 rte_free(sw); in swtim_uninit()
982 struct swtim *sw = swtim_pmd_priv(adapter); in swtim_start() local
991 mapped_count = get_mapped_count_for_service(sw->service_id); in swtim_start()
996 return rte_service_component_runstate_set(sw->service_id, 1); in swtim_start()
1003 struct swtim *sw = swtim_pmd_priv(adapter); in swtim_stop() local
1005 ret = rte_service_component_runstate_set(sw->service_id, 0); in swtim_stop()
1010 while (rte_service_may_be_active(sw->service_id)) in swtim_stop()
1020 struct swtim *sw = swtim_pmd_priv(adapter); in swtim_get_info() local
1021 adapter_info->min_resolution_ns = sw->timer_tick_ns; in swtim_get_info()
1022 adapter_info->max_tmo_ns = sw->max_tmo_ns; in swtim_get_info()
1029 struct swtim *sw = swtim_pmd_priv(adapter); in swtim_stats_get() local
1030 *stats = sw->stats; /* structure copy */ in swtim_stats_get()
1037 struct swtim *sw = swtim_pmd_priv(adapter); in swtim_stats_reset() local
1038 memset(&sw->stats, 0, sizeof(sw->stats)); in swtim_stats_reset()
1048 struct swtim *sw = swtim_pmd_priv(adapter); in __swtim_arm_burst() local
1077 if (unlikely(__atomic_compare_exchange_n(&sw->in_use[lcore_id].v, in __swtim_arm_burst()
1082 n_lcores = __atomic_fetch_add(&sw->n_poll_lcores, 1, in __swtim_arm_burst()
1084 __atomic_store_n(&sw->poll_lcores[n_lcores], lcore_id, in __swtim_arm_burst()
1088 ret = rte_mempool_get_bulk(sw->tim_pool, (void **)tims, in __swtim_arm_burst()
1137 ret = rte_timer_alt_reset(sw->timer_data_id, tim, cycles, in __swtim_arm_burst()
1156 rte_mempool_put_bulk(sw->tim_pool, in __swtim_arm_burst()
1178 struct swtim *sw = swtim_pmd_priv(adapter); in swtim_cancel_burst() local
1207 ret = rte_timer_alt_stop(sw->timer_data_id, timp); in swtim_cancel_burst()
1214 rte_mempool_put(sw->tim_pool, (void **)timp); in swtim_cancel_burst()