• Home
  • Raw
  • Download

Lines Matching full:producer

17 	u32 producer ____cacheline_aligned_in_smp;
19 * pointer if the producer pointer is touched and vice versa.
50 * ring, the kernel is the producer and user space is the consumer. For
52 * the producer.
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
67 * could observe the producer pointer being set and thus load the data
68 * before the producer has written the new data. The consumer would in
72 * the producer pointer actually has been read. If we do not have this
75 * between ->producer and data.
83 * barrier, the producer could observe the consumer pointer being set
92 * producer consumer
98 * The producer reserves one or more entries in the ring. It can then
102 * The consumer peeks into the ring to see if the producer has written
104 * and when it is done reading them release them back to the producer
105 * so that the producer can use these slots to fill in new entries.
214 q->cached_prod = READ_ONCE(q->ring->producer); in __xskq_cons_peek()
266 return READ_ONCE(q->ring->producer) - READ_ONCE(q->ring->consumer) == in xskq_cons_is_full()
273 return READ_ONCE(q->ring->producer) - READ_ONCE(q->ring->consumer); in xskq_cons_present_entries()
340 WRITE_ONCE(q->ring->producer, idx); in __xskq_prod_submit()
351 u32 idx = q->ring->producer; in xskq_prod_submit_addr()
360 __xskq_prod_submit(q, q->ring->producer + nb_entries); in xskq_prod_submit_n()
366 return READ_ONCE(q->ring->consumer) == READ_ONCE(q->ring->producer); in xskq_prod_is_empty()