| /dpdk/lib/pipeline/ |
| H A D | rte_swx_pipeline_internal.h | 901 struct thread { struct 2095 struct thread *t, in __instr_extern_obj_exec() 2138 struct thread *t, in __instr_mov_exec() 2301 struct thread *t, in __instr_alu_add_mh_exec() 2311 struct thread *t, in __instr_alu_add_hm_exec() 2321 struct thread *t, in __instr_alu_add_hh_exec() 2331 struct thread *t, in __instr_alu_add_mi_exec() 2341 struct thread *t, in __instr_alu_add_hi_exec() 2361 struct thread *t, in __instr_alu_sub_mh_exec() 2371 struct thread *t, in __instr_alu_sub_hm_exec() [all …]
|
| H A D | rte_swx_pipeline.c | 192 struct thread *t = &p->threads[i]; in struct_build() 207 struct thread *t = &p->threads[i]; in struct_build_free() 812 struct thread *t = &p->threads[i]; in extern_obj_build() 847 struct thread *t = &p->threads[i]; in extern_obj_build_free() 1023 struct thread *t = &p->threads[i]; in extern_func_build() 1056 struct thread *t = &p->threads[i]; in extern_func_build_free() 1221 struct thread *t = &p->threads[i]; in header_build() 1261 struct thread *t = &p->threads[i]; in header_build_free() 1339 struct thread *t = &p->threads[i]; in metadata_build() 1358 struct thread *t = &p->threads[i]; in metadata_build_free() [all …]
|
| /dpdk/doc/guides/mempool/ |
| H A D | ring.rst | 14 The underlying **rte_ring** operates in multi-thread producer, 15 multi-thread consumer sync mode. For more information please refer to: 20 The underlying **rte_ring** operates in single-thread producer, 21 single-thread consumer sync mode. For more information please refer to: 26 The underlying **rte_ring** operates in single-thread producer, 27 multi-thread consumer sync mode. 31 The underlying **rte_ring** operates in multi-thread producer, 32 single-thread consumer sync mode. 37 multi-thread Relaxed Tail Sync (RTS) mode. For more information please 43 multi-thread Head-Tail Sync (HTS) mode. For more information please [all …]
|
| H A D | stack.rst | 33 the stack lock, that thread will block all other mempool accesses until it 38 The lock-free stack, by design, is not susceptible to this problem; one thread can 40 the progress of any other thread.
|
| /dpdk/doc/guides/prog_guide/ |
| H A D | thread_safety_dpdk_functions.rst | 11 The run-time environment of the DPDK is typically a single thread per logical core. 14 Where this is not possible, then the execution blocks must access the data in a thread- safe manner. 25 The hash and LPM libraries are, by design, thread unsafe in order to maintain performance. 26 However, if required the developer can add layers on top of these libraries to provide thread safet… 36 when each thread is performing I/O on a different NIC queue. 40 … is based on a lockless ring-buffer algorithm that maintains its original design for thread safety. 42 The mempool library is based on the DPDK lockless ring library and therefore is also multi-thread s… 48 the DPDK provides a thread-safe API for most other libraries. 51 The setup and configuration of the PMD is not performance sensitive, but is not thread safe either. 59 It is recommended that DPDK libraries are initialized in the main thread at application startup [all …]
|
| H A D | rcu_lib.rst | 34 memory by making use of thread Quiescent State (QS). 59 Similarly, since reader thread 2 is also accessing D1, the writer has to 60 wait till thread 2 enters quiescent state as well. 62 However, the writer does not need to wait for reader thread 3 to enter 63 quiescent state. Reader thread 3 was not accessing D1 when the delete 64 operation happened. So, reader thread 3 will not have a reference to the 128 Each reader thread is assumed to have a unique thread ID. Currently, the 130 application. The thread ID should be in the range of 0 to 136 A control plane thread can also call this on behalf of a reader thread. 179 The reader thread must call ``rte_rcu_qsbr_thread_offline()`` and [all …]
|
| H A D | kernel_nic_interface.rst | 51 parm: kthread_mode: Kernel thread mode (default=single): 52 single Single kernel thread mode enabled. 53 multiple Multiple kernel thread mode enabled. 111 module supports two options: "single kernel thread" mode and "multiple 112 kernel thread" mode. 114 Single kernel thread mode is enabled as follows: 120 This mode will create only one kernel thread for all KNI interfaces to 131 kernel thread mode is enabled as follows: 146 thread" mode is used. 341 This thread will enqueue the mbuf in the rx_q FIFO, [all …]
|
| H A D | stack_lib.rst | 37 index, and a spinlock. Accesses to the stack are made multi-thread safe by the 48 and one thread being preempted/delayed in a push or pop operation will not 49 impede the forward progress of any other thread. 80 but its pointed-to data is different than what thread A read. 83 In this case thread A would not detect that the list had changed, and would
|
| /dpdk/examples/pipeline/ |
| H A D | thread.c | 45 struct thread { struct 52 static struct thread thread[RTE_MAX_LCORE]; argument 86 struct thread *t = &thread[i]; in thread_free() 106 struct thread *t = &thread[i]; in thread_init() 212 struct thread *t = &thread[thread_id]; in thread_msg_send_recv() 237 struct thread *t; in thread_pipeline_enable() 247 t = &thread[thread_id]; in thread_pipeline_enable() 310 struct thread *t; in thread_pipeline_disable() 320 t = &thread[thread_id]; in thread_pipeline_disable()
|
| /dpdk/doc/guides/sample_app_ug/ |
| H A D | pipeline.rst | 17 …h pipeline is mapped to a specific application thread. Multiple pipelines can be mapped to the sam… 109 The main thread is creating and managing all the application objects based on CLI input. 111 Each data plane thread runs one or several pipelines previously assigned to it in round-robin order… 116 2. *Message handling task*: Periodically, the data plane thread pauses the packet processing task a… 117 …messages send by the main thread. Examples: add/remove pipeline to/from current data plane thread,… 118 …to/from given table of a specific pipeline owned by the current data plane thread, read statistics…
|
| H A D | dist_app.rst | 65 thread (``lcore_rx()``), a distributor thread (``lcore_dist()``), a set of 66 worker threads (``lcore_worker()``), and a transmit thread(``lcore_tx()``). 68 The ``main()`` function launches threads of these four types. Each thread 72 The receive thread receives the packets using ``rte_eth_rx_burst()`` and will 73 enqueue them to an rte_ring. The distributor thread will dequeue the packets 78 tag. The distributor thread communicates with the worker threads using a 82 More than one worker thread can exist as part of the application, and these 86 and then finally returning the packets back to the distributor thread. 88 The distributor thread will then call the distributor api 91 output port. The transmit thread will dequeue the packets from the ring and [all …]
|
| H A D | eventdev_pipeline.rst | 122 worker 12 thread done. RX=4966581 TX=4966581 123 worker 13 thread done. RX=4963329 TX=4963329 124 worker 14 thread done. RX=4953614 TX=4953614 125 worker 0 thread done. RX=0 TX=0 126 worker 11 thread done. RX=4970549 TX=4970549 127 worker 10 thread done. RX=4986391 TX=4986391 128 worker 9 thread done. RX=4970528 TX=4970528 129 worker 15 thread done. RX=4974087 TX=4974087 130 worker 8 thread done. RX=4979908 TX=4979908 131 worker 2 thread done. RX=0 TX=0
|
| H A D | kernel_nic_interface.rst | 45 writes to the corresponding KNI interfaces and the other thread reads from 110 the KNI kernel thread(s) are bound to for each physical port. 122 carrier state. With this option set, a thread will be started which 145 be created for the physical port ``port`` and the KNI kernel thread(s) 151 kernel thread <kni_kernel_thread_mode>` mode, a kernel thread will be created 155 thread will be bound to the first ``lcore_kthread`` lcore ID specified. 164 ``vEth0_0`` with the kernel thread bound to lcore 8. Port 1 uses lcore 166 interface ``vEth1_0`` with the kernel thread bound to lcore 9. 179 The kernel thread for each interface will be bound as follows: 194 the ``rte_kni`` kernel module is loaded in :ref:`single kernel thread [all …]
|
| H A D | ip_pipeline.rst | 17 … to application threads, with each pipeline executed by a single thread and each thread able to run 125 The main thread is creating and managing all the application objects based on CLI input. 127 Each data plane thread runs one or several pipelines previously assigned to it in round-robin order… 132 2. *Message handling task*: Periodically, the data plane thread pauses the packet processing task a… 133 …messages send by the main thread. Examples: add/remove pipeline to/from current data plane thread,… 134 …to/from given table of a specific pipeline owned by the current data plane thread, read statistics… 308 [thread <thread_id>] 550 Enable given pipeline instance for specific data plane thread :: 552 thread <thread_id> pipeline <pipeline_name> enable 555 Disable given pipeline instance for specific data plane thread :: [all …]
|
| /dpdk/lib/eal/windows/include/ |
| H A D | pthread.h | 43 #define pthread_cancel(thread) !TerminateThread((HANDLE) thread, 0) argument 147 pthread_detach(__rte_unused pthread_t thread) in pthread_detach() argument 153 pthread_join(__rte_unused pthread_t thread, in pthread_join() argument
|
| /dpdk/doc/guides/compressdevs/ |
| H A D | qat_comp.rst | 40 * Queue-pairs are thread-safe on Intel CPUs but Queues are not (that is, within a single 41 queue-pair all enqueues to the TX queue must be done from one thread and all dequeues 42 from the RX queue must be done from one thread, but enqueues and dequeues may be done
|
| /dpdk/app/test/ |
| H A D | process.h | 52 pthread_t thread; in process_dup() local 139 rc = pthread_create(&thread, NULL, &send_pkts, NULL); in process_dup() 154 pthread_join(thread, NULL); in process_dup()
|
| /dpdk/lib/eal/common/ |
| H A D | eal_common_thread.c | 270 rte_ctrl_thread_create(pthread_t *thread, const char *name, in rte_ctrl_thread_create() argument 287 ret = pthread_create(thread, attr, ctrl_thread_init, (void *)params); in rte_ctrl_thread_create() 294 ret = rte_thread_setname(*thread, name); in rte_ctrl_thread_create() 314 pthread_join(*thread, NULL); in rte_ctrl_thread_create()
|
| H A D | eal_common_trace_points.c | 66 lib.eal.thread.remote.launch) 68 lib.eal.thread.lcore.ready)
|
| /dpdk/drivers/net/softnic/ |
| H A D | firmware.cli | 20 thread 1 pipeline RX enable 21 thread 1 pipeline TX enable
|
| /dpdk/examples/ip_pipeline/examples/ |
| H A D | rss.cli | 109 thread 1 pipeline PIPELINE0 enable 110 thread 2 pipeline PIPELINE1 enable 111 thread 3 pipeline PIPELINE2 enable 112 thread 4 pipeline PIPELINE3 enable
|
| /dpdk/lib/eal/windows/ |
| H A D | eal_thread.c | 74 eal_thread_create(pthread_t *thread, unsigned int lcore_id) in eal_thread_create() argument 82 (LPDWORD)thread); in eal_thread_create()
|
| /dpdk/doc/guides/vdpadevs/ |
| H A D | mlx5.rst | 49 - 0, Completion queue scheduling will be managed by a timer thread which 52 - 1, Completion queue scheduling will be managed by a timer thread with fixed 64 - 0, A nonzero value to set timer step in micro-seconds. The timer thread 78 CPU core number to set polling thread affinity to, default to control plane
|
| /dpdk/doc/guides/nics/ |
| H A D | softnic.rst | 154 thread 2 pipeline RX enable 155 thread 2 pipeline TX enable 264 * Enable pipeline on CPU thread 268 thread 2 pipeline RX enable (Soft NIC rx pipeline enable on cpu thread id 2) 269 thread 2 pipeline TX enable (Soft NIC tx pipeline enable on cpu thread id 2) 362 thread 2 pipeline RX enable 363 thread 2 pipeline TX enable
|
| /dpdk/drivers/net/kni/ |
| H A D | rte_eth_kni.c | 53 pthread_t thread; member 165 ret = rte_ctrl_thread_create(&internals->thread, in eth_kni_dev_start() 189 ret = pthread_cancel(internals->thread); in eth_kni_dev_stop() 193 ret = pthread_join(internals->thread, NULL); in eth_kni_dev_stop()
|