* [dpdk-dev] [PATCH 0/4] Support librte_mbuf on Windows
@ 2020-06-01 9:38 talshn
2020-06-01 9:38 ` [dpdk-dev] [PATCH 1/4] eal: move OS common config code to single file talshn
` (3 more replies)
0 siblings, 4 replies; 17+ messages in thread
From: talshn @ 2020-06-01 9:38 UTC (permalink / raw)
To: dev
Cc: thomas, pallavi.kadam, dmitry.kozliuk, david.marchand,
olivier.matz, ranjit.menon, navasile, fady, harini.ramakrishnan,
ocardona, Tal Shnaiderman
From: Tal Shnaiderman <talshn@mellanox.com>
This patchset enables compilation and build of librte_mbuf on Windows.
Depends-on: series-10276 ("build mempool on Windows")
Depends-on: series-10156 ("Windows bus/pci support")
Tal Shnaiderman (4):
eal: move OS common config code to single file
eal: set byteorder in Windows to little endian
eal: export needed functions for mbuf
mbuf: build on Windows
lib/librte_eal/common/eal_common_config.c | 11 +++++++++++
lib/librte_eal/common/meson.build | 1 +
lib/librte_eal/freebsd/eal.c | 10 ----------
lib/librte_eal/include/generic/rte_byteorder.h | 4 +++-
lib/librte_eal/linux/eal.c | 10 ----------
lib/librte_eal/rte_eal_exports.def | 3 +++
lib/librte_eal/rte_eal_version.map | 1 +
lib/librte_eal/windows/eal.c | 3 ---
lib/meson.build | 3 +--
9 files changed, 20 insertions(+), 26 deletions(-)
--
2.16.1.windows.4
^ permalink raw reply [flat|nested] 17+ messages in thread
* [dpdk-dev] [PATCH 1/4] eal: move OS common config code to single file
2020-06-01 9:38 [dpdk-dev] [PATCH 0/4] Support librte_mbuf on Windows talshn
@ 2020-06-01 9:38 ` talshn
2020-06-25 15:24 ` [dpdk-dev] [PATCH v2 0/3] Support librte_mbuf on Windows talshn
2020-06-01 9:38 ` [dpdk-dev] [PATCH 2/4] eal: set byteorder in Windows to little endian talshn
` (2 subsequent siblings)
3 siblings, 1 reply; 17+ messages in thread
From: talshn @ 2020-06-01 9:38 UTC (permalink / raw)
To: dev
Cc: thomas, pallavi.kadam, dmitry.kozliuk, david.marchand,
olivier.matz, ranjit.menon, navasile, fady, harini.ramakrishnan,
ocardona, Tal Shnaiderman
From: Tal Shnaiderman <talshn@mellanox.com>
Move common struct rte_config and function
rte_eal_mbuf_user_pool_ops to eal_config.
Signed-off-by: Tal Shnaiderman <talshn@mellanox.com>
---
lib/librte_eal/common/eal_common_config.c | 11 +++++++++++
lib/librte_eal/freebsd/eal.c | 10 ----------
lib/librte_eal/linux/eal.c | 10 ----------
lib/librte_eal/windows/eal.c | 3 ---
4 files changed, 11 insertions(+), 23 deletions(-)
diff --git a/lib/librte_eal/common/eal_common_config.c b/lib/librte_eal/common/eal_common_config.c
index 641c7d884c..c69a088182 100644
--- a/lib/librte_eal/common/eal_common_config.c
+++ b/lib/librte_eal/common/eal_common_config.c
@@ -1,6 +1,7 @@
/* SPDX-License-Identifier: BSD-3-Clause
* Copyright(c) 2020 Mellanox Technologies, Ltd
*/
+#include <eal_internal_cfg.h>
#include <eal_private.h>
#include <rte_os.h>
@@ -13,6 +14,9 @@ struct rte_config rte_config = {
.mem_config = &early_mem_config,
};
+/* internal configuration */
+struct internal_config internal_config;
+
const char *
rte_eal_get_runtime_dir(void)
{
@@ -37,3 +41,10 @@ rte_eal_process_type(void)
{
return rte_config.process_type;
}
+
+/* Return user provided mbuf pool ops name */
+const char *
+rte_eal_mbuf_user_pool_ops(void)
+{
+ return internal_config.user_mbuf_pool_ops_name;
+}
diff --git a/lib/librte_eal/freebsd/eal.c b/lib/librte_eal/freebsd/eal.c
index eab961232e..6be7414f1a 100644
--- a/lib/librte_eal/freebsd/eal.c
+++ b/lib/librte_eal/freebsd/eal.c
@@ -73,9 +73,6 @@ static struct flock wr_lock = {
/* internal configuration (per-core) */
struct lcore_config lcore_config[RTE_MAX_LCORE];
-/* internal configuration */
-struct internal_config internal_config;
-
/* used by rte_rdtsc() */
int rte_cycles_vmware_tsc_map;
@@ -141,13 +138,6 @@ eal_clean_runtime_dir(void)
return 0;
}
-/* Return user provided mbuf pool ops name */
-const char *
-rte_eal_mbuf_user_pool_ops(void)
-{
- return internal_config.user_mbuf_pool_ops_name;
-}
-
/* parse a sysfs (or other) file containing one integer value */
int
eal_parse_sysfs_value(const char *filename, unsigned long *val)
diff --git a/lib/librte_eal/linux/eal.c b/lib/librte_eal/linux/eal.c
index 8cbb8c644c..302f0a1228 100644
--- a/lib/librte_eal/linux/eal.c
+++ b/lib/librte_eal/linux/eal.c
@@ -86,9 +86,6 @@ static struct flock wr_lock = {
/* internal configuration (per-core) */
struct lcore_config lcore_config[RTE_MAX_LCORE];
-/* internal configuration */
-struct internal_config internal_config;
-
/* used by rte_rdtsc() */
int rte_cycles_vmware_tsc_map;
@@ -230,13 +227,6 @@ eal_clean_runtime_dir(void)
return -1;
}
-/* Return user provided mbuf pool ops name */
-const char *
-rte_eal_mbuf_user_pool_ops(void)
-{
- return internal_config.user_mbuf_pool_ops_name;
-}
-
/* parse a sysfs (or other) file containing one integer value */
int
eal_parse_sysfs_value(const char *filename, unsigned long *val)
diff --git a/lib/librte_eal/windows/eal.c b/lib/librte_eal/windows/eal.c
index 2a05f9e0da..daa238d416 100644
--- a/lib/librte_eal/windows/eal.c
+++ b/lib/librte_eal/windows/eal.c
@@ -35,9 +35,6 @@ static int mem_cfg_fd = -1;
/* internal configuration (per-core) */
struct lcore_config lcore_config[RTE_MAX_LCORE];
-/* internal configuration */
-struct internal_config internal_config;
-
/* Detect if we are a primary or a secondary process */
enum rte_proc_type_t
eal_proc_type_detect(void)
--
2.16.1.windows.4
^ permalink raw reply [flat|nested] 17+ messages in thread
* [dpdk-dev] [PATCH 2/4] eal: set byteorder in Windows to little endian
2020-06-01 9:38 [dpdk-dev] [PATCH 0/4] Support librte_mbuf on Windows talshn
2020-06-01 9:38 ` [dpdk-dev] [PATCH 1/4] eal: move OS common config code to single file talshn
@ 2020-06-01 9:38 ` talshn
2020-06-16 7:50 ` Thomas Monjalon
2020-06-01 9:38 ` [dpdk-dev] [PATCH 3/4] eal: export needed functions for mbuf talshn
2020-06-01 9:38 ` [dpdk-dev] [PATCH 4/4] mbuf: build on Windows talshn
3 siblings, 1 reply; 17+ messages in thread
From: talshn @ 2020-06-01 9:38 UTC (permalink / raw)
To: dev
Cc: thomas, pallavi.kadam, dmitry.kozliuk, david.marchand,
olivier.matz, ranjit.menon, navasile, fady, harini.ramakrishnan,
ocardona, Tal Shnaiderman
From: Tal Shnaiderman <talshn@mellanox.com>
Set the endianness in Windows to RTE_LITTLE_ENDIAN as support
for Windows is limited to x86 architecture for now.
Signed-off-by: Tal Shnaiderman <talshn@mellanox.com>
---
lib/librte_eal/include/generic/rte_byteorder.h | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/lib/librte_eal/include/generic/rte_byteorder.h b/lib/librte_eal/include/generic/rte_byteorder.h
index 9ca960932f..6cfdf68731 100644
--- a/lib/librte_eal/include/generic/rte_byteorder.h
+++ b/lib/librte_eal/include/generic/rte_byteorder.h
@@ -17,8 +17,10 @@
#include <stdint.h>
#ifdef RTE_EXEC_ENV_FREEBSD
#include <sys/endian.h>
-#else
+#elif defined RTE_EXEC_ENV_LINUX
#include <endian.h>
+#elif defined RTE_EXEC_ENV_WINDOWS && !defined RTE_BYTE_ORDER
+#define RTE_BYTE_ORDER RTE_LITTLE_ENDIAN
#endif
#include <rte_common.h>
--
2.16.1.windows.4
^ permalink raw reply [flat|nested] 17+ messages in thread
* [dpdk-dev] [PATCH 3/4] eal: export needed functions for mbuf
2020-06-01 9:38 [dpdk-dev] [PATCH 0/4] Support librte_mbuf on Windows talshn
2020-06-01 9:38 ` [dpdk-dev] [PATCH 1/4] eal: move OS common config code to single file talshn
2020-06-01 9:38 ` [dpdk-dev] [PATCH 2/4] eal: set byteorder in Windows to little endian talshn
@ 2020-06-01 9:38 ` talshn
2020-06-16 8:09 ` Thomas Monjalon
2020-06-01 9:38 ` [dpdk-dev] [PATCH 4/4] mbuf: build on Windows talshn
3 siblings, 1 reply; 17+ messages in thread
From: talshn @ 2020-06-01 9:38 UTC (permalink / raw)
To: dev
Cc: thomas, pallavi.kadam, dmitry.kozliuk, david.marchand,
olivier.matz, ranjit.menon, navasile, fady, harini.ramakrishnan,
ocardona, Tal Shnaiderman
From: Tal Shnaiderman <talshn@mellanox.com>
Export needed eal functions used by the lib.
Signed-off-by: Tal Shnaiderman <talshn@mellanox.com>
---
lib/librte_eal/common/meson.build | 1 +
lib/librte_eal/rte_eal_exports.def | 3 +++
lib/librte_eal/rte_eal_version.map | 1 +
3 files changed, 5 insertions(+)
diff --git a/lib/librte_eal/common/meson.build b/lib/librte_eal/common/meson.build
index cf4b9e56eb..530e06033b 100644
--- a/lib/librte_eal/common/meson.build
+++ b/lib/librte_eal/common/meson.build
@@ -12,6 +12,7 @@ if is_windows
'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',
diff --git a/lib/librte_eal/rte_eal_exports.def b/lib/librte_eal/rte_eal_exports.def
index 9ebf0d641a..9b2ebbcdf5 100644
--- a/lib/librte_eal/rte_eal_exports.def
+++ b/lib/librte_eal/rte_eal_exports.def
@@ -3,6 +3,7 @@ EXPORTS
per_lcore__rte_errno
rte_calloc
rte_calloc_socket
+ per_lcore__lcore_id
per_lcore__rte_errno
rte_bus_register
rte_dev_is_probed
@@ -12,6 +13,7 @@ EXPORTS
rte_eal_has_hugepages
rte_eal_init
rte_eal_iova_mode
+ rte_eal_mbuf_user_pool_ops
rte_eal_mp_remote_launch
rte_eal_mp_wait_lcore
rte_eal_process_type
@@ -20,6 +22,7 @@ EXPORTS
rte_eal_tailq_register
rte_eal_using_phys_addrs
rte_free
+ rte_hexdump
rte_log
rte_malloc
rte_malloc_dump_stats
diff --git a/lib/librte_eal/rte_eal_version.map b/lib/librte_eal/rte_eal_version.map
index 361d4808f5..8ecef1ace1 100644
--- a/lib/librte_eal/rte_eal_version.map
+++ b/lib/librte_eal/rte_eal_version.map
@@ -394,4 +394,5 @@ EXPERIMENTAL {
rte_mem_unmap;
__emutls_v.per_lcore__rte_errno;
__rte_trace_mem_per_thread_alloc;
+ __emutls_v.per_lcore__lcore_id;
};
--
2.16.1.windows.4
^ permalink raw reply [flat|nested] 17+ messages in thread
* [dpdk-dev] [PATCH 4/4] mbuf: build on Windows
2020-06-01 9:38 [dpdk-dev] [PATCH 0/4] Support librte_mbuf on Windows talshn
` (2 preceding siblings ...)
2020-06-01 9:38 ` [dpdk-dev] [PATCH 3/4] eal: export needed functions for mbuf talshn
@ 2020-06-01 9:38 ` talshn
3 siblings, 0 replies; 17+ messages in thread
From: talshn @ 2020-06-01 9:38 UTC (permalink / raw)
To: dev
Cc: thomas, pallavi.kadam, dmitry.kozliuk, david.marchand,
olivier.matz, ranjit.menon, navasile, fady, harini.ramakrishnan,
ocardona, Tal Shnaiderman
From: Tal Shnaiderman <talshn@mellanox.com>
Build the lib for Windows.
Signed-off-by: Tal Shnaiderman <talshn@mellanox.com>
---
lib/meson.build | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/lib/meson.build b/lib/meson.build
index 5486628625..e1a729da8a 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -40,8 +40,7 @@ if is_windows
'kvargs',
'eal',
'ring',
- 'mempool',
- 'pci',
+ 'mempool', 'mbuf', 'pci', # core
] # only supported libraries for windows
endif
--
2.16.1.windows.4
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [dpdk-dev] [PATCH 2/4] eal: set byteorder in Windows to little endian
2020-06-01 9:38 ` [dpdk-dev] [PATCH 2/4] eal: set byteorder in Windows to little endian talshn
@ 2020-06-16 7:50 ` Thomas Monjalon
2020-06-25 13:24 ` Tal Shnaiderman
0 siblings, 1 reply; 17+ messages in thread
From: Thomas Monjalon @ 2020-06-16 7:50 UTC (permalink / raw)
To: Tal Shnaiderman
Cc: dev, pallavi.kadam, dmitry.kozliuk, david.marchand, olivier.matz,
ranjit.menon, navasile, fady, harini.ramakrishnan, ocardona
01/06/2020 11:38, talshn@mellanox.com:
> From: Tal Shnaiderman <talshn@mellanox.com>
>
> Set the endianness in Windows to RTE_LITTLE_ENDIAN as support
> for Windows is limited to x86 architecture for now.
>
> Signed-off-by: Tal Shnaiderman <talshn@mellanox.com>
> ---
> --- a/lib/librte_eal/include/generic/rte_byteorder.h
> +++ b/lib/librte_eal/include/generic/rte_byteorder.h
> #ifdef RTE_EXEC_ENV_FREEBSD
> #include <sys/endian.h>
> -#else
> +#elif defined RTE_EXEC_ENV_LINUX
> #include <endian.h>
> +#elif defined RTE_EXEC_ENV_WINDOWS && !defined RTE_BYTE_ORDER
Why "&& !defined RTE_BYTE_ORDER" ?
How can it be defined earlier?
> +#define RTE_BYTE_ORDER RTE_LITTLE_ENDIAN
> #endif
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [dpdk-dev] [PATCH 3/4] eal: export needed functions for mbuf
2020-06-01 9:38 ` [dpdk-dev] [PATCH 3/4] eal: export needed functions for mbuf talshn
@ 2020-06-16 8:09 ` Thomas Monjalon
2020-06-16 8:33 ` Tal Shnaiderman
0 siblings, 1 reply; 17+ messages in thread
From: Thomas Monjalon @ 2020-06-16 8:09 UTC (permalink / raw)
To: Tal Shnaiderman
Cc: dev, pallavi.kadam, dmitry.kozliuk, david.marchand, olivier.matz,
ranjit.menon, navasile, fady, harini.ramakrishnan, ocardona
01/06/2020 11:38, talshn@mellanox.com:
> From: Tal Shnaiderman <talshn@mellanox.com>
>
> Export needed eal functions used by the lib.
>
> Signed-off-by: Tal Shnaiderman <talshn@mellanox.com>
> ---
> --- a/lib/librte_eal/rte_eal_exports.def
> +++ b/lib/librte_eal/rte_eal_exports.def
> @@ -3,6 +3,7 @@ EXPORTS
> per_lcore__rte_errno
> rte_calloc
> rte_calloc_socket
> + per_lcore__lcore_id
[...]
> --- a/lib/librte_eal/rte_eal_version.map
> +++ b/lib/librte_eal/rte_eal_version.map
> @@ -394,4 +394,5 @@ EXPERIMENTAL {
> rte_mem_unmap;
> __emutls_v.per_lcore__rte_errno;
> __rte_trace_mem_per_thread_alloc;
> + __emutls_v.per_lcore__lcore_id;
I'm surprised about this one in the Linux/BSD map.
Can it be removed?
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [dpdk-dev] [PATCH 3/4] eal: export needed functions for mbuf
2020-06-16 8:09 ` Thomas Monjalon
@ 2020-06-16 8:33 ` Tal Shnaiderman
2020-06-16 8:45 ` Thomas Monjalon
0 siblings, 1 reply; 17+ messages in thread
From: Tal Shnaiderman @ 2020-06-16 8:33 UTC (permalink / raw)
To: Thomas Monjalon
Cc: dev, pallavi.kadam, dmitry.kozliuk, david.marchand, olivier.matz,
ranjit.menon, navasile, Fady Bader, harini.ramakrishnan,
ocardona
> Subject: Re: [dpdk-dev] [PATCH 3/4] eal: export needed functions for mbuf
>
> 01/06/2020 11:38, talshn@mellanox.com:
> > From: Tal Shnaiderman <talshn@mellanox.com>
> >
> > Export needed eal functions used by the lib.
> >
> > Signed-off-by: Tal Shnaiderman <talshn@mellanox.com>
> > ---
> > --- a/lib/librte_eal/rte_eal_exports.def
> > +++ b/lib/librte_eal/rte_eal_exports.def
> > @@ -3,6 +3,7 @@ EXPORTS
> > per_lcore__rte_errno
> > rte_calloc
> > rte_calloc_socket
> > + per_lcore__lcore_id
> [...]
> > --- a/lib/librte_eal/rte_eal_version.map
> > +++ b/lib/librte_eal/rte_eal_version.map
> > @@ -394,4 +394,5 @@ EXPERIMENTAL {
> > rte_mem_unmap;
> > __emutls_v.per_lcore__rte_errno;
> > __rte_trace_mem_per_thread_alloc;
> > + __emutls_v.per_lcore__lcore_id;
>
> I'm surprised about this one in the Linux/BSD map.
> Can it be removed?
>
It is needed for the MingGW build which requires the __emutls_v. prefix.
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [dpdk-dev] [PATCH 3/4] eal: export needed functions for mbuf
2020-06-16 8:33 ` Tal Shnaiderman
@ 2020-06-16 8:45 ` Thomas Monjalon
2020-06-16 9:26 ` Dmitry Kozlyuk
0 siblings, 1 reply; 17+ messages in thread
From: Thomas Monjalon @ 2020-06-16 8:45 UTC (permalink / raw)
To: dmitry.kozliuk, Tal Shnaiderman
Cc: dev, pallavi.kadam, david.marchand, olivier.matz, ranjit.menon,
navasile, Fady Bader, harini.ramakrishnan, ocardona
16/06/2020 10:33, Tal Shnaiderman:
> > 01/06/2020 11:38, talshn@mellanox.com:
> > > From: Tal Shnaiderman <talshn@mellanox.com>
> > >
> > > Export needed eal functions used by the lib.
> > >
> > > Signed-off-by: Tal Shnaiderman <talshn@mellanox.com>
> > > ---
> > > --- a/lib/librte_eal/rte_eal_exports.def
> > > +++ b/lib/librte_eal/rte_eal_exports.def
> > > @@ -3,6 +3,7 @@ EXPORTS
> > > per_lcore__rte_errno
> > > rte_calloc
> > > rte_calloc_socket
> > > + per_lcore__lcore_id
> > [...]
> > > --- a/lib/librte_eal/rte_eal_version.map
> > > +++ b/lib/librte_eal/rte_eal_version.map
> > > @@ -394,4 +394,5 @@ EXPERIMENTAL {
> > > rte_mem_unmap;
> > > __emutls_v.per_lcore__rte_errno;
> > > __rte_trace_mem_per_thread_alloc;
> > > + __emutls_v.per_lcore__lcore_id;
Note the alphabetical order is not respected above.
> > I'm surprised about this one in the Linux/BSD map.
> > Can it be removed?
>
> It is needed for the MingGW build which requires the __emutls_v. prefix.
We already have per_lcore__lcore_id and per_lcore__rte_errno
for Linux and FreeBSD.
The prefix __emutls_v. for MinGW looks wrong.
If it is really required, it should be added automatically
in my opinion.
I think we can do it in buildtools/map_to_def.py
by adding this prefix to per_lcore__ when required.
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [dpdk-dev] [PATCH 3/4] eal: export needed functions for mbuf
2020-06-16 8:45 ` Thomas Monjalon
@ 2020-06-16 9:26 ` Dmitry Kozlyuk
2020-06-16 11:44 ` Thomas Monjalon
0 siblings, 1 reply; 17+ messages in thread
From: Dmitry Kozlyuk @ 2020-06-16 9:26 UTC (permalink / raw)
To: Thomas Monjalon
Cc: Tal Shnaiderman, dev, pallavi.kadam, david.marchand,
olivier.matz, ranjit.menon, navasile, Fady Bader,
harini.ramakrishnan, ocardona
On Tue, 16 Jun 2020 10:45:49 +0200
Thomas Monjalon <thomas@monjalon.net> wrote:
> 16/06/2020 10:33, Tal Shnaiderman:
> > > 01/06/2020 11:38, talshn@mellanox.com:
> > > > From: Tal Shnaiderman <talshn@mellanox.com>
> > > >
> > > > Export needed eal functions used by the lib.
> > > >
> > > > Signed-off-by: Tal Shnaiderman <talshn@mellanox.com>
> > > > ---
> > > > --- a/lib/librte_eal/rte_eal_exports.def
> > > > +++ b/lib/librte_eal/rte_eal_exports.def
> > > > @@ -3,6 +3,7 @@ EXPORTS
> > > > per_lcore__rte_errno
> > > > rte_calloc
> > > > rte_calloc_socket
> > > > + per_lcore__lcore_id
> > > [...]
> > > > --- a/lib/librte_eal/rte_eal_version.map
> > > > +++ b/lib/librte_eal/rte_eal_version.map
> > > > @@ -394,4 +394,5 @@ EXPERIMENTAL {
> > > > rte_mem_unmap;
> > > > __emutls_v.per_lcore__rte_errno;
> > > > __rte_trace_mem_per_thread_alloc;
> > > > + __emutls_v.per_lcore__lcore_id;
>
> Note the alphabetical order is not respected above.
>
> > > I'm surprised about this one in the Linux/BSD map.
> > > Can it be removed?
> >
> > It is needed for the MingGW build which requires the __emutls_v. prefix.
>
> We already have per_lcore__lcore_id and per_lcore__rte_errno
> for Linux and FreeBSD.
> The prefix __emutls_v. for MinGW looks wrong.
> If it is really required, it should be added automatically
> in my opinion.
> I think we can do it in buildtools/map_to_def.py
> by adding this prefix to per_lcore__ when required.
MinGW doesn't use .def, it's for link.exe only (used by Clang). To my
understanding, multiple .map files can be used [1]. The "overlay .map" for
MinGW can then be generated from the generic .map by a separate script.
[1]: https://github.com/PlushBeaver/dpdk/blob/windows/lib/meson.build#L174
--
Dmitry Kozlyuk
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [dpdk-dev] [PATCH 3/4] eal: export needed functions for mbuf
2020-06-16 9:26 ` Dmitry Kozlyuk
@ 2020-06-16 11:44 ` Thomas Monjalon
0 siblings, 0 replies; 17+ messages in thread
From: Thomas Monjalon @ 2020-06-16 11:44 UTC (permalink / raw)
To: Tal Shnaiderman, Dmitry Kozlyuk
Cc: dev, pallavi.kadam, david.marchand, olivier.matz, ranjit.menon,
navasile, Fady Bader, harini.ramakrishnan, ocardona
16/06/2020 11:26, Dmitry Kozlyuk:
> Thomas Monjalon <thomas@monjalon.net> wrote:
> > 16/06/2020 10:33, Tal Shnaiderman:
> > > > 01/06/2020 11:38, talshn@mellanox.com:
> > > > > From: Tal Shnaiderman <talshn@mellanox.com>
> > > > >
> > > > > Export needed eal functions used by the lib.
> > > > >
> > > > > Signed-off-by: Tal Shnaiderman <talshn@mellanox.com>
> > > > > ---
> > > > > --- a/lib/librte_eal/rte_eal_version.map
> > > > > +++ b/lib/librte_eal/rte_eal_version.map
> > > > > @@ -394,4 +394,5 @@ EXPERIMENTAL {
> > > > > rte_mem_unmap;
> > > > > __emutls_v.per_lcore__rte_errno;
> > > > > __rte_trace_mem_per_thread_alloc;
> > > > > + __emutls_v.per_lcore__lcore_id;
> >
> > We already have per_lcore__lcore_id and per_lcore__rte_errno
> > for Linux and FreeBSD.
> > The prefix __emutls_v. for MinGW looks wrong.
> > If it is really required, it should be added automatically
> > in my opinion.
> > I think we can do it in buildtools/map_to_def.py
> > by adding this prefix to per_lcore__ when required.
>
> MinGW doesn't use .def, it's for link.exe only (used by Clang). To my
> understanding, multiple .map files can be used [1]. The "overlay .map" for
> MinGW can then be generated from the generic .map by a separate script.
>
> [1]: https://github.com/PlushBeaver/dpdk/blob/windows/lib/meson.build#L174
Yes please generate a map with the fixed prefix.
It can be done in a script similar to buildtools/map_to_def.py, right?
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [dpdk-dev] [PATCH 2/4] eal: set byteorder in Windows to little endian
2020-06-16 7:50 ` Thomas Monjalon
@ 2020-06-25 13:24 ` Tal Shnaiderman
0 siblings, 0 replies; 17+ messages in thread
From: Tal Shnaiderman @ 2020-06-25 13:24 UTC (permalink / raw)
To: Thomas Monjalon
Cc: dev, pallavi.kadam, dmitry.kozliuk, david.marchand, olivier.matz,
ranjit.menon, navasile, Fady Bader, harini.ramakrishnan,
ocardona
> Subject: Re: [dpdk-dev] [PATCH 2/4] eal: set byteorder in Windows to little
> endian
>
> 01/06/2020 11:38, talshn@mellanox.com:
> > From: Tal Shnaiderman <talshn@mellanox.com>
> >
> > Set the endianness in Windows to RTE_LITTLE_ENDIAN as support for
> > Windows is limited to x86 architecture for now.
> >
> > Signed-off-by: Tal Shnaiderman <talshn@mellanox.com>
> > ---
> > --- a/lib/librte_eal/include/generic/rte_byteorder.h
> > +++ b/lib/librte_eal/include/generic/rte_byteorder.h
> > #ifdef RTE_EXEC_ENV_FREEBSD
> > #include <sys/endian.h>
> > -#else
> > +#elif defined RTE_EXEC_ENV_LINUX
> > #include <endian.h>
> > +#elif defined RTE_EXEC_ENV_WINDOWS && !defined RTE_BYTE_ORDER
>
> Why "&& !defined RTE_BYTE_ORDER" ?
> How can it be defined earlier?
>
You're right, it's unneeded since it is defined later on.
The entire "#elif defined RTE_EXEC_ENV_WINDOWS" section could be removed actually,
looks like both clang and MinGW contain the predefined __BYTE_ORDER__ macro and detect the right endianness on compile time.
> > +#define RTE_BYTE_ORDER RTE_LITTLE_ENDIAN
> > #endif
>
>
>
^ permalink raw reply [flat|nested] 17+ messages in thread
* [dpdk-dev] [PATCH v2 0/3] Support librte_mbuf on Windows
2020-06-01 9:38 ` [dpdk-dev] [PATCH 1/4] eal: move OS common config code to single file talshn
@ 2020-06-25 15:24 ` talshn
2020-06-25 15:24 ` [dpdk-dev] [PATCH v2 1/3] eal: correct OS headers in rte_byteorder.h talshn
` (3 more replies)
0 siblings, 4 replies; 17+ messages in thread
From: talshn @ 2020-06-25 15:24 UTC (permalink / raw)
To: dev
Cc: thomas, pallavi.kadam, dmitry.kozliuk, david.marchand,
olivier.matz, ranjit.menon, navasile, fady, harini.ramakrishnan,
ocardona, Tal Shnaiderman
From: Tal Shnaiderman <talshn@mellanox.com>
This patchset enables compilation and build of librte_mbuf on Windows.
---
Depends-on: series-10550 ("build mempool on Windows")
v2:
* Remove unneeded endianness macro check (ThomasM)
* Fix export list name order (ThomasM)
* Remove __emutls_v.* MinGW export as it is no longer needed.
---
Tal Shnaiderman (3):
eal: correct OS headers in rte_byteorder.h
eal: export needed functions for mbuf
mbuf: build on Windows
lib/librte_eal/common/meson.build | 1 +
lib/librte_eal/include/generic/rte_byteorder.h | 2 +-
lib/librte_eal/rte_eal_exports.def | 3 +++
lib/meson.build | 4 ++--
4 files changed, 7 insertions(+), 3 deletions(-)
--
2.16.1.windows.4
^ permalink raw reply [flat|nested] 17+ messages in thread
* [dpdk-dev] [PATCH v2 1/3] eal: correct OS headers in rte_byteorder.h
2020-06-25 15:24 ` [dpdk-dev] [PATCH v2 0/3] Support librte_mbuf on Windows talshn
@ 2020-06-25 15:24 ` talshn
2020-06-25 15:24 ` [dpdk-dev] [PATCH v2 2/3] eal: export needed functions for mbuf talshn
` (2 subsequent siblings)
3 siblings, 0 replies; 17+ messages in thread
From: talshn @ 2020-06-25 15:24 UTC (permalink / raw)
To: dev
Cc: thomas, pallavi.kadam, dmitry.kozliuk, david.marchand,
olivier.matz, ranjit.menon, navasile, fady, harini.ramakrishnan,
ocardona, Tal Shnaiderman
From: Tal Shnaiderman <talshn@mellanox.com>
Inclusion of the endian.h header is set only for Linux OS.
Windows endlessness will be determined by the predefined
__BYTE_ORDER__ macro.
Signed-off-by: Tal Shnaiderman <talshn@mellanox.com>
---
lib/librte_eal/include/generic/rte_byteorder.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/librte_eal/include/generic/rte_byteorder.h b/lib/librte_eal/include/generic/rte_byteorder.h
index 9ca960932f..a67e1d70d9 100644
--- a/lib/librte_eal/include/generic/rte_byteorder.h
+++ b/lib/librte_eal/include/generic/rte_byteorder.h
@@ -17,7 +17,7 @@
#include <stdint.h>
#ifdef RTE_EXEC_ENV_FREEBSD
#include <sys/endian.h>
-#else
+#elif defined RTE_EXEC_ENV_LINUX
#include <endian.h>
#endif
--
2.16.1.windows.4
^ permalink raw reply [flat|nested] 17+ messages in thread
* [dpdk-dev] [PATCH v2 2/3] eal: export needed functions for mbuf
2020-06-25 15:24 ` [dpdk-dev] [PATCH v2 0/3] Support librte_mbuf on Windows talshn
2020-06-25 15:24 ` [dpdk-dev] [PATCH v2 1/3] eal: correct OS headers in rte_byteorder.h talshn
@ 2020-06-25 15:24 ` talshn
2020-06-25 15:24 ` [dpdk-dev] [PATCH v2 3/3] mbuf: build on Windows talshn
2020-07-07 0:01 ` [dpdk-dev] [PATCH v2 0/3] Support librte_mbuf " Thomas Monjalon
3 siblings, 0 replies; 17+ messages in thread
From: talshn @ 2020-06-25 15:24 UTC (permalink / raw)
To: dev
Cc: thomas, pallavi.kadam, dmitry.kozliuk, david.marchand,
olivier.matz, ranjit.menon, navasile, fady, harini.ramakrishnan,
ocardona, Tal Shnaiderman
From: Tal Shnaiderman <talshn@mellanox.com>
Export needed eal functions used by the lib.
Signed-off-by: Tal Shnaiderman <talshn@mellanox.com>
---
lib/librte_eal/common/meson.build | 1 +
lib/librte_eal/rte_eal_exports.def | 3 +++
2 files changed, 4 insertions(+)
diff --git a/lib/librte_eal/common/meson.build b/lib/librte_eal/common/meson.build
index dc9b1d2feb..c1d9f21488 100644
--- a/lib/librte_eal/common/meson.build
+++ b/lib/librte_eal/common/meson.build
@@ -14,6 +14,7 @@ if is_windows
'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',
diff --git a/lib/librte_eal/rte_eal_exports.def b/lib/librte_eal/rte_eal_exports.def
index 984c5d1698..69204a92c6 100644
--- a/lib/librte_eal/rte_eal_exports.def
+++ b/lib/librte_eal/rte_eal_exports.def
@@ -3,6 +3,7 @@ EXPORTS
__rte_trace_mem_per_thread_alloc
__rte_trace_point_emit_field
__rte_trace_point_register
+ per_lcore__lcore_id
per_lcore__rte_errno
per_lcore_trace_mem
per_lcore_trace_point_sz
@@ -17,6 +18,7 @@ EXPORTS
rte_eal_has_pci
rte_eal_init
rte_eal_iova_mode
+ rte_eal_mbuf_user_pool_ops
rte_eal_mp_remote_launch
rte_eal_mp_wait_lcore
rte_eal_process_type
@@ -26,6 +28,7 @@ EXPORTS
rte_eal_tailq_register
rte_eal_using_phys_addrs
rte_free
+ rte_hexdump
rte_malloc
rte_malloc_dump_stats
rte_malloc_get_socket_stats
--
2.16.1.windows.4
^ permalink raw reply [flat|nested] 17+ messages in thread
* [dpdk-dev] [PATCH v2 3/3] mbuf: build on Windows
2020-06-25 15:24 ` [dpdk-dev] [PATCH v2 0/3] Support librte_mbuf on Windows talshn
2020-06-25 15:24 ` [dpdk-dev] [PATCH v2 1/3] eal: correct OS headers in rte_byteorder.h talshn
2020-06-25 15:24 ` [dpdk-dev] [PATCH v2 2/3] eal: export needed functions for mbuf talshn
@ 2020-06-25 15:24 ` talshn
2020-07-07 0:01 ` [dpdk-dev] [PATCH v2 0/3] Support librte_mbuf " Thomas Monjalon
3 siblings, 0 replies; 17+ messages in thread
From: talshn @ 2020-06-25 15:24 UTC (permalink / raw)
To: dev
Cc: thomas, pallavi.kadam, dmitry.kozliuk, david.marchand,
olivier.matz, ranjit.menon, navasile, fady, harini.ramakrishnan,
ocardona, Tal Shnaiderman
From: Tal Shnaiderman <talshn@mellanox.com>
Build the lib for Windows.
Signed-off-by: Tal Shnaiderman <talshn@mellanox.com>
---
lib/meson.build | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/lib/meson.build b/lib/meson.build
index a9a5be0e5e..dcee2e68ec 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -39,8 +39,8 @@ if is_windows
libraries = [
'kvargs','eal',
'ring',
- 'mempool', 'pci',
- ] # only supported libraries for windows
+ 'mempool', 'mbuf', 'pci', # core
+ ] # only supported libraries for windows
endif
default_cflags = machine_args
--
2.16.1.windows.4
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [dpdk-dev] [PATCH v2 0/3] Support librte_mbuf on Windows
2020-06-25 15:24 ` [dpdk-dev] [PATCH v2 0/3] Support librte_mbuf on Windows talshn
` (2 preceding siblings ...)
2020-06-25 15:24 ` [dpdk-dev] [PATCH v2 3/3] mbuf: build on Windows talshn
@ 2020-07-07 0:01 ` Thomas Monjalon
3 siblings, 0 replies; 17+ messages in thread
From: Thomas Monjalon @ 2020-07-07 0:01 UTC (permalink / raw)
To: Tal Shnaiderman
Cc: dev, pallavi.kadam, dmitry.kozliuk, david.marchand, olivier.matz,
ranjit.menon, navasile, fady, harini.ramakrishnan, ocardona,
arybchenko
> Tal Shnaiderman (3):
> eal: correct OS headers in rte_byteorder.h
> eal: export needed functions for mbuf
> mbuf: build on Windows
Applied, thanks
^ permalink raw reply [flat|nested] 17+ messages in thread
end of thread, other threads:[~2020-07-07 0:01 UTC | newest]
Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-01 9:38 [dpdk-dev] [PATCH 0/4] Support librte_mbuf on Windows talshn
2020-06-01 9:38 ` [dpdk-dev] [PATCH 1/4] eal: move OS common config code to single file talshn
2020-06-25 15:24 ` [dpdk-dev] [PATCH v2 0/3] Support librte_mbuf on Windows talshn
2020-06-25 15:24 ` [dpdk-dev] [PATCH v2 1/3] eal: correct OS headers in rte_byteorder.h talshn
2020-06-25 15:24 ` [dpdk-dev] [PATCH v2 2/3] eal: export needed functions for mbuf talshn
2020-06-25 15:24 ` [dpdk-dev] [PATCH v2 3/3] mbuf: build on Windows talshn
2020-07-07 0:01 ` [dpdk-dev] [PATCH v2 0/3] Support librte_mbuf " Thomas Monjalon
2020-06-01 9:38 ` [dpdk-dev] [PATCH 2/4] eal: set byteorder in Windows to little endian talshn
2020-06-16 7:50 ` Thomas Monjalon
2020-06-25 13:24 ` Tal Shnaiderman
2020-06-01 9:38 ` [dpdk-dev] [PATCH 3/4] eal: export needed functions for mbuf talshn
2020-06-16 8:09 ` Thomas Monjalon
2020-06-16 8:33 ` Tal Shnaiderman
2020-06-16 8:45 ` Thomas Monjalon
2020-06-16 9:26 ` Dmitry Kozlyuk
2020-06-16 11:44 ` Thomas Monjalon
2020-06-01 9:38 ` [dpdk-dev] [PATCH 4/4] mbuf: build on Windows talshn
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).