Skip to content

DPCs

struct dpc {
dpc_func_t func;
void *ctx;
(struct dpc *) next;
(bool) enqueued;
};

struct dpc referenced types:

struct dpc_queue {
(struct dpc *) head;
size_t count;
};
struct dpc_cpu {
(bool) ipi_queued;
struct dpc_queue queues[DPC_EVENT_MAX];
};

struct dpc_cpu referenced types:

enum dpc_event {
DPC_NONE,
DPC_CPU_IDLE,
DPC_CPU_WOKE,
DPC_EVENT_MAX,
};
typedef void (*dpc_func_t)(struct dpc *, void * ctx);

type alias dpc_func_t referenced types:

void dpc_run_local(void);
struct dpc * dpc_create(dpc_func_t fn, void *ctx);

dpc_create referenced types:

struct dpc * dpc_init(struct dpc *d, dpc_func_t fn, void *ctx);

dpc_init referenced types:

void dpc_init_percpu(void);
bool dpc_enqueue_local(struct dpc *d, enum dpc_event e);

dpc_enqueue_local referenced types:

bool dpc_enqueue_on_cpu(size_t cpu, struct dpc *d, enum dpc_event e);

dpc_enqueue_on_cpu referenced types: