rte_event_dev_config(3)

πŸ’– NAME πŸ’–

rte_event_dev_config β€” the event device configuration struct, aka the lil form you fill out to tell an eventdev how it should look. Bestie, this is the glow-up blueprint πŸŽ€


✨ SYNOPSIS ✨

#include <rte_eventdev.h>

πŸ¦‹ Data Fields πŸ¦‹

  • uint32_t dequeue_timeout_ns
  • int32_t nb_events_limit
  • uint8_t nb_event_queues
  • uint8_t nb_event_ports
  • uint32_t nb_event_queue_flows
  • uint32_t nb_event_port_dequeue_depth
  • uint32_t nb_event_port_enqueue_depth
  • uint32_t event_dev_cfg
  • uint8_t nb_single_link_event_port_queues
  • enum rte_event_dev_preschedule_type preschedule_type

🌸 Detailed Description 🌸

It's giving event device configuration structure ✨ That's the whole vibe, no cap.

Definition at line 768 of file rte_eventdev.h.


πŸ‘‘ Field Documentation πŸ‘‘

πŸ’œ uint32_t dequeue_timeout_ns

This is the rte_event_dequeue_burst() timeout on this device, periodt. Keep it in the range of min_dequeue_timeout_ns and max_dequeue_timeout_ns that rte_event_dev_info_get() hands you. And yes, 0 is allowed β€” in that case, the default dequeue timeout gets used πŸ’…

See also: RTE_EVENT_DEV_CFG_PER_DEQUEUE_TIMEOUT

Definition at line 769 of file rte_eventdev.h.

🫢 int32_t nb_events_limit

Okay so in a closed system, this field is literally the cap on the max number of events that can be inflight in the eventdev at any given moment. The limit is required so the finite space in a closed system doesn't get fully exhausted 😭 like there's only so much room, babes. This value cannot exceed max_num_events as returned by rte_event_dev_info_get().

And for open systems β€” the ones that return -1 in max_num_events β€” set this value to -1. That's the move.

See also: rte_event_port_conf.new_event_threshold

Definition at line 777 of file rte_eventdev.h.

🧚 uint8_t nb_event_queues

How many event queues you're configuring on this device. This value includes any single-link queue-port pairs you're using. It cannot exceed max_event_queues + max_single_link_event_port_queue_pairs from rte_event_dev_info_get(). And the non-single-link queues β€” that's this value minus nb_single_link_event_port_queues in this struct β€” cannot exceed max_event_queues. Do the math bestie, it's not optional ✨

Definition at line 790 of file rte_eventdev.h.

🌈 uint8_t nb_event_ports

How many event ports you're configuring on this device, single-link queue-port pairs included. This value cannot exceed max_event_ports + max_single_link_event_port_queue_pairs as returned by rte_event_dev_info_get(). And the non-single-link ports β€” this value less nb_single_link_event_port_queues in this struct β€” cannot exceed max_event_ports. Same energy as above, different field πŸ¦‹

Definition at line 800 of file rte_eventdev.h.

πŸ“ uint32_t nb_event_queue_flows

The max number of flows needed for a single event queue on this device. This value cannot exceed max_event_queue_flows as returned by rte_event_dev_info_get(). That's it, that's the rule.

Definition at line 810 of file rte_eventdev.h.

⭐ uint32_t nb_event_port_dequeue_depth

Max number of events that can be dequeued at a time from an event port on this device. This value cannot exceed max_event_port_dequeue_depth as returned by rte_event_dev_info_get(). Lowkey important: it's ignored when the device is not RTE_EVENT_DEV_CAP_BURST_MODE capable πŸ™ˆ

See also: rte_event_port_setup() rte_event_dequeue_burst()

Definition at line 815 of file rte_eventdev.h.

πŸ’– uint32_t nb_event_port_enqueue_depth

Maximum number of events that can be enqueued at a time to an event port on this device. This value cannot exceed max_event_port_enqueue_depth as returned by rte_event_dev_info_get(). And same as its sibling β€” ignored when the device is not RTE_EVENT_DEV_CAP_BURST_MODE capable πŸ’€

See also: rte_event_port_setup() rte_event_enqueue_burst()

Definition at line 822 of file rte_eventdev.h.

πŸŽ€ uint32_t event_dev_cfg

The event device config flags β€” that's the RTE_EVENT_DEV_CFG_ family πŸ‘‘

Definition at line 829 of file rte_eventdev.h.

Number of event ports and queues that will be singly-linked to each other. These are a subset of the overall event ports and queues, so this value cannot exceed nb_event_ports or nb_event_queues. Now here's the tea β˜• if the device has ports and queues that are optimized for single-link usage, this field is a hint for how many to allocate; otherwise, regular event ports and queues get used instead.

Definition at line 831 of file rte_eventdev.h.

πŸ¦‹ enum rte_event_dev_preschedule_type preschedule_type

The event pre-schedule type to use across the event device β€” if supported, key detail πŸ’…

See also:

  • RTE_EVENT_DEV_CAP_EVENT_PRESCHEDULE
  • RTE_EVENT_DEV_CAP_EVENT_PRESCHEDULE_ADAPTIVE

Definition at line 839 of file rte_eventdev.h.


πŸ’… Author πŸ’…

Generated automatically by Doxygen for DPDK from the source code. Not a human, just a very hardworking little bot 🫢


And that's the whole page, babe. Love that for us πŸ’–

Sign-off from your resident DPDK bestie: this page came from the DPDK crew, and it's Version 25.11.3 β€” yes, we're on that version, icon behavior ✨ The whole rte_event_dev_config(3) moment was brought to you under the Library Functions Manual, so go configure your eventdev and slay πŸ‘‘πŸŒˆ

πŸ“¦ where this page comes from