| /linux-6.15/virt/lib/ |
| H A D | irqbypass.c | 90 if (!producer->token) in irq_bypass_register_producer() 101 if (tmp->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() 140 if (!producer->token) in irq_bypass_unregister_producer() 151 if (tmp->token != producer->token) in irq_bypass_unregister_producer() 156 __disconnect(producer, consumer); in irq_bypass_unregister_producer() 161 list_del(&producer->node); in irq_bypass_unregister_producer() 182 struct irq_bypass_producer *producer; in irq_bypass_register_consumer() local 234 struct irq_bypass_producer *producer; in irq_bypass_unregister_consumer() local [all …]
|
| /linux-6.15/tools/testing/selftests/bpf/benchs/ |
| H A D | bench_rename.c | 26 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 D | bench_bloom_filter_map.c | 122 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 D | bench_local_storage.c | 233 static void *producer(void *input) in producer() function 256 .producer_thread = producer, 267 .producer_thread = producer, 278 .producer_thread = producer,
|
| H A D | bench_bpf_loop.c | 56 static void *producer(void *input) in producer() function 96 .producer_thread = producer,
|
| H A D | bench_bpf_hashmap_full_update.c | 23 static void *producer(void *input) in producer() function 85 .producer_thread = producer,
|
| H A D | bench_local_storage_rcu_tasks_trace.c | 200 static void *producer(void *input) in producer() function 259 .producer_thread = producer,
|
| H A D | bench_local_storage_create.c | 196 static void *producer(void *input) in producer() function 254 .producer_thread = producer,
|
| H A D | bench_bpf_hashmap_lookup.c | 128 static void *producer(void *input) in producer() function 273 .producer_thread = producer,
|
| /linux-6.15/include/linux/ |
| H A D | ptr_ring.h | 31 int producer ____cacheline_aligned_in_smp; 51 return r->queue[r->producer]; in __ptr_ring_full() 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() 563 int producer = 0; in __ptr_ring_swap_queue() local 568 if (producer < size) in __ptr_ring_swap_queue() 569 queue[producer++] = ptr; in __ptr_ring_swap_queue() 573 if (producer >= size) in __ptr_ring_swap_queue() 574 producer = 0; in __ptr_ring_swap_queue() [all …]
|
| H A D | kvm_irqfd.h | 61 struct irq_bypass_producer *producer; member
|
| /linux-6.15/drivers/net/ethernet/qlogic/qlcnic/ |
| H A D | qlcnic_io.c | 280 producer = tx_ring->producer; in qlcnic_82xx_change_filter() 377 u32 producer = tx_ring->producer; in qlcnic_tx_encap_pkt() local 416 tx_ring->producer = producer; in qlcnic_tx_encap_pkt() 467 u32 producer = tx_ring->producer; in qlcnic_tx_pkt() local 551 tx_ring->producer = producer; in qlcnic_tx_pkt() 701 producer = tx_ring->producer; in qlcnic_xmit_frame() 724 producer = get_next_index(producer, num_txd); in qlcnic_xmit_frame() 856 producer = rds_ring->producer; in qlcnic_post_rx_buffers_nodb() 878 rds_ring->producer = producer; in qlcnic_post_rx_buffers_nodb() 1446 producer = rds_ring->producer; in qlcnic_post_rx_buffers() [all …]
|
| H A D | qlcnic_hw.c | 384 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-6.15/Documentation/devicetree/bindings/net/ |
| H A D | mdio-mux-multiplexer.yaml | 14 of a mux producer device. The mux producer can be of any type like mmio mux 15 producer, gpio mux producer or generic register based mux producer.
|
| /linux-6.15/kernel/trace/ |
| H A D | ring_buffer_benchmark.c | 33 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-6.15/Documentation/core-api/ |
| H A D | circular-buffers.rst | 15 (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 123 producer may still be filling the buffer on another CPU and moving the 130 producer and consumer become visible cannot be guaranteed as they are 145 There are two sides to this: the producer that fills the buffer, and the 151 The producer 154 The producer will look something like this:: [all …]
|
| /linux-6.15/net/xdp/ |
| H A D | xsk_queue.h | 17 u32 producer ____cacheline_aligned_in_smp; 287 q->cached_prod = smp_load_acquire(&q->ring->producer); /* C, matches B */ in __xskq_cons_peek() 342 return READ_ONCE(q->ring->producer) - READ_ONCE(q->ring->consumer); in xskq_cons_present_entries() 426 smp_store_release(&q->ring->producer, idx); /* B, matches C */ in __xskq_prod_submit() 436 __xskq_prod_submit(q, q->ring->producer + nb_entries); in xskq_prod_submit_n() 442 return READ_ONCE(q->ring->consumer) == READ_ONCE(q->ring->producer); in xskq_prod_is_empty()
|
| H A D | xsk.h | 15 __u64 producer; member
|
| /linux-6.15/tools/testing/selftests/bpf/ |
| H A D | xsk.h | 33 __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 D | xsk.c | 195 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-6.15/drivers/net/ethernet/qlogic/netxen/ |
| H A D | netxen_nic_init.c | 1811 int producer, count = 0; in netxen_post_rx_buffers() local 1815 producer = rds_ring->producer; in netxen_post_rx_buffers() 1831 pdesc = &rds_ring->desc_head[producer]; in netxen_post_rx_buffers() 1836 producer = get_next_index(producer, rds_ring->num_desc); in netxen_post_rx_buffers() 1840 rds_ring->producer = producer; in netxen_post_rx_buffers() 1853 ((producer - 1) & in netxen_post_rx_buffers() 1869 int producer, count = 0; in netxen_post_rx_buffers_nodb() local 1875 producer = rds_ring->producer; in netxen_post_rx_buffers_nodb() 1891 pdesc = &rds_ring->desc_head[producer]; in netxen_post_rx_buffers_nodb() 1896 producer = get_next_index(producer, rds_ring->num_desc); in netxen_post_rx_buffers_nodb() [all …]
|
| H A D | netxen_nic_main.c | 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() 1938 producer = get_next_index(producer, tx_ring->num_desc); in netxen_tso_check() 1955 producer = get_next_index(producer, tx_ring->num_desc); in netxen_tso_check() 1958 tx_ring->producer = producer; in netxen_tso_check() 2032 u32 producer; in netxen_nic_xmit_frame() local 2063 producer = tx_ring->producer; in netxen_nic_xmit_frame() 2064 pbuf = &tx_ring->cmd_buf_arr[producer]; in netxen_nic_xmit_frame() 2086 producer = get_next_index(producer, num_txd); in netxen_nic_xmit_frame() [all …]
|
| /linux-6.15/drivers/mailbox/ |
| H A D | tegra-hsp.c | 80 bool producer; member 244 if (mb->producer) { in tegra_hsp_shared_irq() 270 if (!mb->producer) in tegra_hsp_shared_irq() 469 if (WARN_ON(!mb->producer)) in tegra_hsp_mailbox_send_data() 534 if (mb->producer) in tegra_hsp_mailbox_startup() 544 if (mb->producer) in tegra_hsp_mailbox_startup() 563 if (mb->producer) in tegra_hsp_mailbox_shutdown() 573 if (mb->producer) in tegra_hsp_mailbox_shutdown() 654 mb->producer = false; in tegra_hsp_sm_xlate() 656 mb->producer = true; in tegra_hsp_sm_xlate()
|
| /linux-6.15/drivers/vfio/pci/ |
| H A D | vfio_pci_intrs.c | 32 struct irq_bypass_producer producer; member 452 irq_bypass_unregister_producer(&ctx->producer); in vfio_msi_set_vector_signal() 508 ctx->producer.token = trigger; in vfio_msi_set_vector_signal() 509 ctx->producer.irq = irq; in vfio_msi_set_vector_signal() 510 ret = irq_bypass_register_producer(&ctx->producer); in vfio_msi_set_vector_signal() 514 ctx->producer.token, ret); in vfio_msi_set_vector_signal() 516 ctx->producer.token = NULL; in vfio_msi_set_vector_signal()
|
| /linux-6.15/tools/include/uapi/linux/ |
| H A D | if_xdp.h | 60 __u64 producer; member
|