DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH 0/2] eal/windows: restore mistakenly hidden API
@ 2021-08-29  2:16 Dmitry Kozlyuk
  2021-08-29  2:16 ` [dpdk-dev] [PATCH 1/2] eal: remove Windows-specific list of common files Dmitry Kozlyuk
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Dmitry Kozlyuk @ 2021-08-29  2:16 UTC (permalink / raw)
  To: dev; +Cc: Dmitry Kozlyuk, Thomas Monjalon

Some functions were not exported, and UUID API not even built on Windows
for no compelling reason. This hasn't been an issue so far, because only
static build is currently available on Windows, however:
1) it's better to have fewer differences between platforms;
2) enabling shared build is planned for the near future.

I don't believe this patchset should be backported
because it doesn't fix any actual issue for 20.11.

Dmitry Kozlyuk (2):
  eal: remove Windows-specific list of common files
  eal/windows: fix export list

 lib/eal/common/meson.build | 63 +++++++++-----------------------------
 lib/eal/version.map        | 32 +++++++++----------
 2 files changed, 31 insertions(+), 64 deletions(-)

-- 
2.29.3


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [dpdk-dev] [PATCH 1/2] eal: remove Windows-specific list of common files
  2021-08-29  2:16 [dpdk-dev] [PATCH 0/2] eal/windows: restore mistakenly hidden API Dmitry Kozlyuk
@ 2021-08-29  2:16 ` Dmitry Kozlyuk
  2021-09-01 17:20   ` William Tu
  2021-08-29  2:16 ` [dpdk-dev] [PATCH 2/2] eal/windows: fix export list Dmitry Kozlyuk
  2021-09-01 19:35 ` [dpdk-dev] [PATCH 0/2] eal/windows: restore mistakenly hidden API Menon, Ranjit
  2 siblings, 1 reply; 7+ messages in thread
From: Dmitry Kozlyuk @ 2021-08-29  2:16 UTC (permalink / raw)
  To: dev; +Cc: Dmitry Kozlyuk, thomas, Ray Kinsella, David Marchand

The majority of common EAL sources that are built for all platforms were
listed separately for Windows and for other OS. It seems that developers
adding modules to EAL perceived this as if Windows supported
only a limited subset of modules and only added new ones into another.
Factor the truly common modules into a shared list,
then extend it with modules supported by different platforms.

When the two lists were created, UUID API implementation was removed
from Windows build (apparently by mistake), then excluded from the
export list for no reason other than not being built. Restore it.

Fixes: df3ff6be2b33 ("eal: simplify meson build of common directory")
Cc: thomas@monjalon.net

Signed-off-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
---
 lib/eal/common/meson.build | 63 +++++++++-----------------------------
 lib/eal/version.map        |  8 ++---
 2 files changed, 19 insertions(+), 52 deletions(-)

diff --git a/lib/eal/common/meson.build b/lib/eal/common/meson.build
index edfca77779..6d01b0f072 100644
--- a/lib/eal/common/meson.build
+++ b/lib/eal/common/meson.build
@@ -5,54 +5,16 @@ includes += include_directories('.')
 
 cflags += [ '-DABI_VERSION="@0@"'.format(abi_version) ]
 
-if is_windows
-    sources += files(
-            'eal_common_bus.c',
-            'eal_common_class.c',
-            'eal_common_config.c',
-            'eal_common_debug.c',
-            'eal_common_dev.c',
-            'eal_common_devargs.c',
-            'eal_common_dynmem.c',
-            'eal_common_errno.c',
-            'eal_common_fbarray.c',
-            'eal_common_hexdump.c',
-            'eal_common_launch.c',
-            'eal_common_lcore.c',
-            'eal_common_log.c',
-            'eal_common_mcfg.c',
-            'eal_common_memalloc.c',
-            'eal_common_memory.c',
-            'eal_common_memzone.c',
-            'eal_common_options.c',
-            'eal_common_string_fns.c',
-            'eal_common_tailqs.c',
-            'eal_common_thread.c',
-            'eal_common_trace_points.c',
-            'malloc_elem.c',
-            'malloc_heap.c',
-            'rte_malloc.c',
-            'eal_common_timer.c',
-            'rte_random.c',
-            'rte_reciprocal.c',
-            'rte_service.c',
-            'rte_version.c',
-    )
-    subdir_done()
-endif
-
 sources += files(
         'eal_common_bus.c',
-        'eal_common_cpuflags.c',
         'eal_common_class.c',
         'eal_common_config.c',
         'eal_common_debug.c',
-        'eal_common_devargs.c',
         'eal_common_dev.c',
+        'eal_common_devargs.c',
         'eal_common_errno.c',
         'eal_common_fbarray.c',
         'eal_common_hexdump.c',
-        'eal_common_hypervisor.c',
         'eal_common_launch.c',
         'eal_common_lcore.c',
         'eal_common_log.c',
@@ -61,28 +23,33 @@ sources += files(
         'eal_common_memory.c',
         'eal_common_memzone.c',
         'eal_common_options.c',
-        'eal_common_proc.c',
         'eal_common_string_fns.c',
         'eal_common_tailqs.c',
         'eal_common_thread.c',
         'eal_common_timer.c',
-        'eal_common_trace.c',
-        'eal_common_trace_ctf.c',
         'eal_common_trace_points.c',
-        'eal_common_trace_utils.c',
         'eal_common_uuid.c',
-        'hotplug_mp.c',
         'malloc_elem.c',
         'malloc_heap.c',
-        'malloc_mp.c',
-        'rte_keepalive.c',
         'rte_malloc.c',
         'rte_random.c',
         'rte_reciprocal.c',
         'rte_service.c',
         'rte_version.c',
 )
-
-if is_linux
+if is_linux or is_windows
     sources += files('eal_common_dynmem.c')
 endif
+if not is_windows
+    sources += files(
+            'eal_common_cpuflags.c',
+            'eal_common_hypervisor.c',
+            'eal_common_proc.c',
+            'eal_common_trace.c',
+            'eal_common_trace_ctf.c',
+            'eal_common_trace_utils.c',
+            'hotplug_mp.c',
+            'malloc_mp.c',
+            'rte_keepalive.c',
+    )
+endif
diff --git a/lib/eal/version.map b/lib/eal/version.map
index beeb986adc..a40e4bc659 100644
--- a/lib/eal/version.map
+++ b/lib/eal/version.map
@@ -194,10 +194,10 @@ DPDK_22 {
 	rte_thread_get_affinity;
 	rte_thread_set_affinity;
 	rte_thread_setname;
-	rte_uuid_compare; # WINDOWS_NO_EXPORT
-	rte_uuid_is_null; # WINDOWS_NO_EXPORT
-	rte_uuid_parse; # WINDOWS_NO_EXPORT
-	rte_uuid_unparse; # WINDOWS_NO_EXPORT
+	rte_uuid_compare;
+	rte_uuid_is_null;
+	rte_uuid_parse;
+	rte_uuid_unparse;
 	rte_version; # WINDOWS_NO_EXPORT
 	rte_vfio_clear_group; # WINDOWS_NO_EXPORT
 	rte_vfio_container_create; # WINDOWS_NO_EXPORT
-- 
2.29.3


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [dpdk-dev] [PATCH 2/2] eal/windows: fix export list
  2021-08-29  2:16 [dpdk-dev] [PATCH 0/2] eal/windows: restore mistakenly hidden API Dmitry Kozlyuk
  2021-08-29  2:16 ` [dpdk-dev] [PATCH 1/2] eal: remove Windows-specific list of common files Dmitry Kozlyuk
