ptr_ring
struct ptr_ring *r = arg;
struct ptr_ring ring;
struct ptr_ring *tap_get_ptr_ring(struct file *file)
struct ptr_ring **rings;
struct ptr_ring tx_ring;
struct ptr_ring **rings;
struct ptr_ring *tun_get_tx_ring(struct file *file)
struct ptr_ring xdp_ring;
struct ptr_ring ring;
struct ptr_ring *rx_ring;
static struct ptr_ring *get_tap_ptr_ring(struct file *file)
struct ptr_ring *ring;
struct ptr_ring *tap_get_ptr_ring(struct file *file);
static inline struct ptr_ring *tap_get_ptr_ring(struct file *f)
struct ptr_ring ring;
struct ptr_ring *tun_get_tx_ring(struct file *file);
static inline struct ptr_ring *tun_get_tx_ring(struct file *f)
static inline int __ptr_ring_produce(struct ptr_ring *r, void *ptr)
static inline int ptr_ring_produce(struct ptr_ring *r, void *ptr)
static inline int ptr_ring_produce_irq(struct ptr_ring *r, void *ptr)
static inline int ptr_ring_produce_any(struct ptr_ring *r, void *ptr)
static inline int ptr_ring_produce_bh(struct ptr_ring *r, void *ptr)
static inline void *__ptr_ring_peek(struct ptr_ring *r)
static inline bool __ptr_ring_empty(struct ptr_ring *r)
static inline bool ptr_ring_empty(struct ptr_ring *r)
static inline bool ptr_ring_empty_irq(struct ptr_ring *r)
static inline bool ptr_ring_empty_any(struct ptr_ring *r)
static inline bool ptr_ring_empty_bh(struct ptr_ring *r)
static inline void __ptr_ring_zero_tail(struct ptr_ring *r, int consumer_head)
static inline void __ptr_ring_discard_one(struct ptr_ring *r)
static inline void *__ptr_ring_consume(struct ptr_ring *r)
static inline int __ptr_ring_consume_batched(struct ptr_ring *r,
static inline void *ptr_ring_consume(struct ptr_ring *r)
static inline void *ptr_ring_consume_irq(struct ptr_ring *r)
static inline void *ptr_ring_consume_any(struct ptr_ring *r)
static inline void *ptr_ring_consume_bh(struct ptr_ring *r)
static inline int ptr_ring_consume_batched(struct ptr_ring *r,
static inline int ptr_ring_consume_batched_irq(struct ptr_ring *r,
static inline int ptr_ring_consume_batched_any(struct ptr_ring *r,
static inline int ptr_ring_consume_batched_bh(struct ptr_ring *r,
static inline void __ptr_ring_set_size(struct ptr_ring *r, int size)
static inline bool __ptr_ring_full(struct ptr_ring *r)
static inline int ptr_ring_init_noprof(struct ptr_ring *r, int size, gfp_t gfp)
static inline void ptr_ring_unconsume(struct ptr_ring *r, void **batch, int n,
static inline bool ptr_ring_full(struct ptr_ring *r)
static inline void **__ptr_ring_swap_queue(struct ptr_ring *r, void **queue,
static inline int ptr_ring_resize_noprof(struct ptr_ring *r, int size, gfp_t gfp,
static inline int ptr_ring_resize_multiple_bh_noprof(struct ptr_ring **rings,
static inline bool ptr_ring_full_irq(struct ptr_ring *r)
static inline void ptr_ring_cleanup(struct ptr_ring *r, void (*destroy)(void *))
static inline bool ptr_ring_full_any(struct ptr_ring *r)
static inline bool ptr_ring_full_bh(struct ptr_ring *r)
return ptr_ring_resize_multiple_bh_noprof((struct ptr_ring **)rings,
struct ptr_ring ring;
struct ptr_ring ring;
static void __cpu_map_ring_cleanup(struct ptr_ring *ring)
struct ptr_ring *queue;
struct ptr_ring *q;
struct ptr_ring *r = &pool->ring;
ret = ptr_ring_init(&ptr_ring, nr_objs, GFP_KERNEL);
tsk_push = kthread_create_on_cpu(page_frag_push_thread, &ptr_ring,
tsk_pop = kthread_create_on_cpu(page_frag_pop_thread, &ptr_ring,
static struct ptr_ring ptr_ring;
ptr_ring_cleanup(&ptr_ring, NULL);
struct ptr_ring *ring = arg;
struct ptr_ring *ring = arg;
static struct ptr_ring array ____cacheline_aligned_in_smp;