>-----Original Message-----
>From: dev <dev-boun...@dpdk.org> On Behalf Of Naga Harish K S V
>Sent: Tuesday, September 21, 2021 2:52 PM
>To: Jerin Jacob Kollanukkaran <jer...@marvell.com>;
>jay.jayatheert...@intel.com
>Cc: dev@dpdk.org
>Subject: [EXT] [dpdk-dev] [PATCH v2 3/5] eventdev/rx_adapter:add per
>queue event buffer configure support
>
>External Email
>
>----------------------------------------------------------------------
>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_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 dd753613bd..333e6f8192 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;

Wasn't this set to 6 * BURST_SIZE in the previous patch?

>
>         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 a7881097b4..b9f0563244 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 */
> };
>
> /**
>@@ -265,6 +267,8 @@ struct rte_event_eth_rx_adapter_params {
>       /**< size of event buffer for the adapter.
>        * the size is aligned to BATCH_SIZE and added (2 * BATCH_SIZE)
>        */
>+      bool use_queue_event_buf;
>+      /**< flag to indicate that event buffer is separate for each
>queue */
> };
>
> /**
>--
>2.25.1

Reply via email to