* [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 related [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 related [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 related [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 related [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 related [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 related [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 related [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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.