| /linux/tools/testing/selftests/bpf/prog_tests/ |
| H A D | user_ringbuf.c | 31 static int write_samples(struct user_ring_buffer *ringbuf, uint32_t num_samples) in write_samples() argument 40 entry = user_ring_buffer__reserve(ringbuf, sizeof(*entry)); in write_samples() 57 user_ring_buffer__discard(ringbuf, entry); in write_samples() 61 user_ring_buffer__submit(ringbuf, entry); in write_samples() 238 struct user_ring_buffer *ringbuf; in test_user_ringbuf_post_misaligned() local 242 err = load_skel_create_user_ringbuf(&skel, &ringbuf); in test_user_ringbuf_post_misaligned() 247 user_ring_buffer__free(ringbuf); in test_user_ringbuf_post_misaligned() 254 struct user_ring_buffer *ringbuf; in test_user_ringbuf_post_producer_wrong_offset() local 258 err = load_skel_create_user_ringbuf(&skel, &ringbuf); in test_user_ringbuf_post_producer_wrong_offset() 263 user_ring_buffer__free(ringbuf); in test_user_ringbuf_post_producer_wrong_offset() [all …]
|
| H A D | ringbuf.c | 68 static struct ring_buffer *ringbuf; variable 87 return (void *)(long)ring_buffer__poll(ringbuf, timeout); in poll_thread() 101 skel->maps.ringbuf.max_entries = 0x40000; in ringbuf_write_subtest() 107 rb_fd = skel->maps.ringbuf.map_fd; in ringbuf_write_subtest() 117 ringbuf = ring_buffer__new(rb_fd, process_sample, NULL, NULL); in ringbuf_write_subtest() 118 if (!ASSERT_OK_PTR(ringbuf, "ringbuf_new")) in ringbuf_write_subtest() 137 ring_buffer__free(ringbuf); in ringbuf_write_subtest() 158 skel->maps.ringbuf.max_entries = page_size; in ringbuf_subtest() 164 rb_fd = skel->maps.ringbuf.map_fd; in ringbuf_subtest() 213 ringbuf = ring_buffer__new(skel->maps.ringbuf.map_fd, in ringbuf_subtest() [all …]
|
| H A D | ringbuf_multi.c | 44 struct ring_buffer *ringbuf = NULL; in test_ringbuf_multi() local 84 ringbuf = ring_buffer__new(bpf_map__fd(skel->maps.ringbuf1), in test_ringbuf_multi() 86 if (CHECK(!ringbuf, "ringbuf_create", "failed to create ringbuf\n")) in test_ringbuf_multi() 90 ring = ring_buffer__ring(ringbuf, 0); in test_ringbuf_multi() 94 ring = ring_buffer__ring(ringbuf, 1); in test_ringbuf_multi() 97 err = ring_buffer__add(ringbuf, bpf_map__fd(skel->maps.ringbuf2), in test_ringbuf_multi() 103 ring = ring_buffer__ring(ringbuf, 0); in test_ringbuf_multi() 126 err = ring_buffer__poll(ringbuf, -1); in test_ringbuf_multi() 131 err = ring_buffer__poll(ringbuf, 0); in test_ringbuf_multi() 145 ring_buffer__free(ringbuf); in test_ringbuf_multi()
|
| H A D | test_ima.c | 68 struct ring_buffer *ringbuf = NULL; in test_test_ima() local 80 ringbuf = ring_buffer__new(bpf_map__fd(skel->maps.ringbuf), in test_test_ima() 82 if (!ASSERT_OK_PTR(ringbuf, "ringbuf")) in test_test_ima() 108 err = ring_buffer__consume(ringbuf); in test_test_ima() 123 err = ring_buffer__consume(ringbuf); in test_test_ima() 154 err = ring_buffer__consume(ringbuf); in test_test_ima() 181 err = ring_buffer__consume(ringbuf); in test_test_ima() 212 err = ring_buffer__consume(ringbuf); in test_test_ima() 230 err = ring_buffer__consume(ringbuf); in test_test_ima() 238 ring_buffer__free(ringbuf); in test_test_ima()
|
| H A D | unpriv_bpf_disabled.c | 64 struct ring_buffer *ringbuf = NULL; in test_unpriv_bpf_disabled_positive() local 83 ringbuf = ring_buffer__new(bpf_map__fd(skel->maps.ringbuf), process_ringbuf, NULL, NULL); in test_unpriv_bpf_disabled_positive() 84 if (!ASSERT_OK_PTR(ringbuf, "ring_buffer__new")) in test_unpriv_bpf_disabled_positive() 92 ASSERT_EQ(ring_buffer__consume(ringbuf), 1, "ring_buffer__consume"); in test_unpriv_bpf_disabled_positive() 138 if (ringbuf) in test_unpriv_bpf_disabled_positive() 139 ring_buffer__free(ringbuf); in test_unpriv_bpf_disabled_positive() 252 map_fds[5] = bpf_map__fd(skel->maps.ringbuf); in test_unpriv_bpf_disabled()
|
| /linux/tools/testing/selftests/bpf/progs/ |
| H A D | test_ringbuf_overwrite.c | 13 } ringbuf SEC(".maps"); 44 rec1 = bpf_ringbuf_reserve(&ringbuf, LEN1, 0); in test_overwrite_ringbuf() 50 rec2 = bpf_ringbuf_reserve(&ringbuf, LEN2, 0); in test_overwrite_ringbuf() 57 rec3 = bpf_ringbuf_reserve(&ringbuf, LEN3, 0); in test_overwrite_ringbuf() 68 rec4 = bpf_ringbuf_reserve(&ringbuf, LEN4, 0); in test_overwrite_ringbuf() 80 rec5 = bpf_ringbuf_reserve(&ringbuf, LEN5, 0); in test_overwrite_ringbuf() 91 ring_size = bpf_ringbuf_query(&ringbuf, BPF_RB_RING_SIZE); in test_overwrite_ringbuf() 92 avail_data = bpf_ringbuf_query(&ringbuf, BPF_RB_AVAIL_DATA); in test_overwrite_ringbuf() 93 cons_pos = bpf_ringbuf_query(&ringbuf, BPF_RB_CONS_POS); in test_overwrite_ringbuf() 94 prod_pos = bpf_ringbuf_query(&ringbuf, BPF_RB_PROD_POS); in test_overwrite_ringbuf() [all …]
|
| H A D | dynptr_fail.c | 58 } ringbuf SEC(".maps"); 86 bpf_ringbuf_reserve_dynptr(&ringbuf, val, 0, &ptr); in ringbuf_missing_release1() 100 bpf_ringbuf_reserve_dynptr(&ringbuf, sizeof(*sample), 0, &ptr1); in ringbuf_missing_release2() 101 bpf_ringbuf_reserve_dynptr(&ringbuf, sizeof(*sample), 0, &ptr2); in ringbuf_missing_release2() 121 bpf_ringbuf_reserve_dynptr(&ringbuf, val, 0, &ptr); in missing_release_callback_fn() 158 bpf_ringbuf_reserve_dynptr(&ringbuf, sizeof(read_data), 0, &ptr); in use_after_invalid() 170 /* Can't call non-dynptr ringbuf APIs on a dynptr ringbuf sample */ 178 bpf_ringbuf_reserve_dynptr(&ringbuf, sizeof(*sample), 0, &ptr); in ringbuf_invalid_api() 201 bpf_ringbuf_reserve_dynptr(&ringbuf, va in add_dynptr_to_map1() [all...] |
| H A D | test_ringbuf.c | 19 } ringbuf SEC(".maps"); 48 sample = bpf_ringbuf_reserve(&ringbuf, sizeof(*sample), 0); in test_ringbuf() 63 bpf_ringbuf_output(&ringbuf, sample, sizeof(*sample), flags); in test_ringbuf() 71 avail_data = bpf_ringbuf_query(&ringbuf, BPF_RB_AVAIL_DATA); in test_ringbuf() 72 ring_size = bpf_ringbuf_query(&ringbuf, BPF_RB_RING_SIZE); in test_ringbuf() 73 cons_pos = bpf_ringbuf_query(&ringbuf, BPF_RB_CONS_POS); in test_ringbuf() 74 prod_pos = bpf_ringbuf_query(&ringbuf, BPF_RB_PROD_POS); in test_ringbuf()
|
| H A D | ringbuf_bench.c | 14 } ringbuf SEC(".maps"); 36 sz = bpf_ringbuf_query(&ringbuf, BPF_RB_AVAIL_DATA); in get_flags() 48 sample = bpf_ringbuf_reserve(&ringbuf, in bench_ringbuf() 63 if (bpf_ringbuf_output(&ringbuf, &sample_val, in bench_ringbuf()
|
| H A D | test_ringbuf_write.c | 11 } ringbuf SEC(".maps"); 29 sample1 = bpf_ringbuf_reserve(&ringbuf, 0x30000, 0); in test_ringbuf_write() 33 sample2 = bpf_ringbuf_reserve(&ringbuf, 0x30000, 0); in test_ringbuf_write()
|
| H A D | dynptr_success.c | 28 } ringbuf SEC(".maps"); 48 bpf_ringbuf_reserve_dynptr(&ringbuf, sizeof(write_data), 0, &ptr); in test_read_write() 150 err = bpf_ringbuf_reserve_dynptr(&ringbuf, val, 0, &ptr); in test_ringbuf() 280 err = bpf_ringbuf_reserve_dynptr(&ringbuf, bytes, 0, &ptr); in test_adjust() 332 if (bpf_ringbuf_reserve_dynptr(&ringbuf, size, 0, &ptr)) { in test_adjust_err() 389 if (bpf_ringbuf_reserve_dynptr(&ringbuf, size, 0, &ptr)) { in test_zero_size_dynptr() 440 if (bpf_ringbuf_reserve_dynptr(&ringbuf, size, 123, &ptr1) != -EINVAL) { in test_dynptr_is_null() 452 if (bpf_ringbuf_reserve_dynptr(&ringbuf, size, 0, &ptr2)) { in test_dynptr_is_null() 502 if (bpf_ringbuf_reserve_dynptr(&ringbuf, 64, 0, &ptr3)) { in test_dynptr_is_rdonly() 646 bpf_ringbuf_reserve_dynptr(&ringbuf, sz, 0, &src); in test_dynptr_copy() [all …]
|
| H A D | test_ringbuf_n.c | 22 } ringbuf SEC(".maps"); 36 sample = bpf_ringbuf_reserve(&ringbuf, sizeof(*sample), 0); in test_ringbuf_n()
|
| H A D | test_ringbuf_map_key.c | 19 } ringbuf SEC(".maps"); 44 sample = bpf_ringbuf_reserve(&ringbuf, sizeof(*sample), 0); in test_ringbuf_mem_map_key()
|
| H A D | ima.c | 17 } ringbuf SEC(".maps"); 44 sample = bpf_ringbuf_reserve(&ringbuf, sizeof(u64), 0); in ima_test_common()
|
| H A D | test_unpriv_bpf_disabled.c | 52 } ringbuf SEC(".maps"); 72 bpf_ringbuf_output(&ringbuf, &ringbuf_val, sizeof(ringbuf_val), 0); in sys_nanosleep_enter()
|
| H A D | user_ringbuf_fail.c | 25 } ringbuf SEC(".maps"); 205 bpf_ringbuf_reserve_dynptr(&ringbuf, 8, 0, dynptr); in try_reinit_dynptr_ringbuf()
|
| H A D | prepare.c | 13 } ringbuf SEC(".maps");
|
| H A D | test_d_path_check_types.c | 12 } ringbuf SEC(".maps");
|
| H A D | test_kfunc_dynptr_param.c | 24 } ringbuf SEC(".maps");
|
| H A D | verifier_iterating_callbacks.c | 15 } ringbuf SEC(".maps"); 145 bpf_user_ringbuf_drain(&ringbuf, ringbuf_drain_cb, &loop_ctx, 0); in unsafe_ringbuf_drain()
|
| /linux/tools/testing/selftests/bpf/benchs/ |
| H A D | bench_ringbufs.c | 163 struct ring_buffer *ringbuf; member 180 struct bpf_map *ringbuf; in ringbuf_setup_skeleton() local 199 ringbuf = skel->maps.ringbuf; in ringbuf_setup_skeleton() 201 flags = bpf_map__map_flags(ringbuf) | BPF_F_RB_OVERWRITE; in ringbuf_setup_skeleton() 202 bpf_map__set_map_flags(ringbuf, flags); in ringbuf_setup_skeleton() 205 bpf_map__set_max_entries(ringbuf, args.ringbuf_sz); in ringbuf_setup_skeleton() 229 map_fd = bpf_map__fd(ctx->skel->maps.ringbuf); in ringbuf_libbpf_setup() 230 ctx->ringbuf = ring_buffer__new(map_fd, buf_process_sample, NULL, NULL); in ringbuf_libbpf_setup() 231 if (!ctx->ringbuf) { in ringbuf_libbpf_setup() 247 while (ring_buffer__poll(ctx->ringbuf, -1) >= 0) { in ringbuf_libbpf_consumer() [all …]
|
| /linux/Documentation/bpf/ |
| H A D | other.rst | 8 ringbuf
|
| /linux/drivers/gpu/drm/panthor/ |
| H A D | panthor_sched.c | 394 struct panthor_kernel_bo *ringbuf; member 830 } ringbuf; member 931 panthor_kernel_bo_destroy(queue->ringbuf); in group_free_queue() 1197 cs_iface->input->ringbuf_base = panthor_kernel_bo_gpuva(queue->ringbuf); in cs_slot_prog_locked() 1198 cs_iface->input->ringbuf_size = panthor_kernel_bo_size(queue->ringbuf); in cs_slot_prog_locked() 1547 if (cs_extract >= job->ringbuf.end) in cs_slot_process_fault_event_locked() 1550 if (cs_extract < job->ringbuf.start) in cs_slot_process_fault_event_locked() 3136 u64 ringbuf_size = panthor_kernel_bo_size(queue->ringbuf); in copy_instrs_to_ringbuf() 3137 u64 start = job->ringbuf.start & (ringbuf_size - 1); in copy_instrs_to_ringbuf() 3150 memcpy(queue->ringbuf->kmap + start, instrs->buffer, written); in copy_instrs_to_ringbuf() [all …]
|
| /linux/tools/lib/bpf/ |
| H A D | Build | 3 btf_dump.o ringbuf.o strset.o linker.o gen_loader.o relo_core.o \
|
| /linux/kernel/bpf/ |
| H A D | Makefile | 12 obj-$(CONFIG_BPF_SYSCALL) += local_storage.o queue_stack_maps.o ringbuf.o bpf_insn_array.o
|