[PATCH v3 4/7] event/dlb2: support managing history list resource
Jerin Jacob
jerinjacobk at gmail.com
Wed Jun 18 11:26:18 CEST 2025
On Wed, Jun 18, 2025 at 12:52 AM Pravin Pathak <pravin.pathak at intel.com> wrote:
>
> Add support for setting application specified port history
> Set HL equal to CQ depth when inflight control is enabled
> Added command line parameters 'use_default_hl' (default: 1)
> and 'alloc_hl_entries'
> - When 'use_default_hl = 1'
> * Per port HL is set to DLB2_FIXED_CQ_HL_SIZE (32)
> * Recommended CQ depth by dlb2_eventdev_port_default_conf_get()
> is DLB2_FIXED_CQ_HL_SIZE/2
> * command line parameter alloc_hl_entries is ignored
> - When 'use_default_hl = 0'
> * Per LDB port HL = 2 * CQ depth
> * Recommended CQ depth by dlb2_eventdev_port_default_conf_get()
> is DLB2_FIXED_CQ_HL_SIZE
> * User should calculate needed HL entries based on CQ depths the
> application will use and specify it as command line parameter
> 'alloc_hl_entries'. This will be used to allocate HL entries.
> alloc_hl_entries = (Sum of all LDB ports CQ depths * 2)
> * If alloc_hl_entries is not specified, then
> Total HL entries for the eventdev = num_ldb_ports * 64
>
> Signed-off-by: Pravin Pathak <pravin.pathak at intel.com>
> Signed-off-by: Tirthendu Sarkar <tirthendu.sarkar at intel.com>
> ---
> -/*!
> +/**
> * @warning
> * @b EXPERIMENTAL: this API may change, or be removed, without prior notice
> *
> @@ -91,6 +91,52 @@ rte_pmd_dlb2_set_token_pop_mode(uint8_t dev_id,
> uint8_t port_id,
> enum dlb2_token_pop_mode mode);
>
> +/** Set inflight threshold for flow migration */
> +#define DLB2_SET_PORT_FLOW_MIGRATION_THRESHOLD RTE_BIT64(0)
> +
> +/** Set port history list */
> +#define DLB2_SET_PORT_HL RTE_BIT64(1)
> +
> +/**
> + * @warning
> + * @b EXPERIMENTAL: this API may change, or be removed, without prior notice
This is NOT API
> + *
> + * Sets TDT threshold and HL size for a DLB2 port.
> + */
> +struct rte_pmd_dlb2_port_param {
> + uint16_t inflight_threshold : 12;
> + uint16_t port_hl;
Doxygen comments for each field is missing.
> +};
> +
> +/**
> + * @warning
> + * @b EXPERIMENTAL: this API may change, or be removed, without prior notice
> + *
> + * Configure various port parameters.
> + * This function must be called before calling rte_event_port_setup()
> + * for the port, and after calling rte_event_dev_configure().
> + *
> + * @param dev_id
> + * The identifier of the event device.
> + * @param port_id
> + * The identifier of the event port.
> + * @param flags
> + * Bitmask of the parameters being set.
> + * @param val
> + * Structure coantaining the values of parameters being set.
coantaining - Typo
> + *
> + * @return
> + * - 0: Success
> + * - EINVAL: Invalid dev_id, port_id, or mode
> + * - EINVAL: The DLB2 is not configured, is already running, or the port is
> + * already setup
> + */
> +__rte_experimental
> +int
> +rte_pmd_dlb2_set_port_param(uint8_t dev_id,
> + uint8_t port_id,
> + uint64_t flags,
> + void *val);
Why void * - Is it rte_pmd_dlb2_port_param * pointer. Right?
Also fix following issues
1)[for-main]dell[dpdk-next-eventdev] $ git diff HEAD~7..HEAD | grep \(void\)
+ (void) enqueue_depth;
use RTE_SET_USED
2)
### [PATCH] event/dlb2: support managing history list resource
Warning in drivers/event/dlb2/dlb2.c:
Using %l format, prefer %PRI*64 if type is [u]int64_t
### [PATCH] event/dlb2: fix qid depth xstat in vector path
WARNING:LINE_CONTINUATIONS: Avoid unnecessary line continuations
#21: FILE: drivers/event/dlb2/dlb2.c:4148:
+ DLB2_INC_STAT(qm_port->ev_port->stats.queue[ev_qid3].\
WARNING:LINE_CONTINUATIONS: Avoid unnecessary line continuations
#30: FILE: drivers/event/dlb2/dlb2.c:4157:
+ DLB2_INC_STAT(qm_port->ev_port->stats.queue[ev_qid2].\
WARNING:LINE_CONTINUATIONS: Avoid unnecessary line continuations
#39: FILE: drivers/event/dlb2/dlb2.c:4167:
+ DLB2_INC_STAT(qm_port->ev_port->stats.queue[ev_qid1].\
WARNING:LINE_CONTINUATIONS: Avoid unnecessary line continuations
#48: FILE: drivers/event/dlb2/dlb2.c:4176:
+ DLB2_INC_STAT(qm_port->ev_port->stats.queue[ev_qid0].\
total: 0 errors, 4 warnings, 32 lines checked
> #ifdef __cplusplus
> }
> #endif
> --
> 2.39.1
>
More information about the dev
mailing list