| /linux/kernel/sched/ |
| H A D | ext.c | 278 WARN_ONCE((mask | higher_bits(mask)) & current->scx.kf_mask, in scx_kf_allow() 280 current->scx.kf_mask, mask); in scx_kf_allow() 281 current->scx.kf_mask |= mask; in scx_kf_allow() 288 current->scx.kf_mask &= ~mask; in scx_kf_disallow() 358 current->scx.kf_tasks[0] = task; \ 360 current->scx.kf_tasks[0] = NULL; \ 367 current->scx.kf_tasks[0] = task; \ 369 current->scx.kf_tasks[0] = NULL; \ 377 current->scx.kf_tasks[0] = task0; \ 378 current->scx.kf_tasks[1] = task1; \ [all …]
|
| H A D | ext.h | 12 void init_scx_entity(struct sched_ext_entity *scx); 28 return cpu_rq(cpu)->scx.cpuperf_target; in scx_cpuperf_target()
|
| H A D | ext_internal.h | 1095 return !current->scx.kf_mask; in scx_kf_allowed_if_unlocked() 1100 return unlikely(rq->scx.flags & SCX_RQ_BYPASSING); in scx_rq_bypassing()
|
| H A D | sched.h | 503 struct scx_task_group scx; member 1177 struct scx_rq scx; member 1837 WRITE_ONCE(rq->scx.clock, clock); in scx_rq_clock_update() 1838 smp_store_release(&rq->scx.flags, rq->scx.flags | SCX_RQ_CLK_VALID); in scx_rq_clock_update() 1845 WRITE_ONCE(rq->scx.flags, rq->scx.flags & ~SCX_RQ_CLK_VALID); in scx_rq_clock_invalidate()
|
| H A D | ext_idle.c | 548 cpu_rq(cpu)->scx.local_dsq.nr == 0 && in scx_select_cpu_dfl()
|
| H A D | core.c | 4427 init_scx_entity(&p->scx); in __sched_fork() 9470 return sched_weight_from_cgroup(tg->scx.weight); in tg_weight() 9754 *period_us_p = tg->scx.bw_period_us; in tg_bandwidth() 9756 *quota_us_p = tg->scx.bw_quota_us; in tg_bandwidth() 9758 *burst_us_p = tg->scx.bw_burst_us; in tg_bandwidth()
|
| /linux/tools/testing/selftests/sched_ext/ |
| H A D | select_cpu_vtime.bpf.c | 30 u64 vtime = p->scx.dsq_vtime; in task_vtime() 62 if (vtime_before(vtime_now, p->scx.dsq_vtime)) in BPF_STRUCT_OPS() 63 vtime_now = p->scx.dsq_vtime; in BPF_STRUCT_OPS() 69 p->scx.dsq_vtime += (SCX_SLICE_DFL - p->scx.slice) * 100 / p->scx.weight; in BPF_STRUCT_OPS() 74 p->scx.dsq_vtime = vtime_now; in BPF_STRUCT_OPS()
|
| H A D | maybe_null_fail_dsp.bpf.c | 17 vtime_test = p->scx.dsq_vtime; in BPF_STRUCT_OPS()
|
| H A D | maybe_null.bpf.c | 18 vtime_test = p->scx.dsq_vtime; in BPF_STRUCT_OPS()
|
| H A D | ddsp_bogus_dsq_fail.bpf.c | 24 p->scx.dsq_vtime, 0); in BPF_STRUCT_OPS()
|
| H A D | ddsp_vtimelocal_fail.bpf.c | 21 p->scx.dsq_vtime, 0); in BPF_STRUCT_OPS()
|
| /linux/tools/sched_ext/ |
| H A D | scx_flatcg.bpf.c | 46 #include <scx/common.bpf.h> 393 u64 tvtime = p->scx.dsq_vtime; in BPF_STRUCT_OPS() 533 if (time_before(cgc->tvtime_now, p->scx.dsq_vtime)) in BPF_STRUCT_OPS() 534 cgc->tvtime_now = p->scx.dsq_vtime; in BPF_STRUCT_OPS() 549 * @p->scx.slice to zero and the following would treat the yielding task in BPF_STRUCT_OPS() 552 * instead of depending on @p->scx.slice. in BPF_STRUCT_OPS() 555 p->scx.dsq_vtime += in BPF_STRUCT_OPS() 556 (SCX_SLICE_DFL - p->scx.slice) * 100 / p->scx.weight; in BPF_STRUCT_OPS() 825 p->scx in BPF_STRUCT_OPS() [all...] |
| H A D | scx_qmap.bpf.c | 25 #include <scx/common.bpf.h> 201 int idx = weight_to_idx(p->scx.weight); in BPF_STRUCT_OPS() 274 if (highpri_boosting && p->scx.weight >= HIGHPRI_WEIGHT) { in BPF_STRUCT_OPS() 294 int idx = weight_to_idx(p->scx.weight); in update_core_sched_head_seq() 465 core_sched_tail_seqs[weight_to_idx(prev->scx.weight)]++; in BPF_STRUCT_OPS() 485 cpuc->avg_weight = cpuc->avg_weight * 3 / 4 + p->scx.weight / 4; in BPF_STRUCT_OPS() 498 int idx = weight_to_idx(p->scx.weight); in task_qdist() 570 p->scx.disallow = true; in BPF_STRUCT_OPS()
|
| H A D | Makefile | 175 $(SCXOBJ_DIR)/%.bpf.o: %.bpf.c $(INCLUDE_DIR)/vmlinux.h include/scx/*.h \ 190 SCX_COMMON_DEPS := include/scx/common.h include/scx/user_exit_info.h | $(BINDIR)
|
| H A D | README.md | 163 https://github.com/sched-ext/scx.
|
| /linux/tools/sched_ext/include/scx/ |
| H A D | compat.bpf.h | 344 p->scx.slice = slice; in scx_bpf_task_set_slice() 352 p->scx.dsq_vtime = vtime; in scx_bpf_task_set_dsq_vtime()
|
| H A D | common.bpf.h | 749 return (value * p->scx.weight) / 100; in scale_by_task_weight() 757 return value * 100 / p->scx.weight; in scale_by_task_weight_inverse()
|
| /linux/kernel/ |
| H A D | Kconfig.preempt | 194 https://github.com/sched-ext/scx
|
| /linux/include/linux/ |
| H A D | sched.h | 875 struct sched_ext_entity scx; member
|
| /linux/ |
| H A D | MAINTAINERS | 23689 W: https://github.com/sched-ext/scx
|