@ 2021-08-29  2:16 ` Dmitry Kozlyuk
  2021-09-01 17:21   ` William Tu
  2021-09-01 19:35 ` [dpdk-dev] [PATCH 0/2] eal/windows: restore mistakenly hidden API Menon, Ranjit
  2 siblings, 1 reply; 7+ messages in thread
From: Dmitry Kozlyuk @ 2021-08-29  2:16 UTC (permalink / raw)
  To: dev
  Cc: Dmitry Kozlyuk, pallavi.kadam, jizh, bruce.richardson,
	Ray Kinsella, Ranjit Menon, Tal Shnaiderman

* Version and randomness API were not added to .def file by mistake,
  which is why they were later excluded from the export list.
* Device API stubs were added to EAL but not exported.

Fixes: edd66d57d55c ("eal/windows: add random function")
Fixes: 3d2fcb0e0aec ("eal/windows: add device event stubs")
Fixes: 5b637a848195 ("eal: fix querying DPDK version at runtime")
Cc: pallavi.kadam@intel.com
Cc: jizh@linux.microsoft.com
Cc: bruce.richardson@intel.com

Signed-off-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
---
 lib/eal/version.map | 24 ++++++++++++------------
 1 file changed, 12 insertions(+), 12 deletions(-)

diff --git a/lib/eal/version.map b/lib/eal/version.map
index a40e4bc659..73474949d6 100644
--- a/lib/eal/version.map
+++ b/lib/eal/version.map
@@ -186,7 +186,7 @@ DPDK_22 {
 	rte_socket_count;
 	rte_socket_id;
 	rte_socket_id_by_idx;
-	rte_srand; # WINDOWS_NO_EXPORT
+	rte_srand;
 	rte_strerror;
 	rte_strscpy;
 	rte_strsplit;
@@ -233,8 +233,8 @@ EXPERIMENTAL {
 	# added in 18.05
 	rte_dev_event_callback_register;
 	rte_dev_event_callback_unregister;
-	rte_dev_event_monitor_start; # WINDOWS_NO_EXPORT
-	rte_dev_event_monitor_stop; # WINDOWS_NO_EXPORT
+	rte_dev_event_monitor_start;
+	rte_dev_event_monitor_stop;
 	rte_fbarray_attach;
 	rte_fbarray_destroy;
 	rte_fbarray_detach;
@@ -287,8 +287,8 @@ EXPERIMENTAL {
 	# added in 18.11
 	rte_delay_us_sleep;
 	rte_dev_event_callback_process;
-	rte_dev_hotplug_handle_disable; # WINDOWS_NO_EXPORT
-	rte_dev_hotplug_handle_enable; # WINDOWS_NO_EXPORT
+	rte_dev_hotplug_handle_disable;
+	rte_dev_hotplug_handle_enable;
 	rte_malloc_heap_create;
 	rte_malloc_heap_destroy;
 	rte_malloc_heap_get_socket;
@@ -326,7 +326,7 @@ EXPERIMENTAL {
 	rte_lcore_to_cpu_id;
 	rte_mcfg_timer_lock;
 	rte_mcfg_timer_unlock;
-	rte_rand_max; # WINDOWS_NO_EXPORT
+	rte_rand_max;
 
 	# added in 19.11
 	rte_mcfg_get_single_file_segments;
@@ -417,12 +417,12 @@ EXPERIMENTAL {
 	rte_thread_key_delete;
 	rte_thread_value_get;
 	rte_thread_value_set;
-	rte_version_minor; # WINDOWS_NO_EXPORT
-	rte_version_month; # WINDOWS_NO_EXPORT
-	rte_version_prefix; # WINDOWS_NO_EXPORT
-	rte_version_release; # WINDOWS_NO_EXPORT
-	rte_version_suffix; # WINDOWS_NO_EXPORT
-	rte_version_year; # WINDOWS_NO_EXPORT
+	rte_version_minor;
+	rte_version_month;
+	rte_version_prefix;
+	rte_version_release;
+	rte_version_suffix;
+	rte_version_year;
 
 	# added in 21.08
 	rte_power_monitor_multi; # WINDOWS_NO_EXPORT
-- 
2.29.3


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [dpdk-dev] [PATCH 1/2] eal: remove Windows-specific list of common files
  2021-08-29  2:16 ` [dpdk-dev] [PATCH 1/2] eal: remove Windows-specific list of common files Dmitry Kozlyuk
