Symbol: spmc
arch/powerpc/include/asm/kvm_host.h
666
u32 spmc[2];
arch/powerpc/kvm/book3s_hv.c
2285
*val = get_reg_val(id, vcpu->arch.spmc[i]);
arch/powerpc/kvm/book3s_hv.c
2543
vcpu->arch.spmc[i] = set_reg_val(id, *val);
tools/testing/selftests/bpf/libarena/include/libarena/spmc.h
22
int spmc_owned_add(struct spmc __arena *spmc, u64 val);
tools/testing/selftests/bpf/libarena/include/libarena/spmc.h
23
int spmc_owned_remove(struct spmc __arena *spmc, u64 *val);
tools/testing/selftests/bpf/libarena/include/libarena/spmc.h
24
int spmc_steal(struct spmc __arena *spmc, u64 *val);
tools/testing/selftests/bpf/libarena/include/libarena/spmc.h
26
struct spmc __arena *spmc_create(void);
tools/testing/selftests/bpf/libarena/include/libarena/spmc.h
27
int spmc_destroy(struct spmc __arena *spmc);
tools/testing/selftests/bpf/libarena/selftests/test_parallel_spmc.bpf.c
136
spmc = spmc_create();
tools/testing/selftests/bpf/libarena/selftests/test_parallel_spmc.bpf.c
137
if (!spmc)
tools/testing/selftests/bpf/libarena/selftests/test_parallel_spmc.bpf.c
147
ret = spmc_destroy(spmc);
tools/testing/selftests/bpf/libarena/selftests/test_parallel_spmc.bpf.c
148
spmc = NULL;
tools/testing/selftests/bpf/libarena/selftests/test_parallel_spmc.bpf.c
230
ret = spmc_owned_remove(spmc, &val);
tools/testing/selftests/bpf/libarena/selftests/test_parallel_spmc.bpf.c
282
ret = spmc_steal(spmc, &val);
tools/testing/selftests/bpf/libarena/selftests/test_parallel_spmc.bpf.c
284
ret = spmc_owned_remove(spmc, &val);
tools/testing/selftests/bpf/libarena/selftests/test_parallel_spmc.bpf.c
31
static struct spmc __arena *spmc;
tools/testing/selftests/bpf/libarena/selftests/test_parallel_spmc.bpf.c
320
ret = spmc_owned_add(spmc, i);
tools/testing/selftests/bpf/libarena/selftests/test_parallel_spmc.bpf.c
426
ret = spmc_owned_add(spmc, i);
tools/testing/selftests/bpf/libarena/selftests/test_parallel_spmc.bpf.c
441
ret = spmc_owned_add(spmc, i);
tools/testing/selftests/bpf/libarena/selftests/test_parallel_spmc.bpf.c
447
if (spmc->cur->order > TEST_SPMC_RESIZE_ORDER)
tools/testing/selftests/bpf/libarena/selftests/test_parallel_spmc.bpf.c
493
ret = spmc_steal(spmc, &val);
tools/testing/selftests/bpf/libarena/selftests/test_parallel_spmc.bpf.c
562
ret = spmc_owned_add(spmc, base + i);
tools/testing/selftests/bpf/libarena/selftests/test_parallel_spmc.bpf.c
584
ret = spmc_owned_remove(spmc, &val);
tools/testing/selftests/bpf/libarena/selftests/test_parallel_spmc.bpf.c
648
ret = spmc_steal(spmc, &val);
tools/testing/selftests/bpf/libarena/selftests/test_spmc.bpf.c
103
ret = spmc_owned_remove(spmc, &newval);
tools/testing/selftests/bpf/libarena/selftests/test_spmc.bpf.c
111
spmc_destroy(spmc);
tools/testing/selftests/bpf/libarena/selftests/test_spmc.bpf.c
123
struct spmc __arena *spmc = spmc_create();
tools/testing/selftests/bpf/libarena/selftests/test_spmc.bpf.c
125
if (!spmc)
tools/testing/selftests/bpf/libarena/selftests/test_spmc.bpf.c
131
ret = spmc_owned_add(spmc, val);
tools/testing/selftests/bpf/libarena/selftests/test_spmc.bpf.c
139
ret = spmc_owned_remove(spmc, &newval);
tools/testing/selftests/bpf/libarena/selftests/test_spmc.bpf.c
152
spmc_destroy(spmc);
tools/testing/selftests/bpf/libarena/selftests/test_spmc.bpf.c
163
struct spmc __arena *spmc = spmc_create();
tools/testing/selftests/bpf/libarena/selftests/test_spmc.bpf.c
165
if (!spmc)
tools/testing/selftests/bpf/libarena/selftests/test_spmc.bpf.c
171
ret = spmc_owned_add(spmc, val);
tools/testing/selftests/bpf/libarena/selftests/test_spmc.bpf.c
179
ret = spmc_steal(spmc, &newval);
tools/testing/selftests/bpf/libarena/selftests/test_spmc.bpf.c
191
spmc_destroy(spmc);
tools/testing/selftests/bpf/libarena/selftests/test_spmc.bpf.c
20
struct spmc __arena *spmc = spmc_create();
tools/testing/selftests/bpf/libarena/selftests/test_spmc.bpf.c
22
if (!spmc)
tools/testing/selftests/bpf/libarena/selftests/test_spmc.bpf.c
25
ret = spmc_owned_remove(spmc, &val);
tools/testing/selftests/bpf/libarena/selftests/test_spmc.bpf.c
29
spmc_destroy(spmc);
tools/testing/selftests/bpf/libarena/selftests/test_spmc.bpf.c
40
struct spmc __arena *spmc = spmc_create();
tools/testing/selftests/bpf/libarena/selftests/test_spmc.bpf.c
42
if (!spmc)
tools/testing/selftests/bpf/libarena/selftests/test_spmc.bpf.c
45
ret = spmc_steal(spmc, &val);
tools/testing/selftests/bpf/libarena/selftests/test_spmc.bpf.c
49
spmc_destroy(spmc);
tools/testing/selftests/bpf/libarena/selftests/test_spmc.bpf.c
60
struct spmc __arena *spmc = spmc_create();
tools/testing/selftests/bpf/libarena/selftests/test_spmc.bpf.c
62
if (!spmc)
tools/testing/selftests/bpf/libarena/selftests/test_spmc.bpf.c
68
ret = spmc_owned_add(spmc, val);
tools/testing/selftests/bpf/libarena/selftests/test_spmc.bpf.c
72
ret = spmc_steal(spmc, &newval);
tools/testing/selftests/bpf/libarena/selftests/test_spmc.bpf.c
80
spmc_destroy(spmc);
tools/testing/selftests/bpf/libarena/selftests/test_spmc.bpf.c
91
struct spmc __arena *spmc = spmc_create();
tools/testing/selftests/bpf/libarena/selftests/test_spmc.bpf.c
93
if (!spmc)
tools/testing/selftests/bpf/libarena/selftests/test_spmc.bpf.c
99
ret = spmc_owned_add(spmc, val);
tools/testing/selftests/bpf/libarena/src/spmc.bpf.c
100
smp_store_release(&spmc->bottom, b + 1);
tools/testing/selftests/bpf/libarena/src/spmc.bpf.c
107
int spmc_owned_remove(struct spmc __arena *spmc, u64 *val)
tools/testing/selftests/bpf/libarena/src/spmc.bpf.c
115
if (unlikely(!spmc || !val))
tools/testing/selftests/bpf/libarena/src/spmc.bpf.c
118
b = READ_ONCE(spmc->bottom) - 1;
tools/testing/selftests/bpf/libarena/src/spmc.bpf.c
119
WRITE_ONCE(spmc->bottom, b);
tools/testing/selftests/bpf/libarena/src/spmc.bpf.c
122
t = READ_ONCE(spmc->top);
tools/testing/selftests/bpf/libarena/src/spmc.bpf.c
123
arr = READ_ONCE(spmc->cur);
tools/testing/selftests/bpf/libarena/src/spmc.bpf.c
127
WRITE_ONCE(spmc->bottom, t);
tools/testing/selftests/bpf/libarena/src/spmc.bpf.c
137
if (cmpxchg(&spmc->top, t, t + 1) != t)
tools/testing/selftests/bpf/libarena/src/spmc.bpf.c
140
WRITE_ONCE(spmc->bottom, t + 1);
tools/testing/selftests/bpf/libarena/src/spmc.bpf.c
151
int spmc_steal(struct spmc __arena *spmc, u64 *val)
tools/testing/selftests/bpf/libarena/src/spmc.bpf.c
158
if (unlikely(!spmc || !val))
tools/testing/selftests/bpf/libarena/src/spmc.bpf.c
167
t = smp_load_acquire(&spmc->top);
tools/testing/selftests/bpf/libarena/src/spmc.bpf.c
168
b = smp_load_acquire(&spmc->bottom);
tools/testing/selftests/bpf/libarena/src/spmc.bpf.c
174
arr = smp_load_acquire(&spmc->cur);
tools/testing/selftests/bpf/libarena/src/spmc.bpf.c
177
if (cmpxchg(&spmc->top, t, t + 1) != t)
tools/testing/selftests/bpf/libarena/src/spmc.bpf.c
187
struct spmc __arena *spmc_create(void)
tools/testing/selftests/bpf/libarena/src/spmc.bpf.c
194
struct spmc __arena *volatile spmc;
tools/testing/selftests/bpf/libarena/src/spmc.bpf.c
197
spmc = arena_malloc(sizeof(*spmc));
tools/testing/selftests/bpf/libarena/src/spmc.bpf.c
198
if (!spmc)
tools/testing/selftests/bpf/libarena/src/spmc.bpf.c
201
spmc->bottom = 0;
tools/testing/selftests/bpf/libarena/src/spmc.bpf.c
202
spmc->top = 0;
tools/testing/selftests/bpf/libarena/src/spmc.bpf.c
205
spmc->arr[i].data = NULL;
tools/testing/selftests/bpf/libarena/src/spmc.bpf.c
206
spmc->arr[i].order = i;
tools/testing/selftests/bpf/libarena/src/spmc.bpf.c
209
ret = spmc_order_init((struct spmc __arena *)spmc, 0);
tools/testing/selftests/bpf/libarena/src/spmc.bpf.c
211
arena_free(spmc);
tools/testing/selftests/bpf/libarena/src/spmc.bpf.c
215
spmc->cur = &spmc->arr[0];
tools/testing/selftests/bpf/libarena/src/spmc.bpf.c
217
return (struct spmc __arena *)spmc;
tools/testing/selftests/bpf/libarena/src/spmc.bpf.c
221
int spmc_destroy(struct spmc __arena *spmc)
tools/testing/selftests/bpf/libarena/src/spmc.bpf.c
225
if (unlikely(!spmc))
tools/testing/selftests/bpf/libarena/src/spmc.bpf.c
229
arena_free(spmc->arr[i].data);
tools/testing/selftests/bpf/libarena/src/spmc.bpf.c
231
arena_free(spmc);
tools/testing/selftests/bpf/libarena/src/spmc.bpf.c
45
int spmc_order_init(struct spmc __arena *spmc, int order)
tools/testing/selftests/bpf/libarena/src/spmc.bpf.c
47
volatile struct spmc_arr __arena *arr = &spmc->arr[order];
tools/testing/selftests/bpf/libarena/src/spmc.bpf.c
49
if (unlikely(!spmc))
tools/testing/selftests/bpf/libarena/src/spmc.bpf.c
67
int spmc_owned_add(struct spmc __arena *spmc, u64 val)
tools/testing/selftests/bpf/libarena/src/spmc.bpf.c
75
if (unlikely(!spmc))
tools/testing/selftests/bpf/libarena/src/spmc.bpf.c
82
b = smp_load_acquire(&spmc->bottom);
tools/testing/selftests/bpf/libarena/src/spmc.bpf.c
83
t = READ_ONCE(spmc->top);
tools/testing/selftests/bpf/libarena/src/spmc.bpf.c
84
arr = READ_ONCE(spmc->cur);
tools/testing/selftests/bpf/libarena/src/spmc.bpf.c
88
ret = spmc_order_init(spmc, arr->order + 1);
tools/testing/selftests/bpf/libarena/src/spmc.bpf.c
92
newarr = &spmc->arr[arr->order + 1];
tools/testing/selftests/bpf/libarena/src/spmc.bpf.c
95
smp_store_release(&spmc->cur, newarr);