> -----Original Message----- > From: Naga Harish K, S V <s.v.naga.haris...@intel.com> > Sent: Monday, October 4, 2021 11:11 AM > To: jer...@marvell.com; Jayatheerthan, Jay <jay.jayatheert...@intel.com> > Cc: dev@dpdk.org > Subject: [PATCH v5 3/5] eventdev/rx_adapter: introduce per queue event buffer > > To configure per queue event buffer size, application sets > ``rte_event_eth_rx_adapter_params::use_queue_event_buf`` flag > as true and is passed to ``rte_event_eth_rx_adapter_create_with_params`` > api. > > The per queue event buffer size is populated in > ``rte_event_eth_rx_adapter_queue_conf::event_buf_size`` and passed > to ``rte_event_eth_rx_adapter_queue_add`` api. > > Signed-off-by: Naga Harish K S V <s.v.naga.haris...@intel.com> > --- > .../prog_guide/event_ethernet_rx_adapter.rst | 19 ++++++++++++------- > lib/eventdev/rte_event_eth_rx_adapter.h | 4 ++++ > 2 files changed, 16 insertions(+), 7 deletions(-) > > diff --git a/doc/guides/prog_guide/event_ethernet_rx_adapter.rst > b/doc/guides/prog_guide/event_ethernet_rx_adapter.rst > index 8526aecf57..8b58130fc5 100644 > --- a/doc/guides/prog_guide/event_ethernet_rx_adapter.rst > +++ b/doc/guides/prog_guide/event_ethernet_rx_adapter.rst > @@ -62,12 +62,14 @@ service function and needs to create an event port for > it. The callback is > expected to fill the ``struct rte_event_eth_rx_adapter_conf structure`` > passed to it. > > -If the application desires to control the event buffer size, it can use the > -``rte_event_eth_rx_adapter_create_with_params()`` api. The event buffer size > is > -specified using ``struct rte_event_eth_rx_adapter_params::event_buf_size``. > -The function is passed the event device to be associated with the adapter > -and port configuration for the adapter to setup an event port if the > -adapter needs to use a service function. > +If the application desires to control the event buffer size at adapter level, > +it can use the ``rte_event_eth_rx_adapter_create_with_params()`` api. The > event > +buffer size is specified using ``struct rte_event_eth_rx_adapter_params:: > +event_buf_size``. To configure the event buffer size at queue level, the > boolean > +flag ``struct rte_event_eth_rx_adapter_params::use_queue_event_buf`` need to > be > +set to true. The function is passed the event device to be associated with > +the adapter and port configuration for the adapter to setup an event port > +if the adapter needs to use a service function. > > Adding Rx Queues to the Adapter Instance > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > @@ -79,7 +81,9 @@ parameter. Event information for packets from this Rx queue > is encoded in the > ``ev`` field of ``struct rte_event_eth_rx_adapter_queue_conf``. The > servicing_weight member of the struct rte_event_eth_rx_adapter_queue_conf > is the relative polling frequency of the Rx queue and is applicable when the > -adapter uses a service core function. > +adapter uses a service core function. The applications can configure queue > +event buffer size in ``struct > rte_event_eth_rx_adapter_queue_conf::event_buf_size`` > +parameter. > > .. code-block:: c > > @@ -90,6 +94,7 @@ adapter uses a service core function. > queue_config.rx_queue_flags = 0; > queue_config.ev = ev; > queue_config.servicing_weight = 1; > + queue_config.event_buf_size = 1024; > > err = rte_event_eth_rx_adapter_queue_add(id, > eth_dev_id, > diff --git a/lib/eventdev/rte_event_eth_rx_adapter.h > b/lib/eventdev/rte_event_eth_rx_adapter.h > index 846ca569e9..70ca427d66 100644 > --- a/lib/eventdev/rte_event_eth_rx_adapter.h > +++ b/lib/eventdev/rte_event_eth_rx_adapter.h > @@ -200,6 +200,8 @@ struct rte_event_eth_rx_adapter_queue_conf { > * Valid when RTE_EVENT_ETH_RX_ADAPTER_QUEUE_EVENT_VECTOR flag is set in > * @see rte_event_eth_rx_adapter_queue_conf::rx_queue_flags. > */ > + uint16_t event_buf_size; > + /**< event buffer size for this queue */ > }; > > /** > @@ -267,6 +269,8 @@ struct rte_event_eth_rx_adapter_params { > * This value is rounded up for better buffer utilization > * and performance. > */ > + bool use_queue_event_buf; > + /**< flag to indicate that event buffer is separate for each queue */ > }; > > /** > -- > 2.25.1
Acked-by: Jay Jayatheerthan <jay.jayatheert...@intel.com>