Lines Matching refs:lt
316 _lthread_resume(struct lthread *lt);
317 static inline void _lthread_resume(struct lthread *lt) in _lthread_resume() argument
321 uint64_t state = lt->state; in _lthread_resume()
326 sched->current_lthread = lt; in _lthread_resume()
331 _lthread_free(lt); in _lthread_resume()
340 lt->sched = THIS_SCHED; in _lthread_resume()
345 lt->stack_container = s; in _lthread_resume()
346 _lthread_set_stack(lt, s->stack, s->stack_size); in _lthread_resume()
349 _lthread_tls_alloc(lt); in _lthread_resume()
351 lt->state = BIT(ST_LT_READY); in _lthread_resume()
357 DIAG_EVENT(lt, LT_DIAG_LTHREAD_RESUMED, init, lt); in _lthread_resume()
360 ctx_switch(<->ctx, &sched->ctx); in _lthread_resume()
367 if (lt->pending_wr_queue != NULL) { in _lthread_resume()
368 struct lthread_queue *dest = lt->pending_wr_queue; in _lthread_resume()
370 lt->pending_wr_queue = NULL; in _lthread_resume()
373 _lthread_queue_insert_mp(dest, lt); in _lthread_resume()
385 struct lthread *lt = (struct lthread *) arg; in _sched_timer_cb() local
386 uint64_t state = lt->state; in _sched_timer_cb()
388 DIAG_EVENT(lt, LT_DIAG_LTHREAD_TMR_EXPIRED, <->tim, 0); in _sched_timer_cb()
392 if (lt->state & BIT(ST_LT_CANCELLED)) in _sched_timer_cb()
395 lt->state = state | BIT(ST_LT_EXPIRED); in _sched_timer_cb()
396 _lthread_resume(lt); in _sched_timer_cb()
397 lt->state = state & CLEARBIT(ST_LT_EXPIRED); in _sched_timer_cb()
458 struct lthread *lt = NULL; in lthread_run() local
483 lt = _lthread_queue_poll(sched->ready); in lthread_run()
484 if (lt != NULL) in lthread_run()
485 _lthread_resume(lt); in lthread_run()
486 lt = _lthread_queue_poll(sched->pready); in lthread_run()
487 if (lt != NULL) in lthread_run()
488 _lthread_resume(lt); in lthread_run()
524 struct lthread *lt = THIS_LTHREAD; in lthread_set_affinity() local
530 DIAG_EVENT(lt, LT_DIAG_LTHREAD_AFFINITY, lcoreid, 0); in lthread_set_affinity()
538 lt->sched = dest_sched; in lthread_set_affinity()
539 lt->pending_wr_queue = dest_sched->pready; in lthread_set_affinity()