libxtc 0.4.0
Async concurrency for C: Tokio + Seastar + BEAM, in one library
Loading...
Searching...
No Matches
xtc_loop_t Struct Reference

Public Member Functions

 _Atomic (struct xtc_task *) dead_head
 

Data Fields

struct xtc_task * all_tasks
 
xtc_timer_t * all_timers
 
int cap_timers
 
int64_t class_latency_ns
 
struct xtc_run_class classes [16]
 
uint64_t default_vruntime
 
xtc_deque_t deque
 
struct xtc_exec * exec
 
int exec_id
 
struct xtc_inbox inbox
 
xtc_io_t * io
 
_Atomic int n_alive
 
int n_classes
 
_Atomic int n_mig_alive
 
_Atomic uint64_t n_stalls
 
_Atomic uint64_t n_steals
 
_Atomic uint64_t n_tasks_run
 
int n_timers
 
_Atomic int n_timers_pub
 
_Atomic uint64_t n_yield_due
 
int owns_res
 
unsigned int pop_flip
 
struct xtc_task * q_head
 
struct xtc_task * q_tail
 
xtc_res_t * res
 
unsigned int runs_since_poll
 
void * stack_spare [64]
 
_Atomic int stack_spare_lock
 
_Atomic int stack_spare_n
 
size_t stack_spare_sz
 
_Atomic int stack_spare_want
 
int64_t stall_budget_ns
 
void(* stall_cb )(xtc_loop_t *loop, xtc_task_t *task, int64_t ran_ns, int64_t budget_ns, void *user)
 
void * stall_cb_user
 
_Atomic int steal_sleep
 
_Atomic int stop_requested
 
struct xtc_task * task_free
 
struct xtc_task * task_free_mig
 
int task_free_n
 
struct xtc_task * task_spare [2]
 
_Atomic int task_spare_lock
 
_Atomic int task_spare_n
 
struct xtc_slab * timer_slab
 
struct xtc_timer_slot * timers
 
int64_t yield_budget_ns
 

Detailed Description

Definition at line 337 of file loop_int.h.

Field Documentation

◆ all_tasks

struct xtc_task* xtc_loop_t::all_tasks

Definition at line 356 of file loop_int.h.

◆ all_timers

xtc_timer_t* xtc_loop_t::all_timers

Definition at line 360 of file loop_int.h.

◆ cap_timers

int xtc_loop_t::cap_timers

Definition at line 353 of file loop_int.h.

◆ class_latency_ns

int64_t xtc_loop_t::class_latency_ns

Definition at line 442 of file loop_int.h.

◆ classes

struct xtc_run_class xtc_loop_t::classes[16]

Definition at line 428 of file loop_int.h.

◆ default_vruntime

uint64_t xtc_loop_t::default_vruntime

Definition at line 437 of file loop_int.h.

◆ deque

xtc_deque_t xtc_loop_t::deque

Definition at line 344 of file loop_int.h.

◆ exec

struct xtc_exec* xtc_loop_t::exec

Definition at line 477 of file loop_int.h.

◆ exec_id

int xtc_loop_t::exec_id

Definition at line 474 of file loop_int.h.

◆ inbox

struct xtc_inbox xtc_loop_t::inbox

Definition at line 469 of file loop_int.h.

◆ io

xtc_io_t* xtc_loop_t::io

Definition at line 341 of file loop_int.h.

◆ n_alive

_Atomic int xtc_loop_t::n_alive

Definition at line 379 of file loop_int.h.

◆ n_classes

int xtc_loop_t::n_classes

Definition at line 429 of file loop_int.h.

◆ n_mig_alive

_Atomic int xtc_loop_t::n_mig_alive

Definition at line 387 of file loop_int.h.

◆ n_stalls

_Atomic uint64_t xtc_loop_t::n_stalls

Definition at line 455 of file loop_int.h.

◆ n_steals

_Atomic uint64_t xtc_loop_t::n_steals

Definition at line 396 of file loop_int.h.

◆ n_tasks_run

_Atomic uint64_t xtc_loop_t::n_tasks_run

Definition at line 395 of file loop_int.h.

◆ n_timers

int xtc_loop_t::n_timers

Definition at line 352 of file loop_int.h.

◆ n_timers_pub

_Atomic int xtc_loop_t::n_timers_pub

Definition at line 413 of file loop_int.h.

◆ n_yield_due

_Atomic uint64_t xtc_loop_t::n_yield_due

Definition at line 420 of file loop_int.h.

◆ owns_res

int xtc_loop_t::owns_res

Definition at line 485 of file loop_int.h.

◆ pop_flip

unsigned int xtc_loop_t::pop_flip

Definition at line 412 of file loop_int.h.

◆ q_head

struct xtc_task* xtc_loop_t::q_head

Definition at line 347 of file loop_int.h.

◆ q_tail

struct xtc_task* xtc_loop_t::q_tail

Definition at line 348 of file loop_int.h.

◆ res

xtc_res_t* xtc_loop_t::res

Definition at line 484 of file loop_int.h.

◆ runs_since_poll

unsigned int xtc_loop_t::runs_since_poll

Definition at line 403 of file loop_int.h.

◆ stack_spare

void* xtc_loop_t::stack_spare[64]

Definition at line 540 of file loop_int.h.

◆ stack_spare_lock

_Atomic int xtc_loop_t::stack_spare_lock

Definition at line 537 of file loop_int.h.

◆ stack_spare_n

_Atomic int xtc_loop_t::stack_spare_n

Definition at line 538 of file loop_int.h.

◆ stack_spare_sz

size_t xtc_loop_t::stack_spare_sz

Definition at line 539 of file loop_int.h.

◆ stack_spare_want

_Atomic int xtc_loop_t::stack_spare_want

Definition at line 536 of file loop_int.h.

◆ stall_budget_ns

int64_t xtc_loop_t::stall_budget_ns

Definition at line 450 of file loop_int.h.

◆ stall_cb

void(* xtc_loop_t::stall_cb) (xtc_loop_t *loop, xtc_task_t *task, int64_t ran_ns, int64_t budget_ns, void *user)

Definition at line 451 of file loop_int.h.

◆ stall_cb_user

void* xtc_loop_t::stall_cb_user

Definition at line 454 of file loop_int.h.

◆ steal_sleep

_Atomic int xtc_loop_t::steal_sleep

Definition at line 388 of file loop_int.h.

◆ stop_requested

_Atomic int xtc_loop_t::stop_requested

Definition at line 465 of file loop_int.h.

◆ task_free

struct xtc_task* xtc_loop_t::task_free

Definition at line 374 of file loop_int.h.

◆ task_free_mig

struct xtc_task* xtc_loop_t::task_free_mig

Definition at line 512 of file loop_int.h.

◆ task_free_n

int xtc_loop_t::task_free_n

Definition at line 375 of file loop_int.h.

◆ task_spare

struct xtc_task* xtc_loop_t::task_spare[2]

Definition at line 523 of file loop_int.h.

◆ task_spare_lock

_Atomic int xtc_loop_t::task_spare_lock

Definition at line 522 of file loop_int.h.

◆ task_spare_n

_Atomic int xtc_loop_t::task_spare_n

Definition at line 524 of file loop_int.h.

◆ timer_slab

struct xtc_slab* xtc_loop_t::timer_slab

Definition at line 365 of file loop_int.h.

◆ timers

struct xtc_timer_slot* xtc_loop_t::timers

Definition at line 351 of file loop_int.h.

◆ yield_budget_ns

int64_t xtc_loop_t::yield_budget_ns

Definition at line 419 of file loop_int.h.


The documentation for this struct was generated from the following file: