Home
last modified time | relevance | path

Searched refs:dsq_id (Results 1 – 7 of 7) sorted by relevance

/linux/tools/sched_ext/include/scx/
H A Dcompat.bpf.h34 bool scx_bpf_dsq_move_to_local___v2(u64 dsq_id, u64 enq_flags) __ksym __weak;
35 bool scx_bpf_dsq_move_to_local___v1(u64 dsq_id) __ksym __weak;
38 bool scx_bpf_dsq_move___new(struct bpf_iter_scx_dsq *it__iter, struct task_struct *p, u64 dsq_id, u64 enq_flags) __ksym __weak;
39 bool scx_bpf_dsq_move_vtime___new(struct bpf_iter_scx_dsq *it__iter, struct task_struct *p, u64 dsq_id, u64 enq_flags) __ksym __weak;
41 bool scx_bpf_consume___old(u64 dsq_id) __ksym __weak;
44 bool scx_bpf_dispatch_from_dsq___old(struct bpf_iter_scx_dsq *it__iter, struct task_struct *p, u64 dsq_id, u64 enq_flags) __ksym __weak; argument
45 bool scx_bpf_dispatch_vtime_from_dsq___old(struct bpf_iter_scx_dsq *it__iter, struct task_struct *p, u64 dsq_id, u64 enq_flags) __ksym __weak;
47 #define scx_bpf_dsq_move_to_local(dsq_id, enq_flags) \
49 scx_bpf_dsq_move_to_local___v2((dsq_id), (enq_flags)) : \
51 scx_bpf_dsq_move_to_local___v1((dsq_id))
63 scx_bpf_dsq_move(it__iter,p,dsq_id,enq_flags) global() argument
70 scx_bpf_dsq_move_vtime(it__iter,p,dsq_id,enq_flags) global() argument
93 __COMPAT_scx_bpf_dsq_peek(u64 dsq_id) __COMPAT_scx_bpf_dsq_peek() argument
281 scx_bpf_dsq_insert_vtime(struct task_struct * p,u64 dsq_id,u64 slice,u64 vtime,u64 enq_flags) scx_bpf_dsq_insert_vtime() argument
318 scx_bpf_dsq_insert(struct task_struct * p,u64 dsq_id,u64 slice,u64 enq_flags) scx_bpf_dsq_insert() argument
[all...]
H A Dcommon.bpf.h61 s32 scx_bpf_create_dsq(u64 dsq_id, s32 node) __ksym;
69 s32 scx_bpf_dsq_nr_queued(u64 dsq_id) __ksym;
70 void scx_bpf_destroy_dsq(u64 dsq_id) __ksym;
71 struct task_struct *scx_bpf_dsq_peek(u64 dsq_id) __ksym __weak;
72 int bpf_iter_scx_dsq_new(struct bpf_iter_scx_dsq *it, u64 dsq_id, u64 flags) __ksym __weak;
/linux/tools/testing/selftests/sched_ext/
H A Dpeek_dsq.bpf.c88 int dsq_id = dsq_pool_base_id + i; in scan_dsq_pool() local
92 task = __COMPAT_scx_bpf_dsq_peek(dsq_id); in scan_dsq_pool()
98 if (!moved && scx_bpf_dsq_move_to_local(dsq_id, 0) == 0) { in scan_dsq_pool()
206 int dsq_id = dsq_pool_base_id + i; in BPF_STRUCT_OPS_SLEEPABLE() local
208 err = scx_bpf_create_dsq(dsq_id, -1); in BPF_STRUCT_OPS_SLEEPABLE()
210 scx_bpf_error("Failed to create DSQ pool entry %d: %d", dsq_id, err); in BPF_STRUCT_OPS_SLEEPABLE()
236 int dsq_id = dsq_pool_base_id + i; in BPF_STRUCT_OPS() local
238 scx_bpf_destroy_dsq(dsq_id); in BPF_STRUCT_OPS()
H A Dselect_cpu_dispatch.bpf.c18 u64 dsq_id = SCX_DSQ_LOCAL; in BPF_STRUCT_OPS() local
28 dsq_id = SCX_DSQ_GLOBAL; in BPF_STRUCT_OPS()
32 scx_bpf_dsq_insert(p, dsq_id, SCX_SLICE_DFL, 0); in BPF_STRUCT_OPS()
H A Dselect_cpu_dfl_nodispatch.bpf.c55 u64 dsq_id = SCX_DSQ_GLOBAL; in BPF_STRUCT_OPS() local
65 dsq_id = SCX_DSQ_LOCAL; in BPF_STRUCT_OPS()
70 scx_bpf_dsq_insert(p, dsq_id, SCX_SLICE_DFL, enq_flags); in BPF_STRUCT_OPS()
/linux/kernel/sched/
H A Dext.c336 static struct scx_dispatch_q *find_user_dsq(struct scx_sched *sch, u64 dsq_id) in find_user_dsq() argument
338 return rhashtable_lookup(&sch->dsq_hash, &dsq_id, dsq_hash_params); in find_user_dsq()
1692 struct rq *rq, u64 dsq_id, in find_dsq_for_dispatch() argument
1697 if (dsq_id == SCX_DSQ_LOCAL) in find_dsq_for_dispatch()
1700 if ((dsq_id & SCX_DSQ_LOCAL_ON) == SCX_DSQ_LOCAL_ON) { in find_dsq_for_dispatch()
1701 s32 cpu = dsq_id & SCX_DSQ_LOCAL_CPU_MASK; in find_dsq_for_dispatch()
1709 if (dsq_id == SCX_DSQ_GLOBAL) in find_dsq_for_dispatch()
1712 dsq = find_user_dsq(sch, dsq_id); in find_dsq_for_dispatch()
1715 scx_error(sch, "non-existent DSQ 0x%llx", dsq_id); in find_dsq_for_dispatch()
1724 struct task_struct *p, u64 dsq_id, in mark_direct_dispatch() argument
[all …]
H A Dext_internal.h968 u64 dsq_id; member