xref: /linux/kernel/sched/ext/arena.h (revision 7603d8e78023e5883e075b4625fbdf059c6384f7)
1bba2c361STejun Heo /* SPDX-License-Identifier: GPL-2.0 */
2bba2c361STejun Heo /*
3bba2c361STejun Heo  * BPF extensible scheduler class: Documentation/scheduler/sched-ext.rst
4bba2c361STejun Heo  *
5bba2c361STejun Heo  * Copyright (c) 2025 Meta Platforms, Inc. and affiliates.
6bba2c361STejun Heo  * Copyright (c) 2025 Tejun Heo <tj@kernel.org>
7bba2c361STejun Heo  */
8bba2c361STejun Heo #ifndef _KERNEL_SCHED_EXT_ARENA_H
9bba2c361STejun Heo #define _KERNEL_SCHED_EXT_ARENA_H
10bba2c361STejun Heo 
11*3cd1f76bSTejun Heo #include <linux/types.h>
12*3cd1f76bSTejun Heo 
13bba2c361STejun Heo struct scx_sched;
14bba2c361STejun Heo 
15bba2c361STejun Heo s32 scx_arena_pool_init(struct scx_sched *sch);
16bba2c361STejun Heo void scx_arena_pool_destroy(struct scx_sched *sch);
17bba2c361STejun Heo void *scx_arena_alloc(struct scx_sched *sch, size_t size);
18bba2c361STejun Heo void scx_arena_free(struct scx_sched *sch, void *kern_va, size_t size);
19bba2c361STejun Heo 
20bba2c361STejun Heo #endif /* _KERNEL_SCHED_EXT_ARENA_H */
21