KFunc bpf_wq_start
Start a work-queue.
Definition
This kfunc starts a work-queue which allows eBPF programs to schedule work to be executed asynchronously.
wq: A pointer to a struct bpf_wq which must reside in a map value.
flags: Flags to allow for future extensions.
Returns
Return 0 on success, or a negative error code on failure.
Signature
int bpf_wq_start(struct bpf_wq *wq, unsigned int flags)
Usage
Once a work-queue has been initialized with the bpf_wq_init kfunc and a callback function has been associated with it using the bpf_wq_set_callback_impl kfunc, work can be scheduled using this function.
The callback will be called asynchronously sometime after the current eBPF program has finished executing whenever the scheduler decides to run the work-queue.
Program types
The following program types can make use of this kfunc:
BPF_PROG_TYPE_CGROUP_DEVICEv6.12 -BPF_PROG_TYPE_CGROUP_SKBBPF_PROG_TYPE_CGROUP_SOCKv6.12 -BPF_PROG_TYPE_CGROUP_SOCKOPTv6.12 -BPF_PROG_TYPE_CGROUP_SOCK_ADDRv6.7 -BPF_PROG_TYPE_CGROUP_SYSCTLv6.12 -BPF_PROG_TYPE_LSMBPF_PROG_TYPE_LWT_INBPF_PROG_TYPE_LWT_OUTBPF_PROG_TYPE_LWT_SEG6LOCALBPF_PROG_TYPE_LWT_XMITBPF_PROG_TYPE_NETFILTERBPF_PROG_TYPE_PERF_EVENTv6.12 -BPF_PROG_TYPE_SCHED_ACTBPF_PROG_TYPE_SCHED_CLSBPF_PROG_TYPE_SK_SKBBPF_PROG_TYPE_SOCKET_FILTERBPF_PROG_TYPE_SOCK_OPSv6.15 -BPF_PROG_TYPE_STRUCT_OPSBPF_PROG_TYPE_SYSCALLBPF_PROG_TYPE_TRACEPOINTv6.12 -BPF_PROG_TYPE_TRACINGBPF_PROG_TYPE_XDP
Example
Docs could be improved
This part of the docs is incomplete, contributions are very welcome