Lines Matching full:consumer

18 	/* Hinder the adjacent cache prefetcher to prefetch the consumer
22 u32 consumer ____cacheline_aligned_in_smp;
50 * ring, the kernel is the producer and user space is the consumer. For
51 * the Tx and fill rings, the kernel is the consumer and user space is
54 * producer consumer
56 * if (LOAD ->consumer) { LOAD ->producer
60 * STORE ->producer STORE ->consumer
66 * the producer pointer. If this barrier was missing, the consumer
68 * before the producer has written the new data. The consumer would in
71 * (C) protects the consumer from speculatively loading the data before
77 * (A) is a control dependency that separates the load of ->consumer
78 * from the stores of $data. In case ->consumer indicates there is no
82 * store of the consumer pointer. If we did not have this memory
83 * barrier, the producer could observe the consumer pointer being set
84 * and overwrite the data with a new value before the consumer got the
85 * chance to read the old value. The consumer would thus miss reading
92 * producer consumer
100 * seen and read by the consumer.
102 * The consumer peeks into the ring to see if the producer has written
103 * any new entries. If so, the consumer can then read these entries
110 /* Functions that read and validate content from consumer rings. */
205 WRITE_ONCE(q->ring->consumer, q->cached_cons); in __xskq_cons_release()
263 return READ_ONCE(q->ring->producer) - READ_ONCE(q->ring->consumer) == in xskq_cons_is_full()
270 return READ_ONCE(q->ring->producer) - READ_ONCE(q->ring->consumer); in xskq_cons_present_entries()
283 q->cached_cons = READ_ONCE(q->ring->consumer); in xskq_prod_is_full()
358 return READ_ONCE(q->ring->consumer) == READ_ONCE(q->ring->producer); in xskq_prod_is_empty()