/kernel/linux/linux-6.6/kernel/bpf/ |
H A D | ringbuf.c | 298 unsigned long cons_pos, prod_pos; in ringbuf_avail_data_sz() local 300 cons_pos = smp_load_acquire(&rb->consumer_pos); in ringbuf_avail_data_sz() 302 return prod_pos - cons_pos; in ringbuf_avail_data_sz() 407 unsigned long cons_pos, prod_pos, new_prod_pos, flags; in __bpf_ringbuf_reserve() local 418 cons_pos = smp_load_acquire(&rb->consumer_pos); in __bpf_ringbuf_reserve() 433 if (new_prod_pos - cons_pos > rb->mask) { in __bpf_ringbuf_reserve() 472 unsigned long rec_pos, cons_pos; in bpf_ringbuf_commit() local 490 cons_pos = smp_load_acquire(&rb->consumer_pos) & rb->mask; in bpf_ringbuf_commit() 494 else if (cons_pos == rec_pos && !(flags & BPF_RB_NO_WAKEUP)) in bpf_ringbuf_commit() 661 u64 cons_pos, prod_po in __bpf_user_ringbuf_peek() local [all...] |
/kernel/linux/linux-6.6/tools/lib/bpf/ |
H A D | ringbuf.c | 232 unsigned long cons_pos, prod_pos; in ringbuf_process_ring() local 236 cons_pos = smp_load_acquire(r->consumer_pos); in ringbuf_process_ring() 240 while (cons_pos < prod_pos) { in ringbuf_process_ring() 241 len_ptr = r->data + (cons_pos & r->mask); in ringbuf_process_ring() 249 cons_pos += roundup_len(len); in ringbuf_process_ring() 257 cons_pos); in ringbuf_process_ring() 263 smp_store_release(r->consumer_pos, cons_pos); in ringbuf_process_ring() 486 __u64 cons_pos, prod_pos; in user_ring_buffer__reserve() local 496 cons_pos = smp_load_acquire(rb->consumer_pos); in user_ring_buffer__reserve() 501 avail_size = max_size - (prod_pos - cons_pos); in user_ring_buffer__reserve() [all...] |
/kernel/linux/linux-5.10/tools/lib/bpf/ |
H A D | ringbuf.c | 214 unsigned long cons_pos, prod_pos; in ringbuf_process_ring() local 218 cons_pos = smp_load_acquire(r->consumer_pos); in ringbuf_process_ring() 222 while (cons_pos < prod_pos) { in ringbuf_process_ring() 223 len_ptr = r->data + (cons_pos & r->mask); in ringbuf_process_ring() 231 cons_pos += roundup_len(len); in ringbuf_process_ring() 239 cons_pos); in ringbuf_process_ring() 245 smp_store_release(r->consumer_pos, cons_pos); in ringbuf_process_ring()
|
/kernel/linux/linux-5.10/kernel/bpf/ |
H A D | ringbuf.c | 267 unsigned long cons_pos, prod_pos; in ringbuf_avail_data_sz() local 269 cons_pos = smp_load_acquire(&rb->consumer_pos); in ringbuf_avail_data_sz() 271 return prod_pos - cons_pos; in ringbuf_avail_data_sz() 328 unsigned long cons_pos, prod_pos, new_prod_pos, pend_pos, flags; in __bpf_ringbuf_reserve() local 339 cons_pos = smp_load_acquire(&rb->consumer_pos); in __bpf_ringbuf_reserve() 369 if (new_prod_pos - cons_pos > rb->mask || in __bpf_ringbuf_reserve() 409 unsigned long rec_pos, cons_pos; in bpf_ringbuf_commit() local 427 cons_pos = smp_load_acquire(&rb->consumer_pos) & rb->mask; in bpf_ringbuf_commit() 431 else if (cons_pos == rec_pos && !(flags & BPF_RB_NO_WAKEUP)) in bpf_ringbuf_commit()
|
/kernel/linux/linux-5.10/tools/testing/selftests/bpf/prog_tests/ |
H A D | ringbuf.c | 116 CHECK(skel->bss->cons_pos != 0, in test_ringbuf() 118 0L, skel->bss->cons_pos); in test_ringbuf() 148 CHECK(skel->bss->cons_pos != 3 * rec_sz, in test_ringbuf() 150 3L * rec_sz, skel->bss->cons_pos); in test_ringbuf()
|
/kernel/linux/linux-5.10/tools/testing/selftests/bpf/progs/ |
H A D | test_ringbuf.c | 33 long cons_pos = 0; variable 74 cons_pos = bpf_ringbuf_query(&ringbuf, BPF_RB_CONS_POS); in test_ringbuf()
|
/kernel/linux/linux-6.6/tools/testing/selftests/bpf/progs/ |
H A D | test_ringbuf.c | 33 long cons_pos = 0; variable 73 cons_pos = bpf_ringbuf_query(&ringbuf, BPF_RB_CONS_POS); in test_ringbuf()
|
/kernel/linux/linux-5.10/tools/testing/selftests/bpf/benchs/ |
H A D | bench_ringbufs.c | 297 unsigned long cons_pos, prod_pos; in ringbuf_custom_process_ring() local 301 cons_pos = smp_load_acquire(r->consumer_pos); in ringbuf_custom_process_ring() 305 while (cons_pos < prod_pos) { in ringbuf_custom_process_ring() 306 len_ptr = r->data + (cons_pos & r->mask); in ringbuf_custom_process_ring() 314 cons_pos += roundup_len(len); in ringbuf_custom_process_ring() 319 smp_store_release(r->consumer_pos, cons_pos); in ringbuf_custom_process_ring()
|
/kernel/linux/linux-6.6/tools/testing/selftests/bpf/benchs/ |
H A D | bench_ringbufs.c | 297 unsigned long cons_pos, prod_pos; in ringbuf_custom_process_ring() local 301 cons_pos = smp_load_acquire(r->consumer_pos); in ringbuf_custom_process_ring() 305 while (cons_pos < prod_pos) { in ringbuf_custom_process_ring() 306 len_ptr = r->data + (cons_pos & r->mask); in ringbuf_custom_process_ring() 314 cons_pos += roundup_len(len); in ringbuf_custom_process_ring() 319 smp_store_release(r->consumer_pos, cons_pos); in ringbuf_custom_process_ring()
|
/kernel/linux/linux-6.6/tools/testing/selftests/bpf/prog_tests/ |
H A D | ringbuf.c | 106 /* good read/write cons_pos */ in ringbuf_subtest() 172 CHECK(skel->bss->cons_pos != 0, in ringbuf_subtest() 174 0L, skel->bss->cons_pos); in ringbuf_subtest() 204 CHECK(skel->bss->cons_pos != 3 * rec_sz, in ringbuf_subtest() 206 3L * rec_sz, skel->bss->cons_pos); in ringbuf_subtest()
|