[v3] eventdev/eth_rx: fix timestamp field register in mbuf

Message ID 20230920164823.1164930-1-rbhansali@marvell.com (mailing list archive)
State Accepted, archived
Delegated to: Jerin Jacob
Headers
Series [v3] eventdev/eth_rx: fix timestamp field register in mbuf |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/loongarch-compilation success Compilation OK
ci/loongarch-unit-testing success Unit Testing PASS
ci/Intel-compilation success Compilation OK
ci/intel-Testing success Testing PASS
ci/github-robot: build success github build: passed
ci/intel-Functional success Functional PASS
ci/iol-mellanox-Performance success Performance Testing PASS
ci/iol-compile-amd64-testing success Testing PASS
ci/iol-unit-arm64-testing success Testing PASS
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-sample-apps-testing success Testing PASS
ci/iol-unit-amd64-testing success Testing PASS
ci/iol-compile-arm64-testing success Testing PASS
ci/iol-broadcom-Performance success Performance Testing PASS
ci/iol-broadcom-Functional success Functional Testing PASS
ci/iol-intel-Functional success Functional Testing PASS

Commit Message

Rahul Bhansali Sept. 20, 2023, 4:48 p.m. UTC
  For eventdev internal port, timestamp dynamic field registration
in mbuf is not required as that will be done from net device.
For SW eventdev, Rx timestamp field registration will be
done during Rxa service initialization.

Fixes: 83ab470d1259 ("eventdev/eth_rx: use timestamp as dynamic mbuf field")
Cc: stable@dpdk.org

Signed-off-by: Rahul Bhansali <rbhansali@marvell.com>
---
v3 changes:
- timestamp register move before other Rxa init config.

v2 changes:
- addresses the review comment to have registration in rxa_init_service()

 lib/eventdev/rte_event_eth_rx_adapter.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

--
2.25.1
  

Comments

