| /dpdk/doc/guides/prog_guide/ |
| H A D | event_timer_adapter.rst | 11 new event sources by using **event adapters**. The Event Timer Adapter is one 33 Event timers are timers that enqueue a timer expiration event to an event 45 The event contained by an event timer is enqueued in the event device when the 52 timer expiry event in the event queue relative to other events 54 the timer expiry event 88 how to create and configure an event timer adapter and use it to manage event 127 and configure an event device along with its event ports. Based on the event 131 configure an event port; it will examine the current event device 182 An event timer adapter uses a service component if the event device PMD 272 Once an event timer has successfully enqueued a timer expiry event in the event [all …]
|
| H A D | event_crypto_adapter.rst | 7 The DPDK :doc:`Eventdev library <eventdev>` provides event driven 12 bridge between the event device and the crypto device. 14 The packet flow from crypto device to the event device can be accomplished 20 event type called ``RTE_EVENT_TYPE_CRYPTODEV`` to indicate the event source. 59 PMD supports internal event port 125 PMD supports internal event port 130 API. An application can use this event port to link with an event queue, on 195 capability, event information must be passed to the add API. 204 struct rte_event event; 206 // Fill in event information & pass it to add API [all …]
|
| H A D | event_ethernet_rx_adapter.rst | 8 model for packet processing. In this model, the application polls an event 15 the event device. 159 it was not able to enqueue to the event device. 178 reset queue level stats when queue level event buffer is in use. 216 the event buffer fill level is low. The 221 Rx event vectorization 227 whose event type is either ``RTE_EVENT_TYPE_ETHDEV_VECTOR`` or 245 event = rte_event_dequeue_burst(event_dev, event_port, &event, 247 if (!event) 264 Rx event vectorization for SW Rx adapter [all …]
|
| H A D | event_ethernet_tx_adapter.rst | 8 model for packet processing in which the event device distributes events 98 since it is linked to a single event port. 135 struct rte_event event; 139 event.mbuf = m; 148 event.queue_id = qid; /* event queue linked to adapter port */ 149 event.op = RTE_EVENT_OP_NEW; 150 event.event_type = RTE_EVENT_TYPE_CPU; 151 event.sched_type = RTE_SCHED_TYPE_ATOMIC; 152 event.mbuf = m; 157 rte_event_enqueue_burst(dev_id, ev_port, &event, 1); [all …]
|
| H A D | eventdev.rst | 13 The eventdev framework introduces the event driven programming model. In a 42 application fills in to have the event scheduled as required: 54 * ``queue_id`` - The identifier for the event queue that the event is sent to. 108 An event queue is a queue containing events that are scheduled by the event 378 the event to the next stage in the pipeline. 389 /* Send event to next stage in pipeline */ 411 (event processing) 418 To migrate the event port to another lcore 419 or while tearing down a worker core using an event port, 447 The event producers such as ``event_eth_rx_adapter``, [all …]
|
| /dpdk/doc/guides/eventdevs/ |
| H A D | cnxk.rst | 28 - HW event scheduler 29 - Supports 1M flows per event queue 30 - Flow based event pipelining 31 - Flow pinning support in flow based event pipelining 32 - Queue based event pipelining 34 - Event scheduling QoS based on event queue priority 40 - Up to 256 TIM rings a.k.a event timer adapters. 108 connected to event device. 139 event timer adapter. 190 .. table:: OCTEON cnxk event device debug options [all …]
|
| H A D | octeontx.rst | 21 - HW event scheduler 22 - Supports 1M flows per event queue 23 - Flow based event pipelining 24 - Flow pinning support in flow based event pipelining 25 - Queue based event pipelining 27 - Event scheduling QoS based on event queue priority 31 - HW managed event timers support through TIMVF, with high precision and 33 - Up to 64 event timer adapters. 83 event at a time. 88 When eth_octeontx is used as Rx adapter event schedule type [all …]
|
| H A D | dlb2.rst | 26 The DLB PMD provides the functions of a DPDK event device; specifically, it 56 queue's scheduling types are controlled by the event queue configuration. 126 Finally, even though all 3 event types are supported on the same QID by 134 The flow ID field is preserved in the event when it is scheduled in the 210 RTE_EVENT_OP_NEW) event is injected into the system, and the credit is 215 until it is last dequeued. If the event goes through multiple event queues, it 233 to enqueue an event, and it must dequeue an event before it can recover the 248 The DLB supports event priority and per-port queue service priority, as 256 discarded 5 least significant event priority bits are not preserved when an event 259 Note that event priority only works within the same event type. [all …]
|
| H A D | dpaa.rst | 9 platform to perform event scheduling. 19 - Hardware based event scheduler 20 - 4 event ports 21 - 4 event queues 79 DPAA EVENTDEV driver requires event port 'x' to be used on core 'x'.
|
| H A D | dpaa2.rst | 10 perform event scheduling. 20 - Hardware based event scheduler 21 - 8 event ports 22 - 8 event queues 72 ./your_eventdev_application <EAL args> --log-level=pmd.event.dpaa2,<level>
|
| /dpdk/doc/guides/sample_app_ug/ |
| H A D | l2_forward_event.rst | 11 poll and event mode packet I/O mechanism. 60 … [--event-vector [--event-vector-size SIZE] [--event-vector-tmo NS]] 76 * --event-vector: Enable event vectorization. Only valid if --mode=eventdev. 78 * --event-vector-size: Max vector size if event vectorization is enabled. 80 * --event-vector-tmo: Max timeout to form vector in nanoseconds if event vectorization is enabled. 145 .. literalinclude:: ../../../examples/l2fwd-event/main.c 158 .. literalinclude:: ../../../examples/l2fwd-event/main.c 187 .. literalinclude:: ../../../examples/l2fwd-event/main.c 259 implementation and supports single instance of event device. It configures event 298 to/from an event device. All event ports are linked with all available event [all …]
|
| /dpdk/drivers/net/hinic/base/ |
| H A D | hinic_pmd_hwdev.c | 898 event->event.val[0]); in fault_report_show() 900 event->event.val[1]); in fault_report_show() 902 event->event.val[2]); in fault_report_show() 904 event->event.val[3]); in fault_report_show() 921 event->event.chip.func_id); in fault_report_show() 924 event->event.chip.node_id); in fault_report_show() 926 event->event.chip.err_type); in fault_report_show() 935 event->event.ucode.cause_id); in fault_report_show() 937 event->event.ucode.core_id); in fault_report_show() 939 event->event.ucode.c_id); in fault_report_show() [all …]
|
| /dpdk/examples/ip_pipeline/ |
| H A D | conn.c | 154 struct epoll_event event; in conn_poll_for_conn() local 176 event.events = EPOLLIN | EPOLLRDHUP | EPOLLHUP; in conn_poll_for_conn() 177 event.data.fd = fd_client; in conn_poll_for_conn() 182 &event); in conn_poll_for_conn() 297 struct epoll_event event; in conn_poll_for_msg() local 306 &event, in conn_poll_for_msg() 314 fd_client = event.data.fd; in conn_poll_for_msg() 317 if (event.events & EPOLLIN) in conn_poll_for_msg() 321 if (event.events & (EPOLLRDHUP | EPOLLERR | EPOLLHUP)) in conn_poll_for_msg()
|
| /dpdk/drivers/net/softnic/ |
| H A D | conn.c | 157 struct epoll_event event; in softnic_conn_poll_for_conn() local 179 event.events = EPOLLIN | EPOLLRDHUP | EPOLLHUP; in softnic_conn_poll_for_conn() 180 event.data.fd = fd_client; in softnic_conn_poll_for_conn() 185 &event); in softnic_conn_poll_for_conn() 301 struct epoll_event event; in softnic_conn_poll_for_msg() local 310 &event, in softnic_conn_poll_for_msg() 318 fd_client = event.data.fd; in softnic_conn_poll_for_msg() 321 if (event.events & EPOLLIN) in softnic_conn_poll_for_msg() 325 if (event.events & (EPOLLRDHUP | EPOLLERR | EPOLLHUP)) in softnic_conn_poll_for_msg()
|
| /dpdk/examples/pipeline/ |
| H A D | conn.c | 156 struct epoll_event event; in conn_poll_for_conn() local 178 event.events = EPOLLIN | EPOLLRDHUP | EPOLLHUP; in conn_poll_for_conn() 179 event.data.fd = fd_client; in conn_poll_for_conn() 184 &event); in conn_poll_for_conn() 300 struct epoll_event event; in conn_poll_for_msg() local 309 &event, in conn_poll_for_msg() 317 fd_client = event.data.fd; in conn_poll_for_msg() 320 if (event.events & EPOLLIN) in conn_poll_for_msg() 324 if (event.events & (EPOLLRDHUP | EPOLLERR | EPOLLHUP)) in conn_poll_for_msg()
|
| /dpdk/app/test-eventdev/ |
| H A D | test_order_common.h | 66 order_flow_id_copy_from_mbuf(struct test_order *t, struct rte_event *event) in order_flow_id_copy_from_mbuf() argument 68 event->flow_id = *RTE_MBUF_DYNFIELD(event->mbuf, in order_flow_id_copy_from_mbuf() 74 struct rte_mbuf *mbuf, struct rte_event *event) in order_flow_id_save() argument 78 event->flow_id = flow_id; in order_flow_id_save() 79 event->mbuf = mbuf; in order_flow_id_save()
|
| /dpdk/drivers/event/dsw/ |
| H A D | dsw_event.c | 621 buffer[*buffer_len] = *event; in dsw_port_buffer_non_paused() 643 struct rte_event event) in dsw_port_buffer_parallel() argument 650 dsw_flow_id_hash(event.flow_id)); in dsw_port_buffer_parallel() 657 const struct rte_event *event) in dsw_port_buffer_event() argument 668 flow_hash = dsw_flow_id_hash(event->flow_id); in dsw_port_buffer_event() 672 dsw_port_buffer_paused(source_port, event); in dsw_port_buffer_event() 710 if (event->queue_id == qf->queue_id && in dsw_port_flush_paused_events() 713 dest_port_id, event); in dsw_port_flush_paused_events() 1233 event->op != RTE_EVENT_OP_RELEASE)) in dsw_event_enqueue_burst_generic() 1302 struct rte_event *event = &events[i]; in dsw_port_record_seen_events() local [all …]
|
| /dpdk/doc/guides/tools/ |
| H A D | testeventdev.rst | 50 Set the device id of the event device. 117 Use event timer adapter as producer. 121 Use burst mode event timer adapter as producer. 130 event timer adapter. Refer `rte_event_timer_adapter_conf`. 142 Number of event timers each producer core will generate. 152 timeout is out of the supported range of event device it will be 183 Enable event vector for Rx/Tx adapters. 251 atomic queue, the eventdev PMD reorders the event to the original 355 #. Measure the latency to forward an event. 467 Example command to run perf queue test with event timer adapter: [all …]
|
| /dpdk/lib/eal/linux/ |
| H A D | eal_dev.c | 142 dev_uev_parse(const char *buf, struct rte_dev_event *event, int length) in dev_uev_parse() argument 183 event->devname = strdup(pci_slot_name); in dev_uev_parse() 194 event->subsystem = EAL_DEV_EVENT_SUBSYSTEM_UIO; in dev_uev_parse() 196 event->subsystem = EAL_DEV_EVENT_SUBSYSTEM_PCI; in dev_uev_parse() 198 event->subsystem = EAL_DEV_EVENT_SUBSYSTEM_VFIO; in dev_uev_parse() 204 event->type = RTE_DEV_EVENT_ADD; in dev_uev_parse() 206 event->type = RTE_DEV_EVENT_REMOVE; in dev_uev_parse() 211 free(event->devname); in dev_uev_parse()
|
| /dpdk/drivers/raw/ifpga/base/ |
| H A D | ifpga_fme_iperf.c | 69 u8 channel, enum iperf_cache_events event) in read_cache_counter() argument 83 ctl.cache_event = event; in read_cache_counter() 87 ctr0.event_code = event; in read_cache_counter() 104 #define CACHE_SHOW(name, type, event) \ argument 158 enum iperf_vtd_sip_events event) in read_iommu_sip_counter() argument 169 sip_ctl.vtd_evtcode = event; in read_iommu_sip_counter() 172 sip_ctr.event_code = event; in read_iommu_sip_counter() 188 #define VTD_SIP_SHOW(name, event) \ argument 222 ctl.vtd_evtcode = event; in read_iommu_counter() 225 ctr.event_code = event; in read_iommu_counter() [all …]
|
| /dpdk/lib/bbdev/ |
| H A D | rte_bbdev.c | 934 if (event >= RTE_BBDEV_EVENT_MAX) { in rte_bbdev_callback_register() 937 event, RTE_BBDEV_EVENT_MAX); in rte_bbdev_callback_register() 951 user_cb->event == event) in rte_bbdev_callback_register() 962 user_cb->event = event; in rte_bbdev_callback_register() 980 if (event >= RTE_BBDEV_EVENT_MAX) { in rte_bbdev_callback_unregister() 983 event, RTE_BBDEV_EVENT_MAX); in rte_bbdev_callback_unregister() 1000 if (cb->cb_fn != cb_fn || cb->event != event || in rte_bbdev_callback_unregister() 1033 if (event >= RTE_BBDEV_EVENT_MAX) { in rte_bbdev_pmd_callback_process() 1036 event, RTE_BBDEV_EVENT_MAX); in rte_bbdev_pmd_callback_process() 1042 if (cb_lst->cb_fn == NULL || cb_lst->event != event) in rte_bbdev_pmd_callback_process() [all …]
|
| /dpdk/drivers/net/ixgbe/ |
| H A D | ixgbe_bypass.h | 13 s32 (*bypass_set)(struct ixgbe_hw *hw, u32 cmd, u32 event, u32 action); 27 s32 ixgbe_bypass_event_show(struct rte_eth_dev *dev, u32 event, u32 *state); 28 s32 ixgbe_bypass_event_store(struct rte_eth_dev *dev, u32 event, u32 state);
|
| /dpdk/drivers/net/mlx4/ |
| H A D | mlx4_intr.c | 191 struct ibv_async_event event; in mlx4_interrupt_handler() local 197 while (!mlx4_glue->get_async_event(priv->ctx, &event)) { in mlx4_interrupt_handler() 198 switch (event.event_type) { in mlx4_interrupt_handler() 210 event.event_type, event.element.port_num); in mlx4_interrupt_handler() 212 mlx4_glue->ack_async_event(&event); in mlx4_interrupt_handler()
|
| /dpdk/doc/guides/nics/ |
| H A D | vhost.rst | 18 …he vhost PMD provides the basic functionality of packet reception, transmission and event handling. 67 Vhost PMD event handling 72 The user can register an event callback handler with ``rte_eth_dev_callback_register()``. 73 The registered callback handler will be invoked with one of below event types. 82 …Because changing multiple statuses may occur only one event, call the function repeatedly as long …
|
| /dpdk/lib/eal/windows/ |
| H A D | eal_interrupts.c | 18 eal_intr_process(const OVERLAPPED_ENTRY *event) in eal_intr_process() argument 20 RTE_SET_USED(event); in eal_intr_process() 265 rte_epoll_ctl(int epfd, int op, int fd, struct rte_epoll_event *event) in rte_epoll_ctl() argument 270 RTE_SET_USED(event); in rte_epoll_ctl()
|