[v4,14/14] eventdev: mark trace variables as internal

Message ID 20211015190221.2160-14-pbhagavatula@marvell.com (mailing list archive)
State Superseded, archived
Delegated to: Jerin Jacob
Headers
Series [v4,01/14] eventdev: make driver interface as internal |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation warning apply issues

Commit Message

Pavan Nikhilesh Bhagavatula Oct. 15, 2021, 7:02 p.m. UTC
  From: Pavan Nikhilesh <pbhagavatula@marvell.com>

Mark rte_trace global variables as internal i.e. remove them
from experimental section of version map.
Some of them are used in inline APIs, mark those as global.

Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
Acked-by: Ray Kinsella <mdr@ashroe.eu>
---
 doc/guides/rel_notes/release_21_11.rst | 12 +++++
 lib/eventdev/version.map               | 71 ++++++++++++--------------
 2 files changed, 44 insertions(+), 39 deletions(-)
  

Comments

Jerin Jacob Oct. 17, 2021, 5:58 a.m. UTC | #1
On Sat, Oct 16, 2021 at 12:34 AM <pbhagavatula@marvell.com> wrote:
>
> From: Pavan Nikhilesh <pbhagavatula@marvell.com>
>
> Mark rte_trace global variables as internal i.e. remove them
> from experimental section of version map.
> Some of them are used in inline APIs, mark those as global.
>
> Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
> Acked-by: Ray Kinsella <mdr@ashroe.eu>
> ---
>  doc/guides/rel_notes/release_21_11.rst | 12 +++++
>  lib/eventdev/version.map               | 71 ++++++++++++--------------
>  2 files changed, 44 insertions(+), 39 deletions(-)
>
> diff --git a/doc/guides/rel_notes/release_21_11.rst b/doc/guides/rel_notes/release_21_11.rst
> index 38e601c236..5b4a05c3ae 100644
> --- a/doc/guides/rel_notes/release_21_11.rst
> +++ b/doc/guides/rel_notes/release_21_11.rst
> @@ -226,6 +226,9 @@ API Changes
>    the crypto/security operation. This field will be used to communicate
>    events such as soft expiry with IPsec in lookaside mode.
>
> +* eventdev: Event vector configuration APIs have been made stable.
> +  Move memory used by timer adapters to hugepage. This will prevent TLB misses
> +  if any and aligns to memory structure of other subsystems.
>
>  ABI Changes
>  -----------
> @@ -277,6 +280,15 @@ ABI Changes
>    were added in structure ``rte_event_eth_rx_adapter_stats`` to get additional
>    status.
>
> +* eventdev: A new structure ``rte_event_fp_ops`` has been added which is now used
> +  by the fastpath inline functions. The structures ``rte_eventdev``,
> +  ``rte_eventdev_data`` have been made internal. ``rte_eventdevs[]`` can't be
> +  accessed directly by user any more. This change is transparent to both
> +  applications and PMDs.
> +
> +* eventdev: Re-arrange fields in ``rte_event_timer`` to remove holes.
> +  ``rte_event_timer_adapter_pmd.h`` has been made internal.

Looks good. Please fix the following, If there are no objections, I
will merge the next version.

1) Please move the doc update to respective patches
2) Following checkpath issue
[for-main]dell[dpdk-next-eventdev] $ ./devtools/checkpatches.sh -n 14

### eventdev: move inline APIs into separate structure

INFO: symbol event_dev_fp_ops_reset has been added to the INTERNAL
section of the version map
INFO: symbol event_dev_fp_ops_set has been added to the INTERNAL
section of the version map
INFO: symbol event_dev_probing_finish has been added to the INTERNAL
section of the version map
ERROR: symbol rte_event_fp_ops is added in the DPDK_22 section, but is
expected to be added in the EXPERIMENTAL section of the version map
  
Pavan Nikhilesh Bhagavatula Oct. 18, 2021, 3:06 p.m. UTC | #2
>On Sat, Oct 16, 2021 at 12:34 AM <pbhagavatula@marvell.com> wrote:
>>
>> From: Pavan Nikhilesh <pbhagavatula@marvell.com>
>>
>> Mark rte_trace global variables as internal i.e. remove them
>> from experimental section of version map.
>> Some of them are used in inline APIs, mark those as global.
>>
>> Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
>> Acked-by: Ray Kinsella <mdr@ashroe.eu>
>> ---
>>  doc/guides/rel_notes/release_21_11.rst | 12 +++++
>>  lib/eventdev/version.map               | 71 ++++++++++++--------------
>>  2 files changed, 44 insertions(+), 39 deletions(-)
>>
>> diff --git a/doc/guides/rel_notes/release_21_11.rst
>b/doc/guides/rel_notes/release_21_11.rst
>> index 38e601c236..5b4a05c3ae 100644
>> --- a/doc/guides/rel_notes/release_21_11.rst
>> +++ b/doc/guides/rel_notes/release_21_11.rst
>> @@ -226,6 +226,9 @@ API Changes
>>    the crypto/security operation. This field will be used to communicate
>>    events such as soft expiry with IPsec in lookaside mode.
>>
>> +* eventdev: Event vector configuration APIs have been made stable.
>> +  Move memory used by timer adapters to hugepage. This will
>prevent TLB misses
>> +  if any and aligns to memory structure of other subsystems.
>>
>>  ABI Changes
>>  -----------
>> @@ -277,6 +280,15 @@ ABI Changes
>>    were added in structure ``rte_event_eth_rx_adapter_stats`` to get
>additional
>>    status.
>>
>> +* eventdev: A new structure ``rte_event_fp_ops`` has been added
>which is now used
>> +  by the fastpath inline functions. The structures ``rte_eventdev``,
>> +  ``rte_eventdev_data`` have been made internal.
>``rte_eventdevs[]`` can't be
>> +  accessed directly by user any more. This change is transparent to
>both
>> +  applications and PMDs.
>> +
>> +* eventdev: Re-arrange fields in ``rte_event_timer`` to remove
>holes.
>> +  ``rte_event_timer_adapter_pmd.h`` has been made internal.
>
>Looks good. Please fix the following, If there are no objections, I
>will merge the next version.
>
>1) Please move the doc update to respective patches

Ack, will move in next version.

>2) Following checkpath issue
>[for-main]dell[dpdk-next-eventdev] $ ./devtools/checkpatches.sh -n
>14
>
>### eventdev: move inline APIs into separate structure
>
>INFO: symbol event_dev_fp_ops_reset has been added to the
>INTERNAL
>section of the version map
>INFO: symbol event_dev_fp_ops_set has been added to the INTERNAL
>section of the version map
>INFO: symbol event_dev_probing_finish has been added to the
>INTERNAL
>section of the version map

These can be ignored as they are internal

>ERROR: symbol rte_event_fp_ops is added in the DPDK_22 section, but
>is
>expected to be added in the EXPERIMENTAL section of the version map

This is a replacement for rte_eventdevs, ethdev rework also doesn’t mark
it as experimental. @David Marchand @Ray Kinsella any opinions?
  
David Marchand Oct. 19, 2021, 7:01 a.m. UTC | #3
Hello Pavan,

On Mon, Oct 18, 2021 at 5:07 PM Pavan Nikhilesh Bhagavatula
<pbhagavatula@marvell.com> wrote:
> >[for-main]dell[dpdk-next-eventdev] $ ./devtools/checkpatches.sh -n
> >14
> >
> >### eventdev: move inline APIs into separate structure
> >
> >INFO: symbol event_dev_fp_ops_reset has been added to the
> >INTERNAL
> >section of the version map
> >INFO: symbol event_dev_fp_ops_set has been added to the INTERNAL
> >section of the version map
> >INFO: symbol event_dev_probing_finish has been added to the
> >INTERNAL
> >section of the version map
>
> These can be ignored as they are internal

Those first warnings are informational.

>
> >ERROR: symbol rte_event_fp_ops is added in the DPDK_22 section, but
> >is
> >expected to be added in the EXPERIMENTAL section of the version map
>
> This is a replacement for rte_eventdevs, ethdev rework also doesn’t mark
> it as experimental. @David Marchand @Ray Kinsella any opinions?

This check is there to ensure that added symbols first go through a
period in experimental status.

Same as for ethdev, the use of inlines in stable API directly exposes
a new symbol to applications.
With this implementation, this check can be waived and the symbol can
go directly to stable status.

This symbol being exposed as stable, it will be frozen in ABI until
next breakage.
I see you reserved 6 spots for new ops, so it looks ok.
  

Patch

diff --git a/doc/guides/rel_notes/release_21_11.rst b/doc/guides/rel_notes/release_21_11.rst
index 38e601c236..5b4a05c3ae 100644
--- a/doc/guides/rel_notes/release_21_11.rst
+++ b/doc/guides/rel_notes/release_21_11.rst
@@ -226,6 +226,9 @@  API Changes
   the crypto/security operation. This field will be used to communicate
   events such as soft expiry with IPsec in lookaside mode.
 
+* eventdev: Event vector configuration APIs have been made stable.
+  Move memory used by timer adapters to hugepage. This will prevent TLB misses
+  if any and aligns to memory structure of other subsystems.
 
 ABI Changes
 -----------
@@ -277,6 +280,15 @@  ABI Changes
   were added in structure ``rte_event_eth_rx_adapter_stats`` to get additional
   status.
 
+* eventdev: A new structure ``rte_event_fp_ops`` has been added which is now used
+  by the fastpath inline functions. The structures ``rte_eventdev``,
+  ``rte_eventdev_data`` have been made internal. ``rte_eventdevs[]`` can't be
+  accessed directly by user any more. This change is transparent to both
+  applications and PMDs.
+
+* eventdev: Re-arrange fields in ``rte_event_timer`` to remove holes.
+  ``rte_event_timer_adapter_pmd.h`` has been made internal.
+
 
 Known Issues
 ------------
diff --git a/lib/eventdev/version.map b/lib/eventdev/version.map
index 8f2fb0cf14..cd37164141 100644
--- a/lib/eventdev/version.map
+++ b/lib/eventdev/version.map
@@ -1,6 +1,13 @@ 
 DPDK_22 {
 	global:
 
+	__rte_eventdev_trace_crypto_adapter_enqueue;
+	__rte_eventdev_trace_deq_burst;
+	__rte_eventdev_trace_enq_burst;
+	__rte_eventdev_trace_eth_tx_adapter_enqueue;
+	__rte_eventdev_trace_timer_arm_burst;
+	__rte_eventdev_trace_timer_arm_tmo_tick_burst;
+	__rte_eventdev_trace_timer_cancel_burst;
 	rte_event_crypto_adapter_caps_get;
 	rte_event_crypto_adapter_create;
 	rte_event_crypto_adapter_create_ext;
@@ -42,8 +49,8 @@  DPDK_22 {
 	rte_event_eth_rx_adapter_start;
 	rte_event_eth_rx_adapter_stats_get;
 	rte_event_eth_rx_adapter_stats_reset;
-	rte_event_eth_rx_adapter_vector_limits_get;
 	rte_event_eth_rx_adapter_stop;
+	rte_event_eth_rx_adapter_vector_limits_get;
 	rte_event_eth_tx_adapter_caps_get;
 	rte_event_eth_tx_adapter_create;
 	rte_event_eth_tx_adapter_create_ext;
@@ -56,6 +63,7 @@  DPDK_22 {
 	rte_event_eth_tx_adapter_stats_get;
 	rte_event_eth_tx_adapter_stats_reset;
 	rte_event_eth_tx_adapter_stop;
+	rte_event_fp_ops;
 	rte_event_port_attr_get;
 	rte_event_port_default_conf_get;
 	rte_event_port_link;
@@ -86,25 +94,28 @@  DPDK_22 {
 	rte_event_timer_cancel_burst;
 	rte_event_vector_pool_create;
 
-	#added in 21.11
-	rte_event_fp_ops;
-
 	local: *;
 };
 
 EXPERIMENTAL {
 	global:
 
-	# added in 20.05
-	__rte_eventdev_trace_configure;
-	__rte_eventdev_trace_queue_setup;
-	__rte_eventdev_trace_port_link;
-	__rte_eventdev_trace_port_unlink;
-	__rte_eventdev_trace_start;
-	__rte_eventdev_trace_stop;
+	# added in 21.11
+	rte_event_eth_rx_adapter_create_with_params;
+	rte_event_eth_rx_adapter_queue_conf_get;
+};
+
+INTERNAL {
+	global:
+
 	__rte_eventdev_trace_close;
-	__rte_eventdev_trace_deq_burst;
-	__rte_eventdev_trace_enq_burst;
+	__rte_eventdev_trace_configure;
+	__rte_eventdev_trace_crypto_adapter_create;
+	__rte_eventdev_trace_crypto_adapter_free;
+	__rte_eventdev_trace_crypto_adapter_queue_pair_add;
+	__rte_eventdev_trace_crypto_adapter_queue_pair_del;
+	__rte_eventdev_trace_crypto_adapter_start;
+	__rte_eventdev_trace_crypto_adapter_stop;
 	__rte_eventdev_trace_eth_rx_adapter_create;
 	__rte_eventdev_trace_eth_rx_adapter_free;
 	__rte_eventdev_trace_eth_rx_adapter_queue_add;
@@ -117,38 +128,19 @@  EXPERIMENTAL {
 	__rte_eventdev_trace_eth_tx_adapter_queue_del;
 	__rte_eventdev_trace_eth_tx_adapter_start;
 	__rte_eventdev_trace_eth_tx_adapter_stop;
-	__rte_eventdev_trace_eth_tx_adapter_enqueue;
+	__rte_eventdev_trace_port_link;
+	__rte_eventdev_trace_port_setup;
+	__rte_eventdev_trace_port_unlink;
+	__rte_eventdev_trace_queue_setup;
+	__rte_eventdev_trace_start;
+	__rte_eventdev_trace_stop;
 	__rte_eventdev_trace_timer_adapter_create;
+	__rte_eventdev_trace_timer_adapter_free;
 	__rte_eventdev_trace_timer_adapter_start;
 	__rte_eventdev_trace_timer_adapter_stop;
-	__rte_eventdev_trace_timer_adapter_free;
-	__rte_eventdev_trace_timer_arm_burst;
-	__rte_eventdev_trace_timer_arm_tmo_tick_burst;
-	__rte_eventdev_trace_timer_cancel_burst;
-	__rte_eventdev_trace_crypto_adapter_create;
-	__rte_eventdev_trace_crypto_adapter_free;
-	__rte_eventdev_trace_crypto_adapter_queue_pair_add;
-	__rte_eventdev_trace_crypto_adapter_queue_pair_del;
-	__rte_eventdev_trace_crypto_adapter_start;
-	__rte_eventdev_trace_crypto_adapter_stop;
-
-	# changed in 20.11
-	__rte_eventdev_trace_port_setup;
-	# added in 21.11
-	rte_event_eth_rx_adapter_create_with_params;
-
-	#added in 21.05
-	__rte_eventdev_trace_crypto_adapter_enqueue;
-	rte_event_eth_rx_adapter_queue_conf_get;
-};
-
-INTERNAL {
-	global:
-
 	event_dev_fp_ops_reset;
 	event_dev_fp_ops_set;
 	event_dev_probing_finish;
-	rte_event_pmd_selftest_seqn_dynfield_offset;
 	rte_event_pmd_allocate;
 	rte_event_pmd_get_named_dev;
 	rte_event_pmd_is_valid_dev;
@@ -156,6 +148,7 @@  INTERNAL {
 	rte_event_pmd_pci_probe_named;
 	rte_event_pmd_pci_remove;
 	rte_event_pmd_release;
+	rte_event_pmd_selftest_seqn_dynfield_offset;
 	rte_event_pmd_vdev_init;
 	rte_event_pmd_vdev_uninit;
 	rte_eventdevs;