Naga Harish K, S V Sept. 26, 2023, 7:04 a.m. UTC | #1
> -----Original Message-----
> From: Rahul Bhansali <rbhansali@marvell.com>
> Sent: Wednesday, September 20, 2023 10:18 PM
> To: dev@dpdk.org; Naga Harish K, S V <s.v.naga.harish.k@intel.com>; Jerin
> Jacob <jerinj@marvell.com>; Kundapura, Ganapati
> <ganapati.kundapura@intel.com>
> Cc: Rahul Bhansali <rbhansali@marvell.com>; stable@dpdk.org
> Subject: [PATCH v3] eventdev/eth_rx: fix timestamp field register in mbuf
> 
> For eventdev internal port, timestamp dynamic field registration in mbuf is not
> required as that will be done from net device.
> For SW eventdev, Rx timestamp field registration will be done during Rxa
> service initialization.
> 
> Fixes: 83ab470d1259 ("eventdev/eth_rx: use timestamp as dynamic mbuf
> field")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Rahul Bhansali <rbhansali@marvell.com>

Acked-by: Naga Harish K S V <s.v.naga.harish.k@intel.com>

> ---
> v3 changes:
> - timestamp register move before other Rxa init config.
> 
> v2 changes:
> - addresses the review comment to have registration in rxa_init_service()
> 
>  lib/eventdev/rte_event_eth_rx_adapter.c | 14 +++++++-------
>  1 file changed, 7 insertions(+), 7 deletions(-)
> 
> diff --git a/lib/eventdev/rte_event_eth_rx_adapter.c
> b/lib/eventdev/rte_event_eth_rx_adapter.c
> index 3ebfa5366d..8df92247fa 100644
> --- a/lib/eventdev/rte_event_eth_rx_adapter.c
> +++ b/lib/eventdev/rte_event_eth_rx_adapter.c
> @@ -1910,6 +1910,13 @@ rxa_init_service(struct event_eth_rx_adapter
> *rx_adapter, uint8_t id)
>  	if (rx_adapter->service_inited)
>  		return 0;
> 
> +	if (rte_mbuf_dyn_rx_timestamp_register(
> +			&event_eth_rx_timestamp_dynfield_offset,
> +			&event_eth_rx_timestamp_dynflag) != 0) {
> +		RTE_EDEV_LOG_ERR("Error registering timestamp field in
> mbuf\n");
> +		return -rte_errno;
> +	}
> +
>  	memset(&service, 0, sizeof(service));
>  	snprintf(service.name, ETH_RX_ADAPTER_SERVICE_NAME_LEN,
>  		"rte_event_eth_rx_adapter_%d", id);
> @@ -2472,13 +2479,6 @@ rxa_create(uint8_t id, uint8_t dev_id,
>  	if (conf_cb == rxa_default_conf_cb)
>  		rx_adapter->default_cb_arg = 1;
> 
> -	if (rte_mbuf_dyn_rx_timestamp_register(
> -			&event_eth_rx_timestamp_dynfield_offset,
> -			&event_eth_rx_timestamp_dynflag) != 0) {
> -		RTE_EDEV_LOG_ERR("Error registering timestamp field in
> mbuf\n");
> -		return -rte_errno;
> -	}
> -
>  	rte_eventdev_trace_eth_rx_adapter_create(id, dev_id, conf_cb,
>  		conf_arg);
>  	return 0;
> --
> 2.25.1
  
Jerin Jacob Sept. 27, 2023, 4:58 a.m. UTC | #2
On Wed, Sep 27, 2023 at 2:41 AM Naga Harish K, S V
<s.v.naga.harish.k@intel.com> wrote:
>
>
>
> > -----Original Message-----
> > From: Rahul Bhansali <rbhansali@marvell.com>
> > Sent: Wednesday, September 20, 2023 10:18 PM
> > To: dev@dpdk.org; Naga Harish K, S V <s.v.naga.harish.k@intel.com>; Jerin
> > Jacob <jerinj@marvell.com>; Kundapura, Ganapati
> > <ganapati.kundapura@intel.com>
> > Cc: Rahul Bhansali <rbhansali@marvell.com>; stable@dpdk.org
> > Subject: [PATCH v3] eventdev/eth_rx: fix timestamp field register in mbuf
> >
> > For eventdev internal port, timestamp dynamic field registration in mbuf is not
> > required as that will be done from net device.
> > For SW eventdev, Rx timestamp field registration will be done during Rxa
> > service initialization.
> >
> > Fixes: 83ab470d1259 ("eventdev/eth_rx: use timestamp as dynamic mbuf
> > field")
> > Cc: stable@dpdk.org
> >
> > Signed-off-by: Rahul Bhansali <rbhansali@marvell.com>
>
> Acked-by: Naga Harish K S V <s.v.naga.harish.k@intel.com>


Applied to dpdk-next-net-eventdev/for-main. Thanks
  

Patch

diff --git a/lib/eventdev/rte_event_eth_rx_adapter.c b/lib/eventdev/rte_event_eth_rx_adapter.c
index 3ebfa5366d..8df92247fa 100644
--- a/lib/eventdev/rte_event_eth_rx_adapter.c
+++ b/lib/eventdev/rte_event_eth_rx_adapter.c
@@ -1910,6 +1910,13 @@  rxa_init_service(struct event_eth_rx_adapter *rx_adapter, uint8_t id)
 	if (rx_adapter->service_inited)
 		return 0;

+	if (rte_mbuf_dyn_rx_timestamp_register(
+			&event_eth_rx_timestamp_dynfield_offset,
+			&event_eth_rx_timestamp_dynflag) != 0) {
+		RTE_EDEV_LOG_ERR("Error registering timestamp field in mbuf\n");
+		return -rte_errno;
+	}
+
 	memset(&service, 0, sizeof(service));
 	snprintf(service.name, ETH_RX_ADAPTER_SERVICE_NAME_LEN,
 		"rte_event_eth_rx_adapter_%d", id);
@@ -2472,13 +2479,6 @@  rxa_create(uint8_t id, uint8_t dev_id,
 	if (conf_cb == rxa_default_conf_cb)
 		rx_adapter->default_cb_arg = 1;

-	if (rte_mbuf_dyn_rx_timestamp_register(
-			&event_eth_rx_timestamp_dynfield_offset,
-			&event_eth_rx_timestamp_dynflag) != 0) {
-		RTE_EDEV_LOG_ERR("Error registering timestamp field in mbuf\n");
-		return -rte_errno;
-	}
-
 	rte_eventdev_trace_eth_rx_adapter_create(id, dev_id, conf_cb,
 		conf_arg);
 	return 0;