> -----Original Message----- > From: Jerin Jacob <jerinjac...@gmail.com> > Sent: Wednesday, June 18, 2025 5:26 AM > To: Pathak, Pravin <pravin.pat...@intel.com> > Cc: dev@dpdk.org; jer...@marvell.com; Chen, Mike Ximing > <mike.ximing.c...@intel.com>; Richardson, Bruce > <bruce.richard...@intel.com>; tho...@monjalon.net; Marchand, David > <david.march...@redhat.com>; nipun.gu...@amd.com; > chen...@nvidia.com; Sarkar, Tirthendu <tirthendu.sar...@intel.com> > Subject: Re: [PATCH v3 4/7] event/dlb2: support managing history list > resource > > 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
Changed it. > > > + * > > + * 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. Added Doxygen comments > > > > +}; > > + > > +/** > > + * @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 Fixed > > > > + * > > + * @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 Added > > 2) For the following, if I try to avoid line continuation, I get the following warning. WARNING:MULTILINE_DEREFERENCE: Avoid multiple line dereference - prefer 'qm_port->ev_port->stats.queue[ev_qid0].qid_depth[RTE_PMD_DLB2_GET_QID_DEPTH(&events[0]' > > ### [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 > >