@ 2021-09-01 17:20   ` William Tu
  0 siblings, 0 replies; 7+ messages in thread
From: William Tu @ 2021-09-01 17:20 UTC (permalink / raw)
  To: Dmitry Kozlyuk; +Cc: dpdk-dev, Thomas Monjalon, Ray Kinsella, David Marchand

On Sat, Aug 28, 2021 at 7:16 PM Dmitry Kozlyuk <dmitry.kozliuk@gmail.com> wrote:
>
> The majority of common EAL sources that are built for all platforms were
> listed separately for Windows and for other OS. It seems that developers
> adding modules to EAL perceived this as if Windows supported
> only a limited subset of modules and only added new ones into another.
> Factor the truly common modules into a shared list,
> then extend it with modules supported by different platforms.
>
> When the two lists were created, UUID API implementation was removed
> from Windows build (apparently by mistake), then excluded from the
> export list for no reason other than not being built. Restore it.
>
> Fixes: df3ff6be2b33 ("eal: simplify meson build of common directory")
> Cc: thomas@monjalon.net
>
> Signed-off-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
> ---

LGTM, thanks.
Acked-by: William Tu <u9012063@gmail.com>

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [dpdk-dev] [PATCH 2/2] eal/windows: fix export list
  2021-08-29  2:16 ` [dpdk-dev] [PATCH 2/2] eal/windows: fix export list Dmitry Kozlyuk
