On Sat, Sep 18, 2021 at 6:42 PM Naga Harish K S V <s.v.naga.haris...@intel.com> wrote: > > To configure per queue event buffer size, applications sets > ``rte_event_eth_rx_adapter_params::use_queue_event_buf`` flag > as true and is passed to `rte_event_eth_rx_adapter_create2` 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``. > > Signed-off-by: Naga Harish K S V <s.v.naga.haris...@intel.com>
Please change the subject to eventdev/rx_adapter: ... rest looks good to me. > --- > .../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 cbf694c66b..55d09dbcb8 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_create2()`` 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_create2()`` 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 a1b5e0ed37..f9e63dc126 100644 > --- a/lib/eventdev/rte_event_eth_rx_adapter.h > +++ b/lib/eventdev/rte_event_eth_rx_adapter.h > @@ -199,6 +199,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 */ > }; > > /** > @@ -263,6 +265,8 @@ struct rte_event_eth_rx_adapter_vector_limits { > struct rte_event_eth_rx_adapter_params { > uint16_t event_buf_size; > /**< size of event buffer for the adapter */ > + bool use_queue_event_buf; > + /**< flag to indicate that event buffer is separate for each queue */ > }; > > /** > -- > 2.25.1 >