| /linux-6.15/kernel/sched/ |
| H A D | ext.c | 1829 curr->scx.slice -= min_t(u64, curr->scx.slice, delta_exec); in update_curr_scx() 1843 return time_before64(a->scx.dsq_vtime, b->scx.dsq_vtime); in scx_dsq_priq_less() 1910 list_add(&p->scx.dsq_list.node, &prev->scx.dsq_list.node); in dispatch_enqueue() 3200 smp_store_release(&rq->scx.pnt_seq, rq->scx.pnt_seq + 1); in switch_class() 3771 memset(scx, 0, sizeof(*scx)); in init_scx_entity() 4997 p->scx.sticky_cpu, p->scx.holding_cpu, dsq_id_buf); in scx_dump_task() 4999 p->scx.dsq_vtime, p->scx.slice, p->scx.weight); in scx_dump_task() 5086 cpu, rq->scx.nr_running, rq->scx.flags, in scx_dump_state() 5087 rq->scx.cpu_released, rq->scx.ops_qseq, in scx_dump_state() 6194 p->scx.slice = p->scx.slice ?: 1; in scx_bpf_dsq_insert() [all …]
|
| H A D | ext.h | 14 void init_scx_entity(struct sched_ext_entity *scx); 29 return cpu_rq(cpu)->scx.cpuperf_target; in scx_cpuperf_target()
|
| H A D | sched.h | 1133 struct scx_rq scx; member 1730 WRITE_ONCE(rq->scx.clock, clock); in scx_rq_clock_update() 1731 smp_store_release(&rq->scx.flags, rq->scx.flags | SCX_RQ_CLK_VALID); in scx_rq_clock_update() 1738 WRITE_ONCE(rq->scx.flags, rq->scx.flags & ~SCX_RQ_CLK_VALID); in scx_rq_clock_invalidate()
|
| H A D | ext_idle.c | 490 cpu_rq(cpu)->scx.local_dsq.nr == 0 && in scx_select_cpu_dfl()
|
| H A D | core.c | 4511 init_scx_entity(&p->scx); in __sched_fork() 5989 rq->scx.flags |= SCX_RQ_BAL_PENDING; in prev_balance()
|
| /linux-6.15/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-6.15/tools/sched_ext/ |
| H A D | scx_simple.bpf.c | 76 u64 vtime = p->scx.dsq_vtime; in BPF_STRUCT_OPS() 106 if (time_before(vtime_now, p->scx.dsq_vtime)) in BPF_STRUCT_OPS() 107 vtime_now = p->scx.dsq_vtime; in BPF_STRUCT_OPS() 124 p->scx.dsq_vtime += (SCX_SLICE_DFL - p->scx.slice) * 100 / p->scx.weight; in BPF_STRUCT_OPS() 129 p->scx.dsq_vtime = vtime_now; in BPF_STRUCT_OPS()
|
| H A D | scx_flatcg.bpf.c | 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() 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.dsq_vtime = cgc->tvtime_now; in BPF_STRUCT_OPS() 924 delta = time_delta(p->scx.dsq_vtime, from_cgc->tvtime_now); in BPF_STRUCT_OPS() 925 p->scx.dsq_vtime = to_cgc->tvtime_now + delta; in BPF_STRUCT_OPS()
|
| H A D | scx_qmap.bpf.c | 199 int idx = weight_to_idx(p->scx.weight); in BPF_STRUCT_OPS() 269 if (highpri_boosting && p->scx.weight >= HIGHPRI_WEIGHT) { in BPF_STRUCT_OPS() 289 int idx = weight_to_idx(p->scx.weight); in update_core_sched_head_seq() 464 core_sched_tail_seqs[weight_to_idx(prev->scx.weight)]++; in BPF_STRUCT_OPS() 484 cpuc->avg_weight = cpuc->avg_weight * 3 / 4 + p->scx.weight / 4; in BPF_STRUCT_OPS() 497 int idx = weight_to_idx(p->scx.weight); in task_qdist() 554 p->scx.disallow = true; in BPF_STRUCT_OPS()
|
| H A D | Makefile | 162 $(SCXOBJ_DIR)/%.bpf.o: %.bpf.c $(INCLUDE_DIR)/vmlinux.h include/scx/*.h \ 177 SCX_COMMON_DEPS := include/scx/common.h include/scx/user_exit_info.h | $(BINDIR)
|
| H A D | README.md | 164 https://github.com/sched-ext/scx.
|
| /linux-6.15/init/ |
| H A D | init_task.c | 105 .scx = { 106 .dsq_list.node = LIST_HEAD_INIT(init_task.scx.dsq_list.node), 109 .runnable_node = LIST_HEAD_INIT(init_task.scx.runnable_node),
|
| /linux-6.15/tools/sched_ext/include/scx/ |
| H A D | common.bpf.h | 668 return (value * p->scx.weight) / 100; in scale_by_task_weight() 676 return value * 100 / p->scx.weight; in scale_by_task_weight_inverse()
|
| /linux-6.15/kernel/ |
| H A D | Kconfig.preempt | 178 https://github.com/sched-ext/scx
|
| /linux-6.15/include/linux/ |
| H A D | sched.h | 871 struct sched_ext_entity scx; member
|
| /linux-6.15/ |
| H A D | MAINTAINERS | 21818 W: https://github.com/sched-ext/scx
|