Home
last modified time | relevance | path

Searched refs:ringbuf (Results 1 – 25 of 27) sorted by relevance

12

/linux/tools/testing/selftests/bpf/prog_tests/
H A Duser_ringbuf.c31 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 Dringbuf.c68 static struct ring_buffer *ringbuf;
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 in ringbuf_subtest()
67 static struct ring_buffer *ringbuf; global() variable
[all...]
H A Dringbuf_multi.c44 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 Dtest_ima.c68 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 Dunpriv_bpf_disabled.c64 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 Ddynptr_fail.c58 } 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 Dtest_ringbuf.c19 } 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 Dringbuf_bench.c14 } ringbuf SEC(".maps");
36 sz = bpf_ringbuf_query(&ringbuf, BPF_RB_AVAIL_DATA); in bench_ringbuf()
48 sample = bpf_ringbuf_reserve(&ringbuf, in bench_ringbuf()
63 if (bpf_ringbuf_output(&ringbuf, &sample_val,
H A Dtest_ringbuf_write.c11 } 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 Ddynptr_success.c28 } 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_err()
332 if (bpf_ringbuf_reserve_dynptr(&ringbuf, size, 0, &ptr)) { in test_zero_size_dynptr()
369 * a ringbuf dynptr works in test_zero_size_dynptr()
389 if (bpf_ringbuf_reserve_dynptr(&ringbuf, size, 0, &ptr)) { in test_dynptr_is_null()
440 if (bpf_ringbuf_reserve_dynptr(&ringbuf, size, 123, &ptr1) != -EINVAL) { in test_dynptr_is_rdonly()
452 if (bpf_ringbuf_reserve_dynptr(&ringbuf, size, 0, &ptr2)) { in test_dynptr_is_rdonly()
502 if (bpf_ringbuf_reserve_dynptr(&ringbuf, 6 in test_dynptr_clone()
[all...]
H A Dtest_ringbuf_n.c22 } ringbuf SEC(".maps");
36 sample = bpf_ringbuf_reserve(&ringbuf, sizeof(*sample), 0); in test_ringbuf_n()
H A Dtest_ringbuf_map_key.c19 } ringbuf SEC(".maps");
44 sample = bpf_ringbuf_reserve(&ringbuf, sizeof(*sample), 0); in test_ringbuf_mem_map_key()
H A Dima.c17 } ringbuf SEC(".maps");
44 sample = bpf_ringbuf_reserve(&ringbuf, sizeof(u64), 0); in ima_test_common()
H A Dtest_unpriv_bpf_disabled.c52 } ringbuf SEC(".maps");
72 bpf_ringbuf_output(&ringbuf, &ringbuf_val, sizeof(ringbuf_val), 0); in sys_nanosleep_enter()
H A Duser_ringbuf_fail.c25 } ringbuf SEC(".maps");
205 bpf_ringbuf_reserve_dynptr(&ringbuf, 8, 0, dynptr); in try_reinit_dynptr_ringbuf()
H A Dtest_d_path_check_types.c12 } ringbuf SEC(".maps");
H A Dtest_kfunc_dynptr_param.c24 } ringbuf SEC(".maps");
H A Dverifier_iterating_callbacks.c15 } ringbuf SEC(".maps");
145 bpf_user_ringbuf_drain(&ringbuf, ringbuf_drain_cb, &loop_ctx, 0); in unsafe_ringbuf_drain()
H A Dmap_ptr_kern.c660 struct bpf_ringbuf_map *ringbuf = (struct bpf_ringbuf_map *)&m_ringbuf; in check_ringbuf() local
663 VERIFY(check(&ringbuf->map, map, 0, 0, page_size)); in check_ringbuf()
/linux/tools/testing/selftests/bpf/benchs/
H A Dbench_ringbufs.c19 int ringbuf_sz; /* per-ringbuf, in bytes */
163 struct ring_buffer *ringbuf;
180 struct bpf_map *ringbuf; in ringbuf_libbpf_setup()
199 ringbuf = skel->maps.ringbuf; in ringbuf_libbpf_consumer()
201 flags = bpf_map__map_flags(ringbuf) | BPF_F_RB_OVERWRITE;
202 bpf_map__set_map_flags(ringbuf, flags);
205 bpf_map__set_max_entries(ringbuf, args.ringbuf_sz);
229 map_fd = bpf_map__fd(ctx->skel->maps.ringbuf); in ringbuf_custom_setup()
230 ctx->ringbuf in ringbuf_custom_setup()
124 struct ring_buffer *ringbuf; global() member
213 struct ringbuf_custom ringbuf; global() member
[all...]
/linux/Documentation/bpf/
H A Dother.rst8 ringbuf
H A Dringbuf.rst42 Additionally, given the performance of BPF ringbuf, many use cases would just
84 BPF ringbuf provides two sets of APIs to BPF programs:
194 Another feature that distinguishes BPF ringbuf from perf ring buffer is
/linux/drivers/gpu/drm/panthor/
H A Dpanthor_sched.c394 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/kernel/bpf/
H A DMakefile12 obj-$(CONFIG_BPF_SYSCALL) += local_storage.o queue_stack_maps.o ringbuf.o bpf_insn_array.o
/linux/tools/bpf/bpftool/Documentation/
H A Dbpftool-map.rst57 | | **queue** | **stack** | **sk_storage** | **struct_ops** | **ringbuf** | **inode_storage**

12