Home
last modified time | relevance | path

Searched refs:sleepable (Results 1 – 19 of 19) sorted by relevance

/linux/tools/verification/models/sched/
H A Dsssw.dot8 {node [shape = circle] "sleepable"};
13 "runnable" -> "sleepable" [ label = "sched_set_state_sleepable" ];
18 "signal_wakeup" -> "sleepable" [ label = "sched_set_state_sleepable" ];
19 "sleepable" [label = "sleepable"];
20 "sleepable" -> "runnable" [ label = "sched_set_state_runnable\nsched_wakeup" ];
21 "sleepable" -> "signal_wakeup" [ label = "sched_switch_yield" ];
22 …"sleepable" -> "sleepable" [ label = "sched_set_state_sleepable\nsched_switch_in\nsched_switch_pre…
23 "sleepable" -> "sleeping" [ label = "sched_switch_suspend\nsched_switch_blocking" ];
/linux/drivers/infiniband/sw/rxe/
H A Drxe_pool.h59 bool sleepable);
61 #define rxe_add_to_pool_ah(pool, obj, sleepable) __rxe_add_to_pool(pool, \ argument
62 &(obj)->elem, sleepable)
73 int __rxe_cleanup(struct rxe_pool_elem *elem, bool sleepable);
75 #define rxe_cleanup_ah(obj, sleepable) __rxe_cleanup(&(obj)->elem, sleepable) argument
/linux/Documentation/trace/rv/
H A Dmonitor_sched.rst262 sleepable leads to sleeping and sleeping tasks require wakeup. It includes the
267 the task to ``sleepable``. After a task is suspended, it needs to be woken up
269 Setting the task's state to ``sleepable`` can be reverted before switching if it
275 type of switch when the task is not set to sleepable. This is a limitation of
284 ``sleepable`` as that would be a suspension. A special case of a yield occurs
292 This monitor doesn't include a running state, ``sleepable`` and ``runnable``
328 signal_deliver | sleepable | signal_deliver
/linux/kernel/bpf/
H A Dtrampoline.c519 * rcu_read_lock_trace to protect sleepable bpf progs in bpf_trampoline_update()
558 * Use call_rcu_tasks_trace() to wait for sleepable progs to finish. in bpf_attach_type_to_tramp()
1307 bool sleepable = prog->sleepable;
1310 return sleepable ? __bpf_prog_enter_sleepable_recur :
1317 return sleepable ? __bpf_prog_enter_sleepable : __bpf_prog_enter;
1322 bool sleepable = prog->sleepable;
1325 return sleepable ? __bpf_prog_exit_sleepable_recur :
1332 return sleepable
1107 bool sleepable = prog->sleepable; bpf_trampoline_enter() local
1122 bool sleepable = prog->sleepable; bpf_trampoline_exit() local
[all...]
H A Dsyscall.c154 /* Wait for any running non-sleepable BPF programs to complete so that in maybe_wait_bpf_programs()
155 * userspace, when we return to it, knows that all non-sleepable in maybe_wait_bpf_programs()
156 * programs that could be running use the new map value. For sleepable in maybe_wait_bpf_programs()
160 * so don't handle sleepable BPF programs now. in maybe_wait_bpf_programs()
1857 /* These maps require sleepable context */ in map_delete_elem()
2389 if (prog->sleepable) in __bpf_prog_put_noref()
3004 prog->sleepable = !!(attr->prog_flags & BPF_F_SLEEPABLE); in bpf_prog_load()
3184 * "sleepable" semantics, which normally would mean that BPF link's attach
3187 * BPF program itself can be non-sleepable, yet, because it's transitively
3193 enum bpf_attach_type attach_type, bool sleepable) in bpf_link_init_sleepable()
3192 bpf_link_init_sleepable(struct bpf_link * link,enum bpf_link_type type,const struct bpf_link_ops * ops,struct bpf_prog * prog,enum bpf_attach_type attach_type,bool sleepable) bpf_link_init_sleepable() argument
[all...]
H A Dcore.c2405 map->owner->sleepable = fp->sleepable; in __bpf_prog_map_compatible()
2418 map->owner->sleepable == fp->sleepable; in __bpf_prog_map_compatible()
2864 bool sleepable; in __bpf_free_used_maps()
2867 sleepable = aux->prog->sleepable; in __bpf_free_used_maps()
2872 if (sleepable) in bpf_free_used_maps()
2858 bool sleepable; __bpf_free_used_maps() local
H A Dverifier.c14037 bool sleepable, rcu_lock, rcu_unlock, preempt_disable, preempt_enable; in check_kfunc_call() local
14098 sleepable = is_kfunc_sleepable(&meta); in check_kfunc_call()
14099 if (sleepable && !in_sleepable(env)) { in check_kfunc_call()
14173 } else if (sleepable && env->cur_state->active_rcu_locks) { in check_kfunc_call()
14188 } else if (sleepable) { in check_kfunc_call()
14199 if (env->cur_state->active_irq_id && sleepable) { in check_kfunc_call()
21562 if (prog->sleepable) in check_map_prog_compatibility()
21642 if (env->prog->sleepable) in __add_used_map()
22792 func[i]->sleepable = prog->sleepable; in jit_subprogs()
24481 state->in_sleepable = env->prog->sleepable; in do_check_common()
[all …]
H A Dhelpers.c2220 return prog->sleepable ? &bpf_get_task_stack_sleepable_proto in bpf_rb_root_free()
/linux/kernel/trace/rv/monitors/sssw/
H A DKconfig10 Monitor to ensure sched_set_state to sleepable leads to sleeping and
/linux/drivers/hid/bpf/
H A Dhid_bpf_struct_ops.c51 if (prog->sleepable) in hid_bpf_ops_check_member()
/linux/net/bpf/
H A Dbpf_dummy_struct_ops.c229 if (prog->sleepable) in bpf_dummy_ops_check_member()
/linux/kernel/trace/
H A Dbpf_trace.c1320 return prog->sleepable ? &bpf_get_stack_sleepable_proto : &bpf_get_stack_proto; in kprobe_prog_func_proto()
1997 * It could be that the bpf_prog is not sleepable (and will be freed in perf_event_query_prog_array()
1998 * via normal RCU), but is called from a point that supports sleepable in perf_event_query_prog_array()
3087 bool sleepable = prog->sleepable; in uprobe_prog_run()
3094 if (sleepable) in uprobe_prog_run()
3107 if (sleepable) in uprobe_multi_link_filter()
3073 bool sleepable = prog->sleepable; uprobe_prog_run() local
/linux/Documentation/locking/
H A Dmutex-design.rst69 While formally kernel mutexes are sleepable locks, it is path (ii) that
/linux/Documentation/hid/
H A Dhid-bpf.rst176 Note that ``hid_rdesc_fixup`` can be declared as sleepable (``SEC("struct_ops.s/hid_rdesc_fixup")``…
201 Available API that can be used in syscall HID-BPF programs or in sleepable HID-BPF struct_ops progr…
/linux/tools/sched_ext/
H A DREADME.md177 useful BPF features, such as sleepable per-task storage allocation in the
/linux/tools/memory-model/Documentation/
H A Dordering.txt118 sleepable contexts. Therefore, RCU's grace-period primitives are
/linux/Documentation/RCU/
H A Dchecklist.rst413 and srcu_read_unlock()), hence the "SRCU": "sleepable RCU".
/linux/kernel/sched/
H A Dext.c399 * sleepable progs. in scx_kf_allowed()
5335 if (prog->sleepable) in bpf_scx_update()
6361 * Create a custom DSQ identified by @dsq_id. Can be called from any sleepable in scx_bpf_create_dsq()
/linux/kernel/events/
H A Dcore.c11610 if (prog->type == BPF_PROG_TYPE_KPROBE && prog->sleepable && !is_uprobe) in perf_event_parse_addr_filter()
11611 /* only uprobe programs are allowed to be sleepable */ in perf_event_parse_addr_filter()