Lines Matching full:sch

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);
32 void scx_unbypass_replay_ecaps(struct rq *rq, struct scx_sched *sch);
37 struct scx_dispatch_q *scx_resolve_local_dsq(struct scx_sched *sch, struct rq *rq,
46 void scx_rescue_set_knobs(struct scx_sched *sch);
63 static inline const char *sch_cgrp_path(struct scx_sched *sch) in sch_cgrp_path() argument
65 return sch->cgrp_path; in sch_cgrp_path()
69 static inline void scx_dec_has_subs(struct scx_sched *sch) in scx_dec_has_subs() argument
71 if (sch->level) in scx_dec_has_subs()
79 static inline void scx_set_task_sched(struct task_struct *p, struct scx_sched *sch) {} in scx_set_task_sched() argument
80 static inline struct cgroup *sch_cgroup(struct scx_sched *sch) { return NULL; } in sch_cgroup() argument
81 static inline const char *sch_cgrp_path(struct scx_sched *sch) { return "/"; } in sch_cgrp_path() argument
82 static inline void set_cgroup_sched(struct cgroup *cgrp, struct scx_sched *sch) {} in set_cgroup_sched() argument
83 static inline void drain_descendants(struct scx_sched *sch) { } in drain_descendants() argument
84 static inline void scx_sub_disable(struct scx_sched *sch) { } in scx_sub_disable() argument
85 static inline void scx_free_pshards(struct scx_sched *sch) {} in scx_free_pshards() argument
86 static inline s32 scx_alloc_pshards(struct scx_sched *sch) { return 0; } in scx_alloc_pshards() argument
87 static inline void scx_init_root_caps(struct scx_sched *sch) {} in scx_init_root_caps() argument
89 static inline void scx_unbypass_replay_ecaps(struct rq *rq, struct scx_sched *sch) {} in scx_unbypass_replay_ecaps() argument
94 static inline struct scx_dispatch_q *scx_resolve_local_dsq(struct scx_sched *sch, struct rq *rq, st… in scx_resolve_local_dsq() argument
102 static inline void scx_rescue_set_knobs(struct scx_sched *sch) {} in scx_rescue_set_knobs() argument
104 static inline void scx_dec_has_subs(struct scx_sched *sch) {} in scx_dec_has_subs() argument
124 * scx_missing_caps - The caps in @needed that @sch lacks on @cpu
125 * @sch: sched to test
129 * Return the caps in @needed that @sch lacks for @cpu, 0 if it holds them all.
131 static inline u64 scx_missing_caps(struct scx_sched *sch, s32 cpu, u64 needed) in scx_missing_caps() argument
140 if (!sch->level) in scx_missing_caps()
143 ecaps = READ_ONCE(per_cpu_ptr(sch->pcpu, cpu)->ecaps); in scx_missing_caps()
172 /* the cap @sch needs to preempt @rq's current task, 0 if none */
173 static inline u64 scx_caps_for_preempt(struct scx_sched *sch, struct rq *rq, u64 enq_flags) in scx_caps_for_preempt() argument
182 scx_is_descendant(scx_task_sched(curr), sch)) in scx_caps_for_preempt()
225 static inline u64 scx_missing_caps(struct scx_sched *sch, s32 cpu, u64 needed) { return 0; } in scx_missing_caps() argument
226 static inline u64 scx_caps_for_preempt(struct scx_sched *sch, struct rq *rq, u64 enq_flags) { retur… in scx_caps_for_preempt() argument