| /linux/Documentation/scheduler/ |
| H A D | sched-ext.rst | 119 * ``SCX_EV_SELECT_CPU_FALLBACK``: ops.select_cpu() returned a CPU unusable by 182 * idle core is found by the default ops.select_cpu() implementation, 187 * default ops.select_cpu implementation. The behavior of the scheduler 209 * into in ops.select_cpu() above. 238 .select_cpu = (void *)simple_select_cpu, 283 1. When a task is waking up, ``ops.select_cpu()`` is the first operation 287 The CPU selected by ``ops.select_cpu()`` is an optimization hint and not 290 ``ops.select_cpu()`` returns matches the CPU the task eventually runs on. 294 using ``ops.select_cpu()`` judiciously can be simpler and more efficient. 299 A task can be immediately inserted into a DSQ from ``ops.select_cpu()`` [all...] |
| /linux/tools/testing/selftests/sched_ext/ |
| H A D | select_cpu_dispatch_bad_dsq.bpf.c | 33 .select_cpu = (void *) select_cpu_dispatch_bad_dsq_select_cpu,
|
| H A D | select_cpu_dispatch_dbl_dsp.bpf.c | 34 .select_cpu = (void *) select_cpu_dispatch_dbl_dsp_select_cpu,
|
| H A D | select_cpu_dispatch.bpf.c | 38 .select_cpu = (void *) select_cpu_dispatch_select_cpu,
|
| H A D | ddsp_bogus_dsq_fail.bpf.c | 36 .select_cpu = (void *) ddsp_bogus_dsq_fail_select_cpu,
|
| H A D | ddsp_vtimelocal_fail.bpf.c | 34 .select_cpu = (void *) ddsp_vtimelocal_fail_select_cpu,
|
| H A D | enq_select_cpu_fails.bpf.c | |
| H A D | nohz_tick.bpf.c | 101 .select_cpu = (void *)nohz_tick_select_cpu,
|
| H A D | dequeue_iter.bpf.c | 66 .select_cpu = (void *)dequeue_iter_select_cpu,
|
| H A D | dsp_local_on.bpf.c | 62 .select_cpu = (void *) dsp_local_on_select_cpu,
|
| H A D | exit.bpf.c | 77 .select_cpu = (void *) exit_select_cpu,
|
| H A D | select_cpu_dfl_nodispatch.bpf.c | 85 .select_cpu = (void *) select_cpu_dfl_nodispatch_select_cpu,
|
| H A D | select_cpu_vtime.bpf.c | 5 * ops.select_cpu(). We validate this by using scx_bpf_dsq_insert_vtime(), 86 .select_cpu = (void *) select_cpu_vtime_select_cpu,
|
| H A D | numa.bpf.c | 119 .select_cpu = (void *)numa_select_cpu,
|
| H A D | allowed_cpus.bpf.c | 192 .select_cpu = (void *)allowed_cpus_select_cpu,
|
| H A D | maximal.bpf.c | 143 .select_cpu = (void *) maximal_select_cpu,
|
| H A D | dequeue_remote.bpf.c | 260 .select_cpu = (void *)dequeue_remote_select_cpu,
|
| /linux/tools/sched_ext/ |
| H A D | scx_cpu0.bpf.c | 51 * select_cpu() always picks CPU0. If @p is not on CPU0, it can't run on in BPF_STRUCT_OPS() 89 .select_cpu = (void *)cpu0_select_cpu,
|
| H A D | scx_central.bpf.c | 381 .select_cpu = (void *)central_select_cpu,
|
| H A D | scx_flatcg.bpf.c | 963 .select_cpu = (void *)fcg_select_cpu,
|
| /linux/kernel/sched/ext/ |
| H A D | internal.h | 172 * A migration disabled task never invokes ops.select_cpu() as it can 181 * ops.enqueue() on the ops.select_cpu() selected or the wakee's 183 * transfers. When this optimization is enabled, ops.select_cpu() is 185 * As the BPF scheduler may depend on ops.select_cpu() being invoked 190 * wakee's CPU without preceding ops.select_cpu() even for tasks which 391 * @select_cpu: Pick the target CPU for a task which is being woken up 403 * select_cpu() serves as the default way to wake up idle CPUs. 410 * Note that select_cpu() is never called for tasks that can only run 415 s32 (*select_cpu)(struct task_struct *p, s32 prev_cpu, u64 wake_flags); 427 * If @p was inserted into a DSQ from ops.select_cpu(), thi 373 s32 (*select_cpu)(struct task_struct *p, s32 prev_cpu, u64 wake_flags); global() member [all...] |
| H A D | ext.c | 2046 * Mark that dispatch already happened from ops.select_cpu() or in scx_do_enqueue_task() 4051 if (likely(SCX_HAS_OP(sch, select_cpu)) && !bypassing) { in scx_enable_task() 4060 cpu = SCX_CALL_OP_TASK_RET(sch, select_cpu, NULL, p, in scx_disable_task() 4066 if (scx_cpu_valid(sch, cpu, "from ops.select_cpu()")) in scx_disable_task() 6753 * - ops.select_cpu() is ignored and the default select_cpu() is used. 9016 .select_cpu = sched_ext_ops__select_cpu, 9585 * ops.select_cpu(), and ops.dispatch(). in scx_bpf_create_dsq() 9587 * When called from ops.select_cpu() or ops.enqueue(), it's for direct dispatch in scx_bpf_create_dsq() 9590 * When called from ops.select_cpu(), in scx_bpf_create_dsq() [all...] |
| /linux/block/ |
| H A D | blk-mq.c | 2260 select_cpu: in blk_mq_hctx_next_cpu() 2275 goto select_cpu; in blk_mq_hctx_next_cpu()
|