[v2,3/5] eventdev/rx_adapter:add per queue event buffer configure support

Message ID 20210921092146.1778421-3-s.v.naga.harish.k@intel.com (mailing list archive)
State Superseded, archived
Delegated to: Jerin Jacob
Headers
Series [v2,1/5] eventdev/rx_adapter: add support to configure event buffer size |

Checks

Context Check Description
ci/checkpatch success coding style OK

Commit Message

Naga Harish K, S V Sept. 21, 2021, 9:21 a.m. UTC
  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.harish.k@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(-)
  

Comments

Jerin Jacob Sept. 21, 2021, 4:24 p.m. UTC | #1
On Tue, Sep 21, 2021 at 2:52 PM Naga Harish K S V
<s.v.naga.harish.k@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_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.harish.k@intel.com>

Fix check-git-log issues


Wrong headline format:
        eventdev/rx_adapter:add per queue event buffer configure support
Wrong headline case:
                        "test/event: add unit test for event buffer
size config api": api --> API
Wrong headline case:
                        "test/eventdev: add per rx queue event buffer
unit": rx --> Rx
Headline too long:
        eventdev/rx_adapter: add support to configure event buffer size
        eventdev/rx_adapter:add per queue event buffer configure support

Invalid patch(es) found - checked 5 patches


> ---
>  .../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;
>
>          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
>
  
Pavan Nikhilesh Bhagavatula Sept. 21, 2021, 8:32 p.m. UTC | #2
>-----Original Message-----
>From: dev <dev-bounces@dpdk.org> On Behalf Of Naga Harish K S V
>Sent: Tuesday, September 21, 2021 2:52 PM
>To: Jerin Jacob Kollanukkaran <jerinj@marvell.com>;
>jay.jayatheerthan@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.harish.k@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
  
Naga Harish K, S V Sept. 22, 2021, 3:21 p.m. UTC | #3
Hi Jerin,

> -----Original Message-----
> From: Jerin Jacob <jerinjacobk@gmail.com>
> Sent: Tuesday, September 21, 2021 9:55 PM
> To: Naga Harish K, S V <s.v.naga.harish.k@intel.com>
> Cc: Jerin Jacob <jerinj@marvell.com>; Jayatheerthan, Jay
> <jay.jayatheerthan@intel.com>; dpdk-dev <dev@dpdk.org>
> Subject: Re: [dpdk-dev] [PATCH v2 3/5] eventdev/rx_adapter:add per queue
> event buffer configure support
> 
> On Tue, Sep 21, 2021 at 2:52 PM Naga Harish K S V
> <s.v.naga.harish.k@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_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.harish.k@intel.com>
> 
> Fix check-git-log issues
> 
> 
> Wrong headline format:
>         eventdev/rx_adapter:add per queue event buffer configure support
> Wrong headline case:
>                         "test/event: add unit test for event buffer size config api": api -->
> API Wrong headline case:
>                         "test/eventdev: add per rx queue event buffer
> unit": rx --> Rx
> Headline too long:
>         eventdev/rx_adapter: add support to configure event buffer size
>         eventdev/rx_adapter:add per queue event buffer configure support
> 
> Invalid patch(es) found - checked 5 patches

The check-git-log issues are resolved in v3 patch set.


> 
> 
> > ---
> >  .../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;
> >
> >          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
> >
  
Naga Harish K, S V Sept. 22, 2021, 3:39 p.m. UTC | #4
> -----Original Message-----
> From: Pavan Nikhilesh Bhagavatula <pbhagavatula@marvell.com>
> Sent: Wednesday, September 22, 2021 2:02 AM
> To: Naga Harish K, S V <s.v.naga.harish.k@intel.com>; Jerin Jacob
> Kollanukkaran <jerinj@marvell.com>; Jayatheerthan, Jay
> <jay.jayatheerthan@intel.com>
> Cc: dev@dpdk.org
> Subject: RE: [EXT] [dpdk-dev] [PATCH v2 3/5] eventdev/rx_adapter:add per
> queue event buffer configure support
> 
> 
> 
> >-----Original Message-----
> >From: dev <dev-bounces@dpdk.org> On Behalf Of Naga Harish K S V
> >Sent: Tuesday, September 21, 2021 2:52 PM
> >To: Jerin Jacob Kollanukkaran <jerinj@marvell.com>;
> >jay.jayatheerthan@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.harish.k@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?

Application may choose to use any value for the event buffer size.
That is the purpose of this change, to change event buffer size as per
Application requirements.


> 
> >
> >         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
  

Patch

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;
 
         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 */
 };
 
 /**