/linux/tools/bpf/bpftool/Documentation/ |
H A D | bpftool-struct_ops.rst | 4 bpftool-struct_ops 7 tool to register/unregister/introspect BPF struct_ops 17 **bpftool** [*OPTIONS*] **struct_ops** *COMMAND* 27 | **bpftool** **struct_ops { show | list }** [*STRUCT_OPS_MAP*] 28 | **bpftool** **struct_ops dump** [*STRUCT_OPS_MAP*] 29 | **bpftool** **struct_ops register** *OBJ* [*LINK_DIR*] 30 | **bpftool** **struct_ops unregister** *STRUCT_OPS_MAP* 31 | **bpftool** **struct_ops help** 39 bpftool struct_ops { show | list } [*STRUCT_OPS_MAP*] 40 Show brief information about the struct_ops i 14 SYNOPSIStool to register/unregister/introspect BPF struct_ops global() argument 24 STRUCT_OPS COMMANDStool to register/unregister/introspect BPF struct_ops global() argument 37 DESCRIPTIONtool to register/unregister/introspect BPF struct_ops global() argument 68 OPTIONStool to register/unregister/introspect BPF struct_ops global() argument 72 EXAMPLEStool to register/unregister/introspect BPF struct_ops global() argument [all...] |
H A D | bpftool-gen.rst | 253 SEC("struct_ops/test_2") 259 SEC(".struct_ops") 310 } struct_ops; 363 skel->struct_ops.testmod_map->data = 13;
|
H A D | bpftool-prog.rst | 57 | **struct_ops** | **fentry** | **fexit** | **freplace** | **sk_lookup** 159 other feature relying on BTF (such as fentry/fexit programs, struct_ops)
|
/linux/tools/testing/selftests/bpf/prog_tests/ |
H A D | test_struct_ops_module.c | 69 skel->struct_ops.testmod_1->data = 13; in test_struct_ops_load() 70 skel->struct_ops.testmod_1->test_2 = skel->progs.test_3; in test_struct_ops_load() 113 skel->struct_ops.testmod_zeroed->zeroed = 0; in test_struct_ops_not_zeroed() 115 skel->struct_ops.testmod_zeroed->zeroed_op = NULL; in test_struct_ops_not_zeroed() 131 skel->struct_ops.testmod_zeroed->zeroed = 0xdeadbeef; in test_struct_ops_not_zeroed() 132 skel->struct_ops.testmod_zeroed->zeroed_op = NULL; in test_struct_ops_not_zeroed() 146 skel->struct_ops.testmod_zeroed->zeroed_op = skel->progs.test_3; in test_struct_ops_not_zeroed() 194 skel->struct_ops.ops->test_1 = NULL; in test_struct_ops_nulled_out_cb() 207 /* validate that libbpf generates reasonable error message if struct_ops is 208 * not referenced in any struct_ops ma [all...] |
H A D | struct_ops_autocreate.c | 29 ASSERT_HAS_SUBSTR(log, "libbpf: struct_ops init_kern", "init_kern message"); in cant_load_full_object() 128 skel->struct_ops.testmod_1->test_1 = skel->progs.foo; in autoload_and_shadow_vars()
|
/linux/Documentation/bpf/libbpf/ |
H A D | program_types.rst | 172 | ``BPF_PROG_TYPE_STRUCT_OPS`` | | ``struct_ops+`` [#struct_ops]_ | | 174 | | | ``struct_ops.s+`` [#struct_ops]_ | Yes | 230 .. [#struct_ops] The ``struct_ops`` attach format supports ``struct_ops[.s]/<name>`` convention, 232 ``SEC("struct_ops[.s]")``. The attachments are defined in a struct initializer 233 that is tagged with ``SEC(".struct_ops[.link]")``.
|
/linux/Documentation/hid/ |
H A D | hid-bpf.rst | 152 HID-BPF is built "on top" of BPF, meaning that we use bpf struct_ops method to 157 1. event processing/filtering with ``SEC("struct_ops/hid_device_event")`` in libbpf 159 3. change of the report descriptor with ``SEC("struct_ops/hid_rdesc_fixup")`` or 160 ``SEC("struct_ops.s/hid_rdesc_fixup")`` in libbpf 176 Note that ``hid_rdesc_fixup`` can be declared as sleepable (``SEC("struct_ops.s/hid_rdesc_fixup")``). 182 Available ``struct_ops`` for HID-BPF: 195 Available API that can be used in all HID-BPF struct_ops programs: 201 Available API that can be used in syscall HID-BPF programs or in sleepable HID-BPF struct_ops programs: 249 programs can be attached to the same device. If a HID-BPF struct_ops has a 251 kernel will return `-EINVAL` when attaching the struct_ops [all...] |
/linux/tools/sched_ext/ |
H A D | scx_qmap.c | 101 skel->struct_ops.qmap_ops->exit_dump_len = strtoul(optarg, NULL, 0); in main() 107 skel->struct_ops.qmap_ops->flags |= SCX_OPS_SWITCH_PARTIAL; in main()
|
H A D | README.md | 112 SEC(".struct_ops.link")
|
/linux/tools/testing/selftests/sched_ext/ |
H A D | numa.c | 20 skel->struct_ops.numa_ops->flags = SCX_OPS_BUILTIN_IDLE_PER_NODE; in setup()
|
H A D | init_enable_count.c | 32 skel->struct_ops.init_enable_count_ops->flags |= SCX_OPS_SWITCH_PARTIAL; in run_test() 52 SCX_FAIL_IF(!link, "Failed to attach struct_ops"); in run_test() 67 SCX_FAIL_IF(!link, "Failed to attach struct_ops"); in run_test()
|
/linux/samples/hid/ |
H A D | hid_mouse.c | 115 skel->struct_ops.mouse_invert->hid_id = hid_id; in main()
|
H A D | hid_surface_dial.c | 175 skel->struct_ops.surface_dial->hid_id = hid_id; in main()
|
/linux/Documentation/bpf/ |
H A D | bpf_licensing.rst | 79 Congestion Control (struct_ops), as of Aug 2021 - are required to be GPL 83 and struct_ops BPF programs are implicitly calling "GPL only" functions.
|
/linux/tools/sched_ext/include/scx/ |
H A D | user_exit_info.h | 64 u32 __len = (__skel)->struct_ops.__ops_name->exit_dump_len ?: UEI_DUMP_DFL_LEN; \
|
H A D | compat.h | 163 __skel->struct_ops.__ops_name->hotplug_seq = scx_hotplug_seq(); \ 195 SCX_BUG_ON(!__link, "Failed to attach struct_ops"); \
|
/linux/include/linux/ |
H A D | bpf_types.h | 155 BPF_LINK_TYPE(BPF_LINK_TYPE_STRUCT_OPS, struct_ops)
|
/linux/tools/bpf/bpftool/bash-completion/ |
H A D | bpftool | 495 cgroup/setsockopt cgroup/sock_release struct_ops \ 603 struct_ops) 612 _bpftool_get_map_ids_for_type struct_ops 615 _bpftool_get_map_names_for_type struct_ops
|
/linux/Documentation/scheduler/ |
H A D | sched-ext.rst | 140 * simple_select_cpu() struct_ops prog. 165 * if the implementation just didn't define the simple_enqueue struct_ops 187 SEC(".struct_ops")
|
/linux/tools/bpf/bpftool/ |
H A D | link.c | 541 info->struct_ops.map_id); in show_link_close_json() 602 printf("map %u ", info->struct_ops.map_id); in show_link_header_plain()
|
/linux/kernel/bpf/ |
H A D | bpf_struct_ops.c | 152 * struct_ops type. 158 * Each member in the struct_ops type has a struct bpf_struct_ops_arg_info 161 * BPF struct_ops program assigned to the member. Here, we only care about 165 * prog->aux->ctx_arg_info of BPF struct_ops programs and passed to the 346 pr_warn("struct_ops name %s is too long\n", in bpf_struct_ops_desc_init() 353 pr_warn("struct_ops for %s has no cfi_stubs\n", st_ops->name); in bpf_struct_ops_desc_init() 509 * many sockets are still utilizing this struct_ops for TCP in bpf_struct_ops_map_sys_lookup_elem() 887 /* Error during st_ops->reg(). Can happen if this struct_ops needs to be in bpf_struct_ops_map_update_elem() 889 * there was a race in registering the struct_ops (under the same name) to in bpf_struct_ops_map_update_elem() 890 * a sub-system through different struct_ops' in bpf_struct_ops_map_update_elem() [all...] |
H A D | btf.c | 4258 static const struct btf_kind_operations struct_ops = { variable 5191 [BTF_KIND_STRUCT] = &struct_ops, 5192 [BTF_KIND_UNION] = &struct_ops, 9551 return check_btf_kconfigs(st_ops->owner, "struct_ops"); in __register_bpf_struct_ops()
|
/linux/tools/include/uapi/linux/ |
H A D | bpf.h | 1749 __u32 map_fd; /* struct_ops to attach */ 1830 /* new struct_ops map fd to update link with */ 6735 } struct_ops; member
|
/linux/include/uapi/linux/ |
H A D | bpf.h | 1749 __u32 map_fd; /* struct_ops to attach */ 1830 /* new struct_ops map fd to update link with */ 6735 } struct_ops; member
|
/linux/net/sched/ |
H A D | Kconfig | 410 This option allows BPF-based queueing disiplines. With BPF struct_ops,
|