Home
last modified time | relevance | path

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

123

/linux/virt/lib/
H A Dirqbypass.c56 cons->producer = prod; in __connect()
81 cons->producer = NULL; in __disconnect()
93 int irq_bypass_register_producer(struct irq_bypass_producer *producer, in irq_bypass_register_producer() argument
100 if (WARN_ON_ONCE(producer->eventfd)) in irq_bypass_register_producer()
103 producer->irq = irq; in irq_bypass_register_producer()
107 ret = xa_insert(&producers, index, producer, GFP_KERNEL); in irq_bypass_register_producer()
113 ret = __connect(producer, consumer); in irq_bypass_register_producer()
115 WARN_ON_ONCE(xa_erase(&producers, index) != producer); in irq_bypass_register_producer()
120 producer->eventfd = eventfd; in irq_bypass_register_producer()
133 void irq_bypass_unregister_producer(struct irq_bypass_producer *producer) in irq_bypass_unregister_producer() argument
[all …]
/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.c190 static void *producer(void *input) in task_producer()
245 .producer_thread = producer, in report_final()
196 static void *producer(void *input) producer() function
H A Dbench_bpf_hashmap_lookup.c128 static void *producer(void *input) in producer() function
273 .producer_thread = producer,
/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()
467 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()
/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 …]
/linux/kernel/trace/
H A Dring_buffer_benchmark.c33 static struct task_struct *producer; variable
449 producer = kthread_run(ring_buffer_producer_thread, in ring_buffer_benchmark_init()
451 ret = PTR_ERR(producer); in ring_buffer_benchmark_init()
453 if (IS_ERR(producer)) in ring_buffer_benchmark_init()
469 sched_set_fifo(producer); in ring_buffer_benchmark_init()
471 sched_set_fifo_low(producer); in ring_buffer_benchmark_init()
473 set_user_nice(producer, producer_nice); in ring_buffer_benchmark_init()
488 kthread_stop(producer); in ring_buffer_benchmark_exit()
/linux/include/linux/
H A Dirqbypass.h76 struct irq_bypass_producer *producer; member
86 int irq_bypass_register_producer(struct irq_bypass_producer *producer,
88 void irq_bypass_unregister_producer(struct irq_bypass_producer *producer);
H A Dkvm_irqfd.h60 struct irq_bypass_producer *producer; member
/linux/net/xdp/
H A Dxsk_queue.h17 u32 producer ____cacheline_aligned_in_smp;
19 * pointer if the producer pointer is touched and vice versa.
64 * completion ring, the kernel is the producer and user space is the
66 * user space is the producer.
68 * producer consumer
70 * if (LOAD ->consumer) { (A) LOAD.acq ->producer (C)
72 * STORE.rel ->producer (B) STORE.rel ->consumer (D)
78 * the producer pointer. If this barrier was missing, the consumer
79 * could observe the producer pointer being set and thus load the data
80 * before the producer ha
[all...]
H A Dxsk.h8 __u64 producer;
15 __u64 producer; global() member
/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()
132 * this to the kernel by writing the producer pointer. in xsk_ring_prod__submit()
134 __atomic_store_n(prod->producer, *prod->producer + nb, __ATOMIC_RELEASE); in xsk_ring_prod__submit()
H A Dxsk.c195 fill->producer = map + off.fr.producer; in xsk_create_umem_rings()
211 comp->producer = map + off.cr.producer; in xsk_create_umem_rings()
636 rx->producer = rx_map + off.rx.producer; in xsk_socket__create_shared()
640 rx->cached_prod = *rx->producer; in xsk_socket__create_shared()
657 tx->producer = tx_map + off.tx.producer; in xsk_socket__create_shared()
661 tx->cached_prod = *tx->producer; in xsk_socket__create_shared()
/linux/drivers/net/ethernet/qlogic/netxen/
H A Dnetxen_nic_init.c1810 int producer, count = 0; in netxen_post_rx_buffers() local
1814 producer = rds_ring->producer; in netxen_post_rx_buffers()
1830 pdesc = &rds_ring->desc_head[producer]; in netxen_post_rx_buffers()
1835 producer = get_next_index(producer, rds_ring->num_desc); in netxen_post_rx_buffers()
1839 rds_ring->producer = producer; in netxen_post_rx_buffers()
1841 (producer-1) & (rds_ring->num_desc-1)); in netxen_post_rx_buffers()
1852 ((producer - 1) & in netxen_post_rx_buffers()
1868 int producer, count = 0; in netxen_post_rx_buffers_nodb() local
1874 producer = rds_ring->producer; in netxen_post_rx_buffers_nodb()
1890 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()
1239 tx_ring->producer = 0; in netxen_nic_attach()
1848 u32 producer; in netxen_tso_check() local
1915 producer = tx_ring->producer; in netxen_tso_check()
1922 hwdesc = &tx_ring->desc_head[producer]; in netxen_tso_check()
1923 tx_ring->cmd_buf_arr[producer].skb = NULL; in netxen_tso_check()
1938 producer = get_next_index(producer, tx_ring->num_desc); in netxen_tso_check()
1946 hwdesc = &tx_ring->desc_head[producer]; in netxen_tso_check()
1947 tx_ring->cmd_buf_arr[producer].skb = NULL; in netxen_tso_check()
1955 producer = get_next_index(producer, tx_ring->num_desc); in netxen_tso_check()
[all …]
/linux/drivers/mailbox/
H A Dtegra-hsp.c78 bool producer; member
242 if (mb->producer) { in tegra_hsp_shared_irq()
268 if (!mb->producer) in tegra_hsp_shared_irq()
467 if (WARN_ON(!mb->producer)) in tegra_hsp_mailbox_send_data()
532 if (mb->producer) in tegra_hsp_mailbox_startup()
542 if (mb->producer) in tegra_hsp_mailbox_startup()
561 if (mb->producer) in tegra_hsp_mailbox_shutdown()
571 if (mb->producer) in tegra_hsp_mailbox_shutdown()
652 mb->producer = false; in tegra_hsp_sm_xlate()
654 mb->producer = true; in tegra_hsp_sm_xlate()
/linux/arch/x86/kvm/
H A Dirq.c429 unsigned int host_irq = irqfd->producer->irq; in kvm_pi_update_irte()
484 irqfd->producer = prod; in kvm_arch_irq_bypass_add_producer()
507 WARN_ON(irqfd->producer != prod); in kvm_arch_irq_bypass_del_producer()
524 irqfd->producer = NULL; in kvm_arch_irq_bypass_del_producer()
/linux/include/uapi/linux/
H A Dif_xdp.h60 __u64 producer; member
/linux/tools/include/uapi/linux/
H A Dif_xdp.h60 __u64 producer; member

123