Home
last modified time | relevance | path

Searched refs:producer (Results 1 – 25 of 77) sorted by relevance

1234

/openbmc/linux/virt/lib/
H A Dirqbypass.c84 int irq_bypass_register_producer(struct irq_bypass_producer *producer) in irq_bypass_register_producer() argument
90 if (!producer->token) in irq_bypass_register_producer()
101 if (tmp->token == producer->token) { in irq_bypass_register_producer()
108 if (consumer->token == producer->token) { in irq_bypass_register_producer()
109 ret = __connect(producer, consumer); in irq_bypass_register_producer()
116 list_add(&producer->node, &producers); in irq_bypass_register_producer()
135 void irq_bypass_unregister_producer(struct irq_bypass_producer *producer) in irq_bypass_unregister_producer() argument
140 if (!producer->token) in irq_bypass_unregister_producer()
151 if (tmp->token != producer->token) in irq_bypass_unregister_producer()
155 if (consumer->token == producer->token) { in irq_bypass_unregister_producer()
[all …]
/openbmc/linux/tools/testing/selftests/bpf/benchs/
H A Dbench_rename.c26 static void *producer(void *input) in producer() function
113 .producer_thread = producer,
123 .producer_thread = producer,
133 .producer_thread = producer,
143 .producer_thread = producer,
153 .producer_thread = producer,
163 .producer_thread = producer,
H A Dbench_bloom_filter_map.c122 static void *producer(void *input) in producer() function
429 .producer_thread = producer,
440 .producer_thread = producer,
451 .producer_thread = producer,
462 .producer_thread = producer,
473 .producer_thread = producer,
H A Dbench_local_storage.c233 static void *producer(void *input) in producer() function
256 .producer_thread = producer,
267 .producer_thread = producer,
278 .producer_thread = producer,
H A Dbench_bpf_loop.c56 static void *producer(void *input) in producer() function
96 .producer_thread = producer,
H A Dbench_bpf_hashmap_full_update.c23 static void *producer(void *input) in producer() function
85 .producer_thread = producer,
H A Dbench_local_storage_rcu_tasks_trace.c200 static void *producer(void *input) in producer() function
259 .producer_thread = producer,
H A Dbench_local_storage_create.c196 static void *producer(void *input) in producer() function
254 .producer_thread = producer,
H A Dbench_bpf_hashmap_lookup.c128 static void *producer(void *input) in producer() function
273 .producer_thread = producer,
/openbmc/linux/include/linux/
H A Dptr_ring.h31 int producer ____cacheline_aligned_in_smp;
51 return r->queue[r->producer]; in __ptr_ring_full()
106 if (unlikely(!r->size) || r->queue[r->producer]) in __ptr_ring_produce()
113 WRITE_ONCE(r->queue[r->producer++], ptr); in __ptr_ring_produce()
114 if (unlikely(r->producer >= r->size)) in __ptr_ring_produce()
115 r->producer = 0; in __ptr_ring_produce()
494 r->producer = r->consumer_head = r->consumer_tail = 0; in ptr_ring_init()
562 int producer = 0; in __ptr_ring_swap_queue() local
567 if (producer < size) in __ptr_ring_swap_queue()
568 queue[producer++] = ptr; in __ptr_ring_swap_queue()
[all …]
H A Dkvm_irqfd.h61 struct irq_bypass_producer *producer; member
/openbmc/linux/drivers/net/ethernet/qlogic/qlcnic/
H A Dqlcnic_io.c277 u32 producer; in qlcnic_82xx_change_filter() local
280 producer = tx_ring->producer; in qlcnic_82xx_change_filter()
281 hwdesc = &tx_ring->desc_head[tx_ring->producer]; in qlcnic_82xx_change_filter()
297 tx_ring->producer = get_next_index(producer, tx_ring->num_desc); in qlcnic_82xx_change_filter()
377 u32 producer = tx_ring->producer; in qlcnic_tx_encap_pkt() local
407 hwdesc = &tx_ring->desc_head[producer]; in qlcnic_tx_encap_pkt()
408 tx_ring->cmd_buf_arr[producer].skb = NULL; in qlcnic_tx_encap_pkt()
413 producer = get_next_index(producer, tx_ring->num_desc); in qlcnic_tx_encap_pkt()
416 tx_ring->producer = producer; in qlcnic_tx_encap_pkt()
468 u32 producer = tx_ring->producer; in qlcnic_tx_pkt() local
[all …]
H A Dqlcnic_hw.c384 u32 i, producer; in qlcnic_send_cmd_descs() local
397 producer = tx_ring->producer; in qlcnic_send_cmd_descs()
415 pbuf = &tx_ring->cmd_buf_arr[producer]; in qlcnic_send_cmd_descs()
419 memcpy(&tx_ring->desc_head[producer], in qlcnic_send_cmd_descs()
422 producer = get_next_index(producer, tx_ring->num_desc); in qlcnic_send_cmd_descs()
427 tx_ring->producer = producer; in qlcnic_send_cmd_descs()
/openbmc/linux/Documentation/core-api/
H A Dcircular-buffers.rst15 (2) Memory barriers for when the producer and the consumer of objects in the
19 producer and just one consumer. It is possible to handle multiple producers by
30 - The producer.
41 (1) A 'head' index - the point at which the producer inserts items into the
113 (1) CIRC_SPACE*() are intended to be used in the producer. To the producer
114 they will return a lower bound as the producer controls the head index,
118 To the consumer it will show an upper bound as the producer may be busy
123 producer may still be filling the buffer on another CPU and moving the
126 To the producer it will show an upper bound as the consumer may be busy
130 producer and consumer become visible cannot be guaranteed as they are
[all …]
/openbmc/linux/kernel/trace/
H A Dring_buffer_benchmark.c33 static struct task_struct *producer; variable
447 producer = kthread_run(ring_buffer_producer_thread, in ring_buffer_benchmark_init()
449 ret = PTR_ERR(producer); in ring_buffer_benchmark_init()
451 if (IS_ERR(producer)) in ring_buffer_benchmark_init()
467 sched_set_fifo(producer); in ring_buffer_benchmark_init()
469 sched_set_fifo_low(producer); in ring_buffer_benchmark_init()
471 set_user_nice(producer, producer_nice); in ring_buffer_benchmark_init()
486 kthread_stop(producer); in ring_buffer_benchmark_exit()
/openbmc/linux/net/xdp/
H A Dxsk_queue.h17 u32 producer ____cacheline_aligned_in_smp;
284 q->cached_prod = smp_load_acquire(&q->ring->producer); /* C, matches B */ in __xskq_cons_peek()
344 return READ_ONCE(q->ring->producer) - READ_ONCE(q->ring->consumer); in xskq_cons_present_entries()
428 smp_store_release(&q->ring->producer, idx); /* B, matches C */ in __xskq_prod_submit()
438 __xskq_prod_submit(q, q->ring->producer + nb_entries); in xskq_prod_submit_n()
444 return READ_ONCE(q->ring->consumer) == READ_ONCE(q->ring->producer); in xskq_prod_is_empty()
H A Dxsk.h15 __u64 producer; member
/openbmc/linux/tools/testing/selftests/bpf/
H A Dxsk.h33 __u32 *producer; \
111 r->cached_prod = __atomic_load_n(r->producer, __ATOMIC_ACQUIRE); in xsk_cons_nb_avail()
134 __atomic_store_n(prod->producer, *prod->producer + nb, __ATOMIC_RELEASE); in xsk_ring_prod__submit()
H A Dxsk.c193 fill->producer = map + off.fr.producer; in xsk_create_umem_rings()
209 comp->producer = map + off.cr.producer; in xsk_create_umem_rings()
634 rx->producer = rx_map + off.rx.producer; in xsk_socket__create_shared()
638 rx->cached_prod = *rx->producer; in xsk_socket__create_shared()
655 tx->producer = tx_map + off.tx.producer; in xsk_socket__create_shared()
659 tx->cached_prod = *tx->producer; in xsk_socket__create_shared()
/openbmc/linux/drivers/mailbox/
H A Dtegra-hsp.c86 bool producer; member
236 if (mb->producer) { in tegra_hsp_shared_irq()
262 if (!mb->producer) in tegra_hsp_shared_irq()
461 if (WARN_ON(!mb->producer)) in tegra_hsp_mailbox_send_data()
526 if (mb->producer) in tegra_hsp_mailbox_startup()
536 if (mb->producer) in tegra_hsp_mailbox_startup()
555 if (mb->producer) in tegra_hsp_mailbox_shutdown()
565 if (mb->producer) in tegra_hsp_mailbox_shutdown()
646 mb->producer = false; in tegra_hsp_sm_xlate()
648 mb->producer = true; in tegra_hsp_sm_xlate()
/openbmc/linux/drivers/net/ethernet/qlogic/netxen/
H A Dnetxen_nic_init.c1813 int producer, count = 0; in netxen_post_rx_buffers() local
1817 producer = rds_ring->producer; in netxen_post_rx_buffers()
1833 pdesc = &rds_ring->desc_head[producer]; in netxen_post_rx_buffers()
1838 producer = get_next_index(producer, rds_ring->num_desc); in netxen_post_rx_buffers()
1842 rds_ring->producer = producer; in netxen_post_rx_buffers()
1844 (producer-1) & (rds_ring->num_desc-1)); in netxen_post_rx_buffers()
1855 ((producer - 1) & in netxen_post_rx_buffers()
1871 int producer, count = 0; in netxen_post_rx_buffers_nodb() local
1877 producer = rds_ring->producer; in netxen_post_rx_buffers_nodb()
1893 pdesc = &rds_ring->desc_head[producer]; in netxen_post_rx_buffers_nodb()
[all …]
H A Dnetxen_nic_main.c105 NXWRIO(adapter, tx_ring->crb_cmd_producer, tx_ring->producer); in netxen_nic_update_cmd_producer()
1241 tx_ring->producer = 0; in netxen_nic_attach()
1850 u32 producer; in netxen_tso_check() local
1917 producer = tx_ring->producer; in netxen_tso_check()
1924 hwdesc = &tx_ring->desc_head[producer]; in netxen_tso_check()
1925 tx_ring->cmd_buf_arr[producer].skb = NULL; in netxen_tso_check()
1940 producer = get_next_index(producer, tx_ring->num_desc); in netxen_tso_check()
1948 hwdesc = &tx_ring->desc_head[producer]; in netxen_tso_check()
1949 tx_ring->cmd_buf_arr[producer].skb = NULL; in netxen_tso_check()
1957 producer = get_next_index(producer, tx_ring->num_desc); in netxen_tso_check()
[all …]
/openbmc/linux/drivers/vfio/pci/
H A Dvfio_pci_intrs.c31 struct irq_bypass_producer producer; member
461 irq_bypass_unregister_producer(&ctx->producer); in vfio_msi_set_vector_signal()
517 ctx->producer.token = trigger; in vfio_msi_set_vector_signal()
518 ctx->producer.irq = irq; in vfio_msi_set_vector_signal()
519 ret = irq_bypass_register_producer(&ctx->producer); in vfio_msi_set_vector_signal()
523 ctx->producer.token, ret); in vfio_msi_set_vector_signal()
525 ctx->producer.token = NULL; in vfio_msi_set_vector_signal()
/openbmc/docs/designs/
H A Dredfish-pcie.md33 The proposed implementation will follow the standard D-Bus producer-consumer
34 model used in OpenBMC. The producer will provide the required PCIe values read
41 The proposed producer will be a new D-Bus daemon that will be responsible for
H A Dbmc-health-monitor.md16 For this purpose, there may exist a metric producer (the subject of discussion
33 Among those tasks, 1), 2), and 3) are the producer’s responsibility. 4) is
34 accomplished by both the producer and consumer. 5) is up to the consumer.
64 The metric producer should provide
83 producer through a set of interfaces.
89 The metric producer is a daemon running on the BMC that performs the required

1234