@ 2021-09-01 17:21   ` William Tu
  0 siblings, 0 replies; 7+ messages in thread
From: William Tu @ 2021-09-01 17:21 UTC (permalink / raw)
  To: Dmitry Kozlyuk
  Cc: dpdk-dev, Pallavi Kadam, jizh, Richardson, Bruce, Ray Kinsella,
	Ranjit Menon, Tal Shnaiderman

On Sat, Aug 28, 2021 at 7:16 PM Dmitry Kozlyuk <dmitry.kozliuk@gmail.com> wrote:
>
> * Version and randomness API were not added to .def file by mistake,
>   which is why they were later excluded from the export list.
> * Device API stubs were added to EAL but not exported.
>
> Fixes: edd66d57d55c ("eal/windows: add random function")
> Fixes: 3d2fcb0e0aec ("eal/windows: add device event stubs")
> Fixes: 5b637a848195 ("eal: fix querying DPDK version at runtime")
> Cc: pallavi.kadam@intel.com
> Cc: jizh@linux.microsoft.com
> Cc: bruce.richardson@intel.com
>
> Signed-off-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
> ---
LGTM, thanks.
Acked-by: William Tu <u9012063@gmail.com>

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [dpdk-dev] [PATCH 0/2] eal/windows: restore mistakenly hidden API
  2021-08-29  2:16 [dpdk-dev] [PATCH 0/2] eal/windows: restore mistakenly hidden API Dmitry Kozlyuk
  2021-08-29  2:16 ` [dpdk-dev] [PATCH 1/2] eal: remove Windows-specific list of common files Dmitry Kozlyuk
  2021-08-29  2:16 ` [dpdk-dev] [PATCH 2/2] eal/windows: fix export list Dmitry Kozlyuk
@ 2021-09-01 19:35 ` Menon, Ranjit
  2021-09-30 20:48   ` Thomas Monjalon
  2 siblings, 1 reply; 7+ messages in thread
From: Menon, Ranjit @ 2021-09-01 19:35 UTC (permalink / raw)
  To: Dmitry Kozlyuk, dev; +Cc: Thomas Monjalon

On 8/28/2021 7:16 PM, Dmitry Kozlyuk wrote:
> Some functions were not exported, and UUID API not even built on Windows
> for no compelling reason. This hasn't been an issue so far, because only
> static build is currently available on Windows, however:
> 1) it's better to have fewer differences between platforms;
> 2) enabling shared build is planned for the near future.
>
> I don't believe this patchset should be backported
> because it doesn't fix any actual issue for 20.11.
>
> Dmitry Kozlyuk (2):
>    eal: remove Windows-specific list of common files
>    eal/windows: fix export list
>
>   lib/eal/common/meson.build | 63 +++++++++-----------------------------
>   lib/eal/version.map        | 32 +++++++++----------
>   2 files changed, 31 insertions(+), 64 deletions(-)
Acked-by: Ranjit Menon <ranjit.menon@intel.com 
<mailto:ranjit.menon@intel.com>>

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [dpdk-dev] [PATCH 0/2] eal/windows: restore mistakenly hidden API
  2021-09-01 19:35 ` [dpdk-dev] [PATCH 0/2] eal/windows: restore mistakenly hidden API Menon, Ranjit
@ 2021-09-30 20:48   ` Thomas Monjalon
  0 siblings, 0 replies; 7+ messages in thread
From: Thomas Monjalon @ 2021-09-30 20:48 UTC (permalink / raw)
  To: Dmitry Kozlyuk; +Cc: dev, Menon, Ranjit

01/09/2021 21:35, Menon, Ranjit:
> On 8/28/2021 7:16 PM, Dmitry Kozlyuk wrote:
> > Some functions were not exported, and UUID API not even built on Windows
> > for no compelling reason. This hasn't been an issue so far, because only
> > static build is currently available on Windows, however:
> > 1) it's better to have fewer differences between platforms;
> > 2) enabling shared build is planned for the near future.
> >
> > I don't believe this patchset should be backported
> > because it doesn't fix any actual issue for 20.11.
> >
> > Dmitry Kozlyuk (2):
> >    eal: remove Windows-specific list of common files
> >    eal/windows: fix export list
> >
> Acked-by: Ranjit Menon <ranjit.menon@intel.com>

Applied, thanks.



^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2021-09-30 20:48 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-29  2:16 [dpdk-dev] [PATCH 0/2] eal/windows: restore mistakenly hidden API Dmitry Kozlyuk
2021-08-29  2:16 ` [dpdk-dev] [PATCH 1/2] eal: remove Windows-specific list of common files Dmitry Kozlyuk
2021-09-01 17:20   ` William Tu
2021-08-29  2:16 ` [dpdk-dev] [PATCH 2/2] eal/windows: fix export list Dmitry Kozlyuk
2021-09-01 17:21   ` William Tu
2021-09-01 19:35 ` [dpdk-dev] [PATCH 0/2] eal/windows: restore mistakenly hidden API Menon, Ranjit
2021-09-30 20:48   ` Thomas Monjalon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).