[dpdk-dev] [PATCH v3] build: fix symlink of drivers for Windows

2021-04-26 Thread Nick Connolly
build them. The script currently handles Clang and GCC. On Linux the functionality is unchanged, but could be replaced with the python script once the required minimum version of meson is >= 0.55.0. Fixes: 5c7d86948764 ("build: fix install on Windows") Cc: sta...@dpdk.org Signed-off-b

Re: [dpdk-dev] [PATCH v6 3/5] eal: make OS shims internal

2021-03-31 Thread Nick Connolly
This shim could have been convenient for applications. If not named "internal", we could export the header file and allow apps including it. Otherwise the app can recreate this file on its side, it is not a big deal. Opinions? Based on my experience with SPDK, I believe this would get messy v

Re: [dpdk-dev] [PATCH v5 03/10] windows/eal: translate Windows errors to errno-style errors

2021-03-31 Thread Nick Connolly
Also, I don't think this is a thread specific function, other implementations can use it in the future, maybe move it to rte_windows.h? I'd suggest that it's probably better suited to a .c file rather than a header.  As an example of what it might end up like see https://github.com/wpdk/wpdk

Re: [dpdk-dev] [PATCH v6 3/5] eal: make OS shims internal

2021-03-31 Thread Nick Connolly
> > I don't understand your point. > I am just proposing to allow some apps to explicitly include the shim > for their convenience in case they are fully based on DPDK and > understand the risk of conflict with some other code. Agreed - there’s no harm in doing so. My point was simply that for a

[dpdk-dev] [PATCH] build: fix symlink of drivers for Windows

2021-04-01 Thread Nick Connolly
The script currently handles Clang and GCC. Fixes: 5c7d86948764 ("build: fix install on Windows") Cc: sta...@dpdk.org Signed-off-by: Nick Connolly --- buildtools/symlink-drivers-solibs.py | 49 buildtools/symlink-drivers-solibs.sh | 13 config/meso

Re: [dpdk-dev] [PATCH] build: fix symlink of drivers for Windows

2021-04-06 Thread Nick Connolly
PDB (debuginfo) files can be quite large, do we want to install them? The script copies will only copy the .pdb files if they have already been installed into lib/dpdk/pmds-*/. If they haven't, we'll just skip the step. Whether they should be installed is a different question :-) Installing

Re: [dpdk-dev] [PATCH v7 2/5] eal/windows: hide asprintf() shim

2021-04-10 Thread Nick Connolly
y. Signed-off-by: Dmitry Kozlyuk Acked-by: Khoa To Acked-by: Nick Connolly

[dpdk-dev] [PATCH v2] build: fix symlink of drivers for Windows

2021-04-10 Thread Nick Connolly
build them. The script currently handles Clang and GCC. On Linux the functionality is unchanged, but could be replaced with the python script once the required minimum version of meson is >= 0.55.0. Fixes: 5c7d86948764 ("build: fix install on Windows") Cc: sta...@dpdk.org Signed-off-by: Ni

[dpdk-dev] DPDK shout-out at SDC 2021

2021-09-27 Thread Nick Connolly
If anyone is attending SDC 2021, the DPDK community (and especially the work to support Windows) gets a shout-out in one of the breakout sessions tomorrow (Tuesday): Can SPDK Deliver High Performance NVMe on Windows? Nick Connolly, Chief Scientist MayaData / DataCore Software https

Re: [dpdk-dev] [PATCH] eal/windows: add sys/queue.h.

2021-08-10 Thread Nick Connolly
diff --git a/lib/eal/windows/include/meson.build b/lib/eal/windows/include/meson.build index b3534b025f..875cc1cf0d 100644 --- a/lib/eal/windows/include/meson.build +++ b/lib/eal/windows/include/meson.build @@ -8,3 +8,7 @@ headers += files( 'rte_virt2phys.h', 'rte_windows.h',

Re: [dpdk-dev] [PATCH] eal/windows: add sys/queue.h.

2021-08-11 Thread Nick Connolly
What we can do: 1. Introduce `rte_queue.h` (name can be better) that is env-specific: 1.1. For Linux and FreeBSD it just includes and renames a few macros that are used in headers to RTE_xxx. 1.2. For Windows it defines the same RTE_xxx macros in a way compatible wi

[dpdk-dev] [PATCH] bus/pci: nvme on Windows requires class id and bus

2021-01-25 Thread Nick Connolly
Attaching to an NVMe disk on Windows using SPDK requires the PCI class ID and device.bus fields. Decode the class ID from the PCI device info strings if it is present and set device.bus. Signed-off-by: Nick Connolly --- drivers/bus/pci/windows/pci.c | 10 +- 1 file changed, 9 insertions

[dpdk-dev] [PATCH] dpdk-kmods: nvme support for netuio on Windows

2021-01-25 Thread Nick Connolly
Enable the netuio driver for an NVMe storage controller on Windows. Add the class ID 010802 and identify the device as 'netuio NVM Express Controller'. Signed-off-by: Nick Connolly --- windows/netuio/netuio.inf | 2 ++ 1 file changed, 2 insertions(+) diff --git a/windows/netuio/ne

Re: [dpdk-dev] [PATCH] bus/pci: nvme on Windows requires class id and bus

2021-01-26 Thread Nick Connolly
Hi Tal, Thanks for the comments. + /* Try and find PCI class ID */ + for (cp = buf; !(cp[0] == 0 && cp[1] == 0); cp++) How about for (cp = buf; cp[0] || cp[1]; cp++) That would be my preferred idiom, but the DPDK coding style (1.9.1) says 'do not use ! for tests unless it is a boo

Re: [dpdk-dev] [PATCH] bus/pci: nvme on Windows requires class id and bus

2021-01-27 Thread Nick Connolly
On 26/01/2021 22:41, Thomas Monjalon wrote: That's true. Comparisons should be explicit. Thanks Thomas, Nick

[dpdk-dev] [PATCH v2] bus/pci: nvme on Windows requires class id and bus

2021-01-28 Thread Nick Connolly
Attaching to an NVMe disk on Windows using SPDK requires the PCI class ID and device.bus fields. Decode the class ID from the PCI device info strings if it is present and set device.bus. Signed-off-by: Nick Connolly --- drivers/bus/pci/windows/pci.c | 15 ++- 1 file changed, 14

[dpdk-dev] [PATCH v3] bus/pci: nvme on Windows requires class id and bus

2021-01-28 Thread Nick Connolly
Attaching to an NVMe disk on Windows using SPDK requires the PCI class ID and device.bus fields. Decode the class ID from the PCI device info strings if it is present and set device.bus. Signed-off-by: Nick Connolly --- v3: * Put version history at top - v2 mistakenly had it after the diffs v2

Re: [dpdk-dev] [PATCH v3] bus/pci: nvme on Windows requires class id and bus

2021-02-02 Thread Nick Connolly
Hi Tal, + /* Convert 4-digit class IDs to 6-digit format */ + if (strspn(cp + 4, "0123456789abcdefABCDEF") == 4) Maybe we can move this format string to a define in the header, something like RTE_PCI_DRV_CLASSID_FMT? I'll send out a v4 with a defi

[dpdk-dev] [PATCH v4] bus/pci: nvme on Windows requires class id and bus

2021-02-02 Thread Nick Connolly
Attaching to an NVMe disk on Windows using SPDK requires the PCI class ID and device.bus fields. Decode the class ID from the PCI device info strings if it is present and set device.bus. Signed-off-by: Nick Connolly --- drivers/bus/pci/windows/pci.c | 18 +- 1 file changed, 17

[dpdk-dev] [PATCH v5] bus/pci: nvme on Windows requires class id and bus

2021-02-02 Thread Nick Connolly
Attaching to an NVMe disk on Windows using SPDK requires the PCI class ID and device.bus fields. Decode the class ID from the PCI device info strings if it is present and set device.bus. Signed-off-by: Nick Connolly --- v5: * Add missing version history v4: * Use #define to determine length of

Re: [dpdk-dev] [PATCH] dpdk-kmods: nvme support for netuio on Windows

2021-02-10 Thread Nick Connolly
Hi Harini, As discussed - attaching zip file with images showing the NVMe device being attached under netuio management and the output from the spdk identify command. Thanks, Nick On 25/01/2021 17:39, Nick Connolly wrote: Enable the netuio driver for an NVMe storage controller on Windows

Re: [dpdk-dev] [SPDK] Re: [dpdklab] Re: [dpdk-ci] [CI] SPDK compilation failures @ DPDK community lab

2021-02-15 Thread Nick Connolly
Rather than maintain dpdk internal dependencies on SPDK side, would it be possible to use pkg-config? Hi David, Are the DPDK pkgconfig files intended to work for Windows builds? I've had a quick look and as far as I can see the dependencies are listed correctly, but I was less convinced by

Re: [dpdk-dev] [PATCH v2 1/7] eal: add wrappers for POSIX string functions

2021-02-22 Thread Nick Connolly
Rather than defining "rte_" versions of these functions, is it possible just to provide the unprefixed definitions of them for internal use? While this probably won't work for any functions used in public headers, for any functions only used in C files, we can use meson to detect the presence o

Re: [dpdk-dev] [PATCH v2 1/7] eal: add wrappers for POSIX string functions

2021-02-22 Thread Nick Connolly
For any functions, such as strdup, which are not in a public header I would suggest the following as a possible start point, based off what was done for strlcpy. * In DPDK (probably EAL), define an rte_strdup function for use as a fallback. * Inside the meson build scripts, use "cc.has_func

Re: [dpdk-dev] [PATCH v2 1/7] eal: add wrappers for POSIX string functions

2021-02-22 Thread Nick Connolly
There seem to be two viable approaches to handling this: 1. Expect the platform to provide POSIX semantic (through an external ... I'd prefer not to see this be a requirement of the platform. There have been multiple attempts over the years to provide a POSIX surfaces on Windows which arg

[dpdk-dev] [PATCH v2] dpdk-kmods: nvme support for netuio on Windows

2021-02-23 Thread Nick Connolly
Enable the netuio driver for an NVMe storage controller on Windows. Add the class ID 010802 and identify the device as 'netuio NVM Express Controller'. Signed-off-by: Nick Connolly --- v2: * rebase to latest netuio.inf windows/netuio/netuio.inf | 2 ++ 1 file changed, 2 insertion

[dpdk-dev] [PATCH v6] bus/pci: nvme on Windows requires class id and bus

2021-02-23 Thread Nick Connolly
Attaching to an NVMe disk on Windows using SPDK requires the PCI class ID and device.bus fields. Decode the class ID from the PCI device info strings if it is present and set device.bus. Signed-off-by: Nick Connolly Acked-by: Tal Shnaiderman --- v6: * no changes - resending to resolve spurious

Re: [dpdk-dev] [PATCH v3 1/7] eal: add wrappers for POSIX string functions

2021-02-23 Thread Nick Connolly
Allocating memory using rte_strdup() I'd use rte_free() to release it. I guess it will fail badly. So, I think that a different, more specific prefix is required for POSIX wrappers. Andrew: my understanding of Bruce's proposal is that the strdup() name will now be kept (in this case through

Re: [dpdk-dev] [PATCH v3 3/7] eal: add sleep API

2021-02-23 Thread Nick Connolly
Hi Dmitry, +void +rte_thread_sleep(unsigned int sec) +{ + return Sleep(MS_PER_S * sec); +} There's probably no benefit in returning the 'void' value - I'd suggest just call Sleep(). Regards, Nick

Re: [dpdk-dev] [PATCH v2 4/6] net/pcap: add libpcap wrappers

2021-02-25 Thread Nick Connolly
i40e */ #ifndef USER_EXPLICITLY_WANTS_WINDOWS_H #undef min, max, ... #endif #define what's missing from Windows headers, e.g. IPPROTO_SCTP + Windows maintainers, Nick Connolly, and Jie Zhou to discuss. In my opinion, there are long term maintenance i

Re: [dpdk-dev] [PATCH v6] bus/pci: nvme on Windows requires class id and bus

2021-03-01 Thread Nick Connolly
Thanks Dmitry - will address and send v7. On 28/02/2021 14:38, Dmitry Kozlyuk wrote: 2021-02-23 18:18, Nick Connolly: Attaching to an NVMe disk on Windows using SPDK requires the PCI class ID and device.bus fields. Decode the class ID from the PCI device info strings if it is present and set

[dpdk-dev] [PATCH v7] bus/pci: nvme on Windows requires class id and bus

2021-03-01 Thread Nick Connolly
Attaching to an NVMe disk on Windows using SPDK requires the PCI class ID and device.bus fields. Decode the class ID from the PCI device info strings if it is present and set device.bus. Signed-off-by: Nick Connolly Acked-by: Tal Shnaiderman Acked-by: Dmitry Kozlyuk --- v7: * Improve comments

Re: [dpdk-dev] [PATCH] eal/windows: add missing SPDX license tag

2021-03-01 Thread Nick Connolly
Fixes: c08bd191b13d ("eal/windows: initialize hugepage info") Cc: sta...@dpdk.org Reported-by: Stephen Hemminger Signed-off-by: Dmitry Kozlyuk Acked-by: Nick Connolly

Re: [dpdk-dev] [PATCH v2 1/7] eal: add wrappers for POSIX string functions

2021-03-01 Thread Nick Connolly
There's a meson issue with `cc.has_function()`: https://github.com/mesonbuild/meson/issues/5628 What if we just define RTE_INTERNAL for librte_eal/windows/include/rte_os.h (and other public headers if need be) to distinguish the case when it's used from within DPDK? It's a pragmatic solution t

Re: [dpdk-dev] [PATCH v2 4/6] net/pcap: add libpcap wrappers

2021-03-01 Thread Nick Connolly
Complete removal of non-standard dependencies in headers is within a grasp. Then we can remove shims and include whatever needed. Thoughts? Sounds good. A couple of 'gotchas' that I've come across (but may not be an issue for DPDK): * Memory allocation / free that spans a dll boundary (see

Re: [dpdk-dev] [kmods PATCH] windows/netuio: add vmxnet3 device ID

2021-03-01 Thread Nick Connolly
+%vmxnet3.Description%=netuio_Device, PCI\VEN_15AD&DEV_07B0 Acked-by: Nick Connolly PCI hardware IDs verified against: https://devicehunt.com/view/type/pci/vendor/15AD/device/07B0

Re: [dpdk-dev] [PATCH 1/6] eal: add internal API for current time

2021-03-01 Thread Nick Connolly
Calculation of usec value is incorrect - 'ticks' is not adjusted for epoch, whereas 'sec' has been, also subtraction has mismatched units - ticks in 100ns and sec * USEC_PER_SEC in usecs. On 14/02/2021 01:20, Dmitry Kozlyuk wrote: + GetSystemTimePreciseAsFileTime(&ft); + ticks = (

Re: [dpdk-dev] [PATCH 2/6] net/pcap: fix format string

2021-03-01 Thread Nick Connolly
Use PRIu32 for uint32_t (found by -Wformat with Clang on Windows). Acked-by: Nick Connolly

Re: [dpdk-dev] [PATCH 1/6] eal: add internal API for current time

2021-03-01 Thread Nick Connolly
Calculation of usec value is incorrect - 'ticks' is not adjusted for epoch, whereas 'sec' has been, also subtraction has mismatched units - ticks in 100ns and sec * USEC_PER_SEC in usecs. Ignore - fixed in later version which I hadn't spotted.

Re: [dpdk-dev] [PATCH v2 1/6] eal: add internal API for current time

2021-03-01 Thread Nick Connolly
Many PMDs use POSIX gettimeofday(). Add rte_time_get_us() function to obtain current time with microsecond precision on all platforms. Acked-by: Nick Connolly

Re: [dpdk-dev] [PATCH v2 4/6] net/pcap: add libpcap wrappers

2021-03-02 Thread Nick Connolly
Is posix_memalign() used more extensively in SPDK? In DPDK, it's 2 PMDs: Yes, there are about 80 references. A lot are in ISA-L where they are #defined to _aligned_malloc and can be ignored, but there still several in the rest of the code. * Sockets are unfortunately specified as using cl

Re: [dpdk-dev] [PATCH v2 1/7] eal: add wrappers for POSIX string functions

2021-03-02 Thread Nick Connolly
DPDK supports a variety of platforms and toolsets and my experience with SPDK suggests that we'll end up with compiler specific ifdef's. I'd argue they are inevitable. Consider POSIX close(): if it's missing, what would be a correct fallback? It depends on the execution environment (OS). Str

Re: [dpdk-dev] [PATCH] build: fix install from arbitrary directory for meson 0.55

2021-08-23 Thread Nick Connolly
Good catch - thanks Dmitry. Ack-by: Nick Connolly

Re: [dpdk-dev] [PATCH v2] dpdk-kmods: nvme support for netuio on Windows

2021-03-17 Thread Nick Connolly
Hi Thomas, I don't understand why there is no review. Applied, thanks. Reviewed by the team at Microsoft who were happy, but looks like a formal 'Acked-by' didn't get sent. Thanks, Nick

Re: [dpdk-dev] [PATCH v2 2/3] meson: use threads dependency as provided by meson

2021-03-22 Thread Nick Connolly
meson guarantees this is portable, so this also allows us to remove a is_windows switch. Hi Gabriel, On Windows, there are at least three different compilation options: * MinGW-w64 with posix threads * MinGW-w64 with win32 threads (different download) * Clang without threads support The

Re: [dpdk-dev] [PATCH v2 2/3] meson: use threads dependency as provided by meson

2021-03-23 Thread Nick Connolly
Threads is a dummy dependency for Clang. For MinGW without pthread it still adds -pthread switch (and it comes to libdpdk.pc), but executable doesn't require pthread library to run. I can imagine DPDK built by MinGW without pthread be linked via pkg-config to an app built by MinGW with pthread,

Re: [dpdk-dev] [PATCH v2 2/3] meson: use threads dependency as provided by meson

2021-03-23 Thread Nick Connolly
Agreed. In my tests it's "-pthread", not "-lpthread", but still. Agreed - I must have been distracted by the array of -l: arguments :-) It's more like, in lib/librte_telemetry/meson.build: if not is_windows ext_deps += threads_dep endif It's not a big deal, b

Re: [dpdk-dev] [PATCH v3] build: fix symlink of drivers for Windows

2021-05-27 Thread Nick Connolly
Hi Bruce, Would you have some time to take a look at this?  It's a replacement for the symlink-drivers-solibs.sh script for windows builds. Thanks, Nick On 26/04/2021 11:07, Nick Connolly wrote: The symlink-drivers-solibs.sh script was disabled as part of 'install' for Window

Re: [dpdk-dev] [PATCH v3] build: fix symlink of drivers for Windows

2021-05-28 Thread Nick Connolly
I've reviewed it now and it looks good. Couldn't even find anything to nit-pick in it! :-) Thanks Bruce - appreciated  :-) Nick

[dpdk-dev] [PATCH] Windows: minor build fixes

2020-10-30 Thread Nick Connolly
t the dll. Tested using Link 14.27.29112.0 and Clang 11.0.0. Signed-off-by: Nick Connolly --- config/meson.build | 8 +--- drivers/meson.build | 6 -- lib/meson.build | 6 -- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/config/meson.build b/config/meson.build ind

[dpdk-dev] [PATCH] windows: minor build fixes

2020-10-30 Thread Nick Connolly
14.27.29112.0 and Clang 11.0.0. Signed-off-by: Nick Connolly --- config/meson.build | 8 +--- drivers/meson.build | 6 -- lib/meson.build | 6 -- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/config/meson.build b/config/meson.build index 258b01d06..a29693

Re: [dpdk-dev] [PATCH] windows: minor build fixes

2020-10-30 Thread Nick Connolly
Do we know what the motivation to rename the import library for the Windows build was in the first place? I've tried removing the renaming of the import library completely in the Windows build and the build produces valid output (a valid DLL and paired import library is generated for each RT

Re: [dpdk-dev] [PATCH] windows: minor build fixes

2020-10-30 Thread Nick Connolly
On 30/10/2020 22:51, Tal Shnaiderman wrote: Do we know why meson changed its behavior of lib file location in versions > 0.54? Was the old behavior of keeping lib files in the matching output folders incorrect? I'm not sure why meson was changed, but without the fix subsequent attempts to link

[dpdk-dev] [PATCH v2] windows: minor build fixes

2020-10-30 Thread Nick Connolly
and 0.54.0. Only make the change for >= 0.54.0, leaving the behaviour unchanged for earlier versions. Signed-off-by: Nick Connolly Tested-by: Ranjit Menon Acked-by: Ranjit Menon --- v2: * split out config/meson.build change drivers/meson.build | 6 -- lib/meson.build | 6 -- 2

[dpdk-dev] [PATCH v2] windows: minor build fixes

2020-10-30 Thread Nick Connolly
and 0.54.0. Only make the change for >= 0.54.0, leaving the behaviour unchanged for earlier versions. Signed-off-by: Nick Connolly Tested-by: Ranjit Menon Acked-by: Ranjit Menon --- v2: * split out config/meson.build change drivers/meson.build | 6 -- lib/meson.build | 6 -- 2

[dpdk-dev] [PATCH v2] windows: minor build fixes

2020-10-30 Thread Nick Connolly
and 0.54.0. Only make the change for >= 0.54.0, leaving the behaviour unchanged for earlier versions. Signed-off-by: Nick Connolly Tested-by: Ranjit Menon Acked-by: Ranjit Menon --- v2: * split out config/meson.build change drivers/meson.build | 6 -- lib/meson.build | 6 -- 2

[dpdk-dev] [PATCH] windows: minor install fix

2020-10-30 Thread Nick Connolly
Don't run symlink-drivers-solibs.sh as part of 'install' because Windows doesn't support shell scripts. Signed-off-by: Nick Connolly Tested-by: Ranjit Menon Acked-by: Ranjit Menon --- config/meson.build | 8 +--- 1 file changed, 5 insertions(+), 3 deletions(-)

Re: [dpdk-dev] [PATCH v2] windows: minor build fixes

2020-10-31 Thread Nick Connolly
Missing / incorrect '--in-reply-to'. Please ignore - still learning the process! On 31/10/2020 06:43, Nick Connolly wrote: Meson versions >= 0.54.0 include support for handling /implib with msvc link. Specifying it explicitly causes failures when linking against the dll. Test

Re: [dpdk-dev] [EXTERNAL] [RFC] pthread on Windows

2020-11-02 Thread Nick Connolly
Hi Khoa, On 29/10/2020 21:19, Khoa To wrote: -Original Message- From: dev On Behalf Of Nick Connolly Sent: Monday, October 19, 2020 2:59 AM To: dev@dpdk.org Subject: [EXTERNAL] [dpdk-dev] [RFC] pthread on Windows The proposed changes are: 1. An EAL implementation of pthread with a

Re: [dpdk-dev] [EXTERNAL] [RFC] pthread on Windows

2020-11-11 Thread Nick Connolly
03/11/2020 22:34, Khoa To wrote: +Dmitry, Harini Hi Nick, -Original Message- From: Nick Connolly Sent: Monday, November 2, 2020 3:17 AM To: Khoa To ; dev@dpdk.org Subject: Re: [EXTERNAL] [dpdk-dev] [RFC] pthread on Windows Hi Khoa, On 29/10/2020 21:19, Khoa To wrote: -Original

[dpdk-dev] Windows: A fundamental issue (was eal/windows: definition for ETOOMANYREFS errno)

2020-11-17 Thread Nick Connolly
Unfortunately, this change has broken the build for SPDK on Windows. To use the DPDK libraries, an application needs to include the rte_* header, which includes rte_os.h via rte_common.h.  The definition of ETOOMANYREFS clashes with the value used when building the SPDK on Windows. The fundam

Re: [dpdk-dev] Windows: A fundamental issue (was eal/windows: definition for ETOOMANYREFS errno)

2020-11-19 Thread Nick Connolly
Thanks Tal. On 19/11/2020 15:27, Tal Shnaiderman wrote: Subject: Re: Windows: A fundamental issue (was eal/windows: definition for ETOOMANYREFS errno) External email: Use caution opening links or attachments 19/11/2020 14:21, Tal Shnaiderman: Subject: Re: Windows: A fundamental issue (was e

Re: [dpdk-dev] [PATCH] eal/windows: revert definition of ETOOMANYREFS

2020-11-19 Thread Nick Connolly
Reviewed-by: Nick Connolly On 19/11/2020 15:43, Tal Shnaiderman wrote: This reverts commit c917b54b0c743c7a570a4d8df8954c61d8b818c4. The definition of ETOOMANYREFS is reverted as it breaks build of external applications already defining it. Fixes: c917b54b0c ("eal/windows: add definiti

[dpdk-dev] [PATCH] eal/windows: fix link error with MinGW

2020-11-20 Thread Nick Connolly
of INITGUID. Fixes: b762221ac24f ("bus/pci: support Windows with bifurcated drivers") Cc: tal...@mellanox.com Signed-off-by: Nick Connolly --- lib/librte_eal/windows/include/rte_windows.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/librte_eal/windows/include/rte_windo

Re: [dpdk-dev] [PATCH] eal/windows: fix link error with MinGW

2020-11-20 Thread Nick Connolly
I can't seem to reproduce the link error you've mentioned (I'm building hello_world on master). can you share more information on how to reproduce it? (MinGW version, build env variables, build OS). Thanks, Tal. Hi Tal, Sure - latest MinGW-w64 (v8.0.0 I believe, but the versioning isn't

Re: [dpdk-dev] [PATCH] eal/windows: fix link error with MinGW

2020-11-20 Thread Nick Connolly
Build OS is Windows 10 2004

Re: [dpdk-dev] [PATCH] eal/windows: fix link error with MinGW

2020-11-21 Thread Nick Connolly
Hi Dmitry, On 21/11/2020 20:47, Dmitry Kozlyuk wrote: I disagree. Just because we have rte_windows.h to properly plug Windows SDK in, other DPDK code doesn't need to care about these details. Unused GUIDs do take some space in static libraries, but IMO it's a fair trade for ease of development.

[dpdk-dev] [PATCH v2] eal/windows: fix link error with MinGW

2020-11-21 Thread Nick Connolly
62221ac24f ("bus/pci: support Windows with bifurcated drivers") Cc: tal...@mellanox.com Signed-off-by: Nick Connolly --- v2 * Fix commit message - add blank line, use present tense lib/librte_eal/windows/include/rte_windows.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff

[dpdk-dev] [PATCH v3] eal/windows: fix link error with MinGW

2020-11-22 Thread Nick Connolly
62221ac24f ("bus/pci: support Windows with bifurcated drivers") Cc: sta...@dpdk.org Signed-off-by: Nick Connolly --- v2 * Change Cc to sta...@dpdk.org v2 * Fix commit message - add blank line, use present tense lib/librte_eal/windows/include/rte_windows.h | 2 +- 1 file changed, 1 ins

Re: [dpdk-dev] Build error with mingw in debug mode

2020-11-27 Thread Nick Connolly
The root cause here is that rte_windows.h shouldn't be injecting 'missing' POSIX functionality into the environment.  The header is included indirectly in application code via rte_os.h, but deciding how to implement the 'missing' functionality should be the applications responsibility. There a

Re: [dpdk-dev] Build error with mingw in debug mode

2020-11-27 Thread Nick Connolly
Errata: the definition is in rte_os.h rather than rte_windows.h On 27/11/2020 10:05, Nick Connolly wrote: The root cause here is that rte_windows.h shouldn't be injecting 'missing' POSIX functionality into the environment.  The header is included indirectly in application co

[dpdk-dev] [PATCH] windows: build error with mingw debug

2020-11-27 Thread Nick Connolly
sta...@dpdk.org Signed-off-by: Nick Connolly --- lib/librte_eal/windows/include/rte_os.h | 22 ++ 1 file changed, 22 insertions(+) diff --git a/lib/librte_eal/windows/include/rte_os.h b/lib/librte_eal/windows/include/rte_os.h index 569ed92d5..ea3fe60e5 100644 --- a/lib/lib

[dpdk-dev] [PATCH] windows: build warnings with clang

2020-11-27 Thread Nick Connolly
. Signed-off-by: Nick Connolly --- config/meson.build | 5 + 1 file changed, 5 insertions(+) diff --git a/config/meson.build b/config/meson.build index c02802c18..a3154e29c 100644 --- a/config/meson.build +++ b/config/meson.build @@ -279,6 +279,11 @@ if is_windows

[dpdk-dev] [PATCH] eal/windows: vfprintf build warning with clang

2020-11-27 Thread Nick Connolly
U and NUMA node detection") Cc: sta...@dpdk.org Signed-off-by: Nick Connolly --- lib/librte_eal/windows/eal_lcore.c | 9 + 1 file changed, 9 insertions(+) diff --git a/lib/librte_eal/windows/eal_lcore.c b/lib/librte_eal/windows/eal_lcore.c index d5ff721e0..d996b4f89 100644 --- a/lib/

Re: [dpdk-dev] Build error with mingw in debug mode

2020-11-27 Thread Nick Connolly
I've created a patch for this and also for a couple of build warnings that showed up doing a similar test with clang. On 27/11/2020 10:07, Nick Connolly wrote: Errata: the definition is in rte_os.h rather than rte_windows.h On 27/11/2020 10:05, Nick Connolly wrote: The root cause here is

[dpdk-dev] Windows support

2020-11-27 Thread Nick Connolly
[Apologies if this is off-topic - just thought it might be of interest] Thanks to the excellent work that has been done to get DPDK running on Windows, it's now possible to build and run SPDK on Windows! (The SPDK is a high performance user space storage stack based around the NVMe protocol. 

Re: [dpdk-dev] [PATCH] eal/windows: vfprintf build warning with clang

2020-11-28 Thread Nick Connolly
Looks good to me! On 28/11/2020 21:11, Dmitry Kozlyuk wrote: On Fri, 27 Nov 2020 12:07:11 +, Nick Connolly wrote: [...] +#ifdef __clang__ +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wformat-nonliteral" +#endif [...] How about a more safe approach? diff -

[dpdk-dev] [PATCH v2] eal/windows: vfprintf build warning with clang

2020-11-29 Thread Nick Connolly
When building with clang (11.0,--buildtype=debug), eal_lcore.c produces a -Wformat-nonliteral warning from the vfprintf call in log_early. Add __rte_format_printf annotation. Fixes: b8a36b086625 ("eal/windows: improve CPU and NUMA node detection") Cc: sta...@dpdk.org Signed-of

[dpdk-dev] [PATCH v2] windows: build warnings with clang

2020-11-29 Thread Nick Connolly
es its own CRT without this issue. [1]: https://docs.microsoft.com/en-us/cpp/c-runtime-library/security-features-in-the-crt?view=msvc-160 Disable this by defining -D_CRT_SECURE_NO_WARNINGS. Signed-off-by: Nick Connolly --- v2: * Adjust commit wording as per Dmitry Kozlyuk Note: It is unclear exa

Re: [dpdk-dev] [PATCH v2] windows: build warnings with clang

2020-12-09 Thread Nick Connolly
Copying sta...@dpdk.org - given that 20.11 has now been released I assume this needs to be applied there as well. On 07/12/2020 20:34, Thomas Monjalon wrote: 03/12/2020 01:02, Dmitry Kozlyuk: On Sun, 29 Nov 2020 16:00:24 +, Nick Connolly wrote: Microsoft CRT defines Windows-specific

Re: [dpdk-dev] Windows support

2020-12-15 Thread Nick Connolly
There's also a blog post with some background at https://www.linkedin.com/posts/nick-connolly-36276339_storage-is-evolving-activity-6743223532664184832-8Qzq On 27/11/2020 20:13, Nick Connolly wrote: [Apologies if this is off-topic - just thought it might be of interest] Thanks to the exce

[dpdk-dev] [RFC] pthread on Windows

2020-10-19 Thread Nick Connolly
As part of the DPDK on Windows work, the following proposal has been put together and we would welcome community feedback. The heart of the issue is that, unlike Linux and FreeBSD, Windows does not claim to be POSIX conformant: some functionality is missing, some is present and some has differ

[dpdk-dev] [PATCH] mem: fix allocation failure on non-NUMA kernel

2020-08-05 Thread Nick Connolly
ENOSYS from the kernel and fails the allocation. The allocated socket should only be verified if check_numa() is true. Fixes: 2a96c88be83e ("mem: ease init in a docker container") Cc: nicolas.dich...@6wind.com Cc: sta...@dpdk.org Signed-off-by: Nick Connolly --- lib/librte_eal/linux/eal_

Re: [dpdk-dev] [PATCH] mem: fix allocation failure on non-NUMA kernel

2020-08-05 Thread Nick Connolly
Hi Nicolas, Thanks for the quick response. On 05/08/2020 14:42, Nicolas Dichtel wrote: Le 05/08/2020 à 14:26, Nick Connolly a écrit : Running dpdk-helloworld on Linux with lib numa present, but no kernel support for NUMA (CONFIG_NUMA=n) causes ret_service_init() to fail with EAL: error

Re: [dpdk-dev] [PATCH] mem: fix allocation failure on non-NUMA kernel

2020-08-05 Thread Nick Connolly
On 05/08/2020 15:36, Nicolas Dichtel wrote: Le 05/08/2020 à 16:20, Nick Connolly a écrit : [snip] Fixes: 2a96c88be83e ("mem: ease init in a docker container") I'm wondering if the bug existed before this commit. Before this commit, it was:     move_pages(getpid(),

Re: [dpdk-dev] [PATCH] mem: fix allocation failure on non-NUMA kernel

2020-08-05 Thread Nick Connolly
On 05/08/2020 16:13, Nicolas Dichtel wrote: Le 05/08/2020 à 16:53, Nick Connolly a écrit : [snip] +    if (check_numa()) { +    ret = get_mempolicy(&cur_socket_id, NULL, 0, addr, +    MPOL_F_NODE | MPOL_F_ADDR); +    if (ret < 0) { +    RTE_LOG(DEBUG, E

[dpdk-dev] [PATCH v2] mem: fix allocation failure on non-NUMA kernel

2020-10-12 Thread Nick Connolly
ENOSYS from the kernel and fails the allocation. The allocated socket should only be verified if check_numa() is true. Fixes: 2a96c88be83e ("mem: ease init in a docker container") Cc: nicolas.dich...@6wind.com Cc: sta...@dpdk.org Signed-off-by: Nick Connolly --- v2: * Remove unneces

[dpdk-dev] [PATCH v2] mem: fix allocation failure on non-NUMA kernel

2020-10-12 Thread Nick Connolly
ENOSYS from the kernel and fails the allocation. The allocated socket should only be verified if check_numa() is true. Fixes: 2a96c88be83e ("mem: ease init in a docker container") Cc: nicolas.dich...@6wind.com Cc: sta...@dpdk.org Signed-off-by: Nick Connolly --- v2: * Remove unneces

Re: [dpdk-dev] [PATCH] mem: fix allocation failure on non-NUMA kernel

2020-09-17 Thread Nick Connolly
his occurs. Do you know whether CONFIG_NUMA turns off all knowledge about the hardware architecture?  If it does, then I agree that the test for rte_socket_count() serves no purpose and should be removed. Many thanks, Nick On 17/09/2020 12:31, Burakov, Anatoly wrote: On 05-Aug-20 1:26 PM, Nick

Re: [dpdk-dev] [PATCH] mem: fix allocation failure on non-NUMA kernel

2020-09-17 Thread Nick Connolly
Hi Anatoly, Thanks.  My recollection is that all of the NUMA configuration flags were set to 'n'. Regards, Nick On 17/09/2020 13:57, Burakov, Anatoly wrote: On 17-Sep-20 1:29 PM, Nick Connolly wrote: Hi Anatoly, Thanks for the response.  You are asking a good question - here

Re: [dpdk-dev] [PATCH] mem: fix allocation failure on non-NUMA kernel

2020-09-17 Thread Nick Connolly
Excellent - thanks - I'll amend the patch. On 17/09/2020 15:07, Burakov, Anatoly wrote: On 17-Sep-20 2:05 PM, Nick Connolly wrote: Hi Anatoly, Thanks.  My recollection is that all of the NUMA configuration flags were set to 'n'. Regards, Nick On 17/09/2020 13:57, Burakov

Re: [dpdk-dev] [PATCH] mem: fix allocation failure on non-NUMA kernel

2020-09-17 Thread Nick Connolly
Sure. On 17/09/2020 15:18, Burakov, Anatoly wrote: On 17-Sep-20 3:08 PM, Nick Connolly wrote: Excellent - thanks - I'll amend the patch. On 17/09/2020 15:07, Burakov, Anatoly wrote: On 17-Sep-20 2:05 PM, Nick Connolly wrote: Hi Anatoly, Thanks.  My recollection is that all of the