tools/testing/selftests/bpf/libarena/include/libarena/spmc.h

Source file repositories/reference/linux-study-clean/tools/testing/selftests/bpf/libarena/include/libarena/spmc.h

File Facts

System
Linux kernel
Corpus path
tools/testing/selftests/bpf/libarena/include/libarena/spmc.h
Extension
.h
Size
592 bytes
Lines
28
Domain
Support Tooling And Documentation
Bucket
tools
Inferred role
Support Tooling And Documentation: implementation source
Status
source implementation candidate

Why This File Exists

Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.

Dependency Surface

Detected Declarations

Annotated Snippet

struct spmc_arr {
	u64 __arena *data;
	u64 order;
};

struct spmc {
	volatile struct spmc_arr __arena *cur;
	volatile u64 top;
	volatile u64 bottom;
	struct spmc_arr arr[SPMC_ARR_ORDERS];
};

int spmc_owned_add(struct spmc __arena *spmc, u64 val);
int spmc_owned_remove(struct spmc __arena *spmc, u64 *val);
int spmc_steal(struct spmc __arena *spmc, u64 *val);

struct spmc __arena *spmc_create(void);
int spmc_destroy(struct spmc __arena *spmc);

Annotation

Implementation Notes