Lines Matching full:consumer
18 u32 consumer ____cacheline_aligned_in_smp;
49 * ring, the kernel is the producer and user space is the consumer. For
50 * the Tx and fill rings, the kernel is the consumer and user space is
53 * producer consumer
55 * if (LOAD ->consumer) { LOAD ->producer
59 * STORE ->producer STORE ->consumer
65 * the producer pointer. If this barrier was missing, the consumer
67 * before the producer has written the new data. The consumer would in
70 * (C) protects the consumer from speculatively loading the data before
76 * (A) is a control dependency that separates the load of ->consumer
77 * from the stores of $data. In case ->consumer indicates there is no
81 * store of the consumer pointer. If we did not have this memory
82 * barrier, the producer could observe the consumer pointer being set
83 * and overwrite the data with a new value before the consumer got the
84 * chance to read the old value. The consumer would thus miss reading
117 q->cons_tail = READ_ONCE(q->ring->consumer); in xskq_nb_free()
206 WRITE_ONCE(q->ring->consumer, q->cons_tail); in xskq_peek_addr()
209 /* Order consumer and data */ in xskq_peek_addr()
323 WRITE_ONCE(q->ring->consumer, q->cons_tail); in xskq_peek_desc()
326 /* Order consumer and data */ in xskq_peek_desc()