| /linux/kernel/sched/ext/ |
| H A D | sub.h | 17 struct scx_sched *scx_skip_subtree_pre(struct scx_sched *pos, struct scx_sched *root); 18 struct scx_sched *scx_next_descendant_pre(struct scx_sched *pos, struct scx_sched *root); 19 void scx_set_task_sched(struct task_struct *p, struct scx_sched *sch); 20 struct cgroup *sch_cgroup(struct scx_sched *sch); 21 void set_cgroup_sched(struct cgroup *cgrp, struct scx_sched *sch); 24 void drain_descendants(struct scx_sched *sch); 25 void scx_sub_disable(struct scx_sched *sch); 28 void scx_free_pshards(struct scx_sched *sch); 29 s32 scx_alloc_pshards(struct scx_sched *sch); 30 void scx_init_root_caps(struct scx_sched *sch); [all …]
|
| H A D | internal.h | 1285 struct scx_sched; 1314 struct scx_sched *sch; 1498 struct scx_sched *sch; /* backpointer */ 1521 struct scx_sched { struct 1644 struct scx_sched *ancestors[]; argument 1657 static inline void *scx_arena_to_kaddr(struct scx_sched *sch, const void *bpf_ptr) in scx_arena_to_kaddr() 2025 extern struct scx_sched __rcu *scx_root; 2037 bool scx_cpu_valid(struct scx_sched *sch, s32 cpu, const char *where); 2039 __printf(5, 0) bool scx_vexit(struct scx_sched *sch, enum scx_exit_kind kind, 2042 __printf(5, 6) bool __scx_exit(struct scx_sched *sch, enum scx_exit_kind kind, [all …]
|
| H A D | sub.c | 47 struct scx_sched *scx_skip_subtree_pre(struct scx_sched *pos, struct scx_sched *root) in scx_skip_subtree_pre() 49 struct scx_sched *next; in scx_skip_subtree_pre() 57 struct scx_sched, sibling); in scx_skip_subtree_pre() 74 struct scx_sched *scx_next_descendant_pre(struct scx_sched *pos, struct scx_sched *root) in scx_next_descendant_pre() 76 struct scx_sched *next; in scx_next_descendant_pre() 87 next = list_first_or_null_rcu(&pos->children, struct scx_sched, sibling); in scx_next_descendant_pre() 95 static struct scx_sched *scx_find_sub_sched(u64 cgroup_id) in scx_find_sub_sched() 101 void scx_set_task_sched(struct task_struct *p, struct scx_sched *sch) in scx_set_task_sched() 106 struct cgroup *sch_cgroup(struct scx_sched *sch) in sch_cgroup() 112 void set_cgroup_sched(struct cgroup *cgrp, struct scx_sched *sch) in set_cgroup_sched() [all …]
|
| H A D | ext.c | 35 struct scx_sched __rcu *scx_root; 45 .key_len = sizeof_field(struct scx_sched, ops.sub_cgroup_id), 46 .key_offset = offsetof(struct scx_sched, ops.sub_cgroup_id), 47 .head_offset = offsetof(struct scx_sched, hash_node), 130 struct scx_sched *scx_enabling_sub_sched; 132 #define scx_enabling_sub_sched (struct scx_sched *)NULL 262 static void scx_disable(struct scx_sched *sch, enum scx_exit_kind kind); 264 __printf(5, 6) bool __scx_exit(struct scx_sched *sch, in __scx_exit() 298 bool scx_is_descendant(struct scx_sched *sch, struct scx_sched *ancestor) in scx_is_descendant() 305 static struct scx_dispatch_q *find_global_dsq(struct scx_sched *sch, s32 cpu) in find_global_dsq() [all …]
|
| H A D | arena.c | 27 s32 scx_arena_pool_init(struct scx_sched *sch) in scx_arena_pool_init() 56 void scx_arena_pool_destroy(struct scx_sched *sch) in scx_arena_pool_destroy() 70 static int scx_arena_grow(struct scx_sched *sch, u32 page_cnt) in scx_arena_grow() 98 void *scx_arena_alloc(struct scx_sched *sch, size_t size) in scx_arena_alloc() 121 void scx_arena_free(struct scx_sched *sch, void *kern_va, size_t size) in scx_arena_free()
|
| H A D | cid.h | 38 struct scx_sched; 81 s32 scx_cid_init(struct scx_sched *sch); 94 static inline bool cid_valid(struct scx_sched *sch, s32 cid) in cid_valid() 137 static inline s32 scx_cid_to_cpu(struct scx_sched *sch, s32 cid) in scx_cid_to_cpu() 154 static inline s32 scx_cpu_to_cid(struct scx_sched *sch, s32 cpu) in scx_cpu_to_cid() 306 static inline s32 scx_cpu_ret(struct scx_sched *sch, s32 cpu_or_cid) in scx_cpu_ret() 313 int scx_cmask_ref_init(struct scx_sched *sch, const struct scx_cmask *src, 315 void scx_cmask_ref_init_kern(struct scx_sched *sch, struct scx_cmask *m,
|
| H A D | idle.c | 747 struct scx_sched *root = scx_root_protected_live(); in scx_idle_notify() 748 struct scx_sched *pos; in scx_idle_notify() 885 static int validate_node(struct scx_sched *sch, int node) in validate_node() 913 static bool check_builtin_idle_enabled(struct scx_sched *sch) in check_builtin_idle_enabled() 955 static s32 select_cpu_from_kfunc(struct scx_sched *sch, struct task_struct *p, in select_cpu_from_kfunc() 1031 struct scx_sched *sch; in scx_bpf_cpu_node() 1061 struct scx_sched *sch; in scx_bpf_select_cpu_dfl() 1116 struct scx_sched *sch; in __scx_bpf_select_cpu_and() 1134 struct scx_sched *sch; in scx_bpf_select_cpu_and() 1170 struct scx_sched *sch; in scx_bpf_get_idle_cpumask_node() [all …]
|
| H A D | cid.c | 180 s32 scx_cid_init(struct scx_sched *sch) in scx_cid_init() 477 struct scx_sched *sch; in scx_bpf_cid_override() 633 struct scx_sched *sch; in scx_bpf_cid_to_cpu() 655 struct scx_sched *sch; in scx_bpf_cpu_to_cid() 927 struct scx_sched *sch; in scx_bpf_cid_topo() 976 int scx_cmask_ref_init(struct scx_sched *sch, const struct scx_cmask *src, in scx_cmask_ref_init() 1018 void scx_cmask_ref_init_kern(struct scx_sched *sch, struct scx_cmask *m, in scx_cmask_ref_init_kern()
|
| H A D | types.h | 216 struct scx_sched *sch;
|
| H A D | inlines.h | 30 scx_dispatch_sched(struct scx_sched *sch, struct rq *rq, in scx_dispatch_sched()
|
| /linux/include/linux/sched/ |
| H A D | ext.h | 93 struct scx_sched *sched; 179 struct scx_sched; 191 struct scx_sched __rcu *sched; 319 struct scx_sched *sched;
|
| /linux/include/linux/ |
| H A D | cgroup-defs.h | 640 struct scx_sched __rcu *scx_sched; member
|
| /linux/include/trace/events/ |
| H A D | sched_ext.h | 89 TP_PROTO(struct scx_sched *sch, __u32 kind),
|
| /linux/kernel/sched/ |
| H A D | sched.h | 822 struct scx_sched *remote_activate_sch;
|