On Wed, Jun 18, 2025 at 12:52 AM Pravin Pathak <pravin.pat...@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.pat...@intel.com> > Signed-off-by: Tirthendu Sarkar <tirthendu.sar...@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 >