From: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
To: dev@dpdk.org
Cc: "Dmitry Malloy (MESHCHANINOV)" <dmitrym@microsoft.com>,
Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>,
Thomas Monjalon <thomas@monjalon.net>,
Harini Ramakrishnan <harini.ramakrishnan@microsoft.com>,
Omar Cardona <ocardona@microsoft.com>,
Pallavi Kadam <pallavi.kadam@intel.com>,
Ranjit Menon <ranjit.menon@intel.com>,
John McNamara <john.mcnamara@intel.com>,
Marko Kovacevic <marko.kovacevic@intel.com>
Subject: [dpdk-dev] [RFC PATCH 4/9] eal/windows: initialize hugepage info
Date: Mon, 30 Mar 2020 07:10:21 +0300 [thread overview]
Message-ID: <20200330041026.784624-5-dmitry.kozliuk@gmail.com> (raw)
In-Reply-To: <20200330041026.784624-1-dmitry.kozliuk@gmail.com>
Add hugepages discovery ("large pages" in Windows terminology)
and update documentation for required privilege setup.
Signed-off-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
---
config/meson.build | 2 +
doc/guides/windows_gsg/build_dpdk.rst | 20 ----
doc/guides/windows_gsg/index.rst | 1 +
doc/guides/windows_gsg/run_apps.rst | 47 +++++++++
lib/librte_eal/windows/eal/eal.c | 14 +++
lib/librte_eal/windows/eal/eal_hugepages.c | 108 +++++++++++++++++++++
lib/librte_eal/windows/eal/meson.build | 1 +
7 files changed, 173 insertions(+), 20 deletions(-)
create mode 100644 doc/guides/windows_gsg/run_apps.rst
create mode 100644 lib/librte_eal/windows/eal/eal_hugepages.c
diff --git a/config/meson.build b/config/meson.build
index abedd76f2..73cf69814 100644
--- a/config/meson.build
+++ b/config/meson.build
@@ -263,6 +263,8 @@ if is_windows
if cc.get_id() == 'gcc'
add_project_arguments('-D__USE_MINGW_ANSI_STDIO', language: 'c')
endif
+
+ add_project_link_arguments('-ladvapi32', language: 'c')
endif
if get_option('b_lto')
diff --git a/doc/guides/windows_gsg/build_dpdk.rst b/doc/guides/windows_gsg/build_dpdk.rst
index d46e84e3f..650483e3b 100644
--- a/doc/guides/windows_gsg/build_dpdk.rst
+++ b/doc/guides/windows_gsg/build_dpdk.rst
@@ -111,23 +111,3 @@ Depending on the distribution, paths in this file may need adjustments.
meson --cross-file config/x86/meson_mingw.txt -Dexamples=helloworld build
ninja -C build
-
-
-Run the helloworld example
-==========================
-
-Navigate to the examples in the build directory and run `dpdk-helloworld.exe`.
-
-.. code-block:: console
-
- cd C:\Users\me\dpdk\build\examples
- dpdk-helloworld.exe
- hello from core 1
- hello from core 3
- hello from core 0
- hello from core 2
-
-Note for MinGW-w64: applications are linked to ``libwinpthread-1.dll``
-by default. To run the example, either add toolchain executables directory
-to the PATH or copy the library to the working directory.
-Alternatively, static linking may be used (mind the LGPLv2.1 license).
diff --git a/doc/guides/windows_gsg/index.rst b/doc/guides/windows_gsg/index.rst
index d9b7990a8..e94593572 100644
--- a/doc/guides/windows_gsg/index.rst
+++ b/doc/guides/windows_gsg/index.rst
@@ -12,3 +12,4 @@ Getting Started Guide for Windows
intro
build_dpdk
+ run_apps
diff --git a/doc/guides/windows_gsg/run_apps.rst b/doc/guides/windows_gsg/run_apps.rst
new file mode 100644
index 000000000..21ac7f6c1
--- /dev/null
+++ b/doc/guides/windows_gsg/run_apps.rst
@@ -0,0 +1,47 @@
+.. SPDX-License-Identifier: BSD-3-Clause
+ Copyright(c) 2020 Dmitry Kozlyuk
+
+Running DPDK Applications
+=========================
+
+Grant *Lock pages in memory* Privilege
+--------------------------------------
+
+Use of hugepages ("large pages" in Windows terminolocy) requires
+``SeLockMemoryPrivilege`` for the user running an application.
+
+1. Open *Local Security Policy* snap in, either:
+
+ * Control Panel / Computer Management / Local Security Policy;
+ * or Win+R, type ``secpol``, press Enter.
+
+2. Open *Local Policies / User Rights Assignment / Lock pages in memory.*
+
+3. Add desired users or groups to the list of grantees.
+
+4. Privilege is applied upon next logon. In particular, if privilege has been
+ granted to current user, a logoff is required before it is available.
+
+See `Large-Page Support`_ in MSDN for details.
+
+.. _Large-page Support: https://docs.microsoft.com/en-us/windows/win32/memory/large-page-support
+
+
+Run the ``helloworld`` Example
+------------------------------
+
+Navigate to the examples in the build directory and run `dpdk-helloworld.exe`.
+
+.. code-block:: console
+
+ cd C:\Users\me\dpdk\build\examples
+ dpdk-helloworld.exe
+ hello from core 1
+ hello from core 3
+ hello from core 0
+ hello from core 2
+
+Note for MinGW-w64: applications are linked to ``libwinpthread-1.dll``
+by default. To run the example, either add toolchain executables directory
+to the PATH or copy the library to the working directory.
+Alternatively, static linking may be used (mind the LGPLv2.1 license).
diff --git a/lib/librte_eal/windows/eal/eal.c b/lib/librte_eal/windows/eal/eal.c
index 2cf7a04ef..a84b6147a 100644
--- a/lib/librte_eal/windows/eal/eal.c
+++ b/lib/librte_eal/windows/eal/eal.c
@@ -18,8 +18,11 @@
#include <eal_options.h>
#include <eal_private.h>
+#include "eal_hugepages.h"
#include "eal_windows.h"
+#define MEMSIZE_IF_NO_HUGE_PAGE (64ULL * 1024ULL * 1024ULL)
+
/* Allow the application to print its usage message too if set */
static rte_usage_hook_t rte_application_usage_hook;
@@ -242,6 +245,17 @@ rte_eal_init(int argc, char **argv)
if (fctret < 0)
exit(1);
+ if (!internal_config.no_hugetlbfs && (eal_hugepage_info_init() < 0)) {
+ rte_eal_init_alert("Cannot get hugepage information.");
+ rte_errno = EACCES;
+ return -1;
+ }
+
+ if (internal_config.memory == 0 && !internal_config.force_sockets) {
+ if (internal_config.no_hugetlbfs)
+ internal_config.memory = MEMSIZE_IF_NO_HUGE_PAGE;
+ }
+
eal_thread_init_master(rte_config.master_lcore);
RTE_LCORE_FOREACH_SLAVE(i) {
diff --git a/lib/librte_eal/windows/eal/eal_hugepages.c b/lib/librte_eal/windows/eal/eal_hugepages.c
new file mode 100644
index 000000000..b099d13f9
--- /dev/null
+++ b/lib/librte_eal/windows/eal/eal_hugepages.c
@@ -0,0 +1,108 @@
+#include <rte_errno.h>
+#include <rte_log.h>
+#include <rte_memory.h>
+#include <rte_memzone.h>
+#include <rte_os.h>
+
+#include "eal_filesystem.h"
+#include "eal_hugepages.h"
+#include "eal_internal_cfg.h"
+#include "eal_windows.h"
+
+static int
+hugepage_claim_privilege(void)
+{
+ static const wchar_t privilege[] = L"SeLockMemoryPrivilege";
+
+ HANDLE token;
+ LUID luid;
+ TOKEN_PRIVILEGES tp;
+ int ret = -1;
+
+ if (!OpenProcessToken(GetCurrentProcess(),
+ TOKEN_ADJUST_PRIVILEGES, &token)) {
+ RTE_LOG_WIN32_ERR("OpenProcessToken()");
+ return -1;
+ }
+
+ if (!LookupPrivilegeValueW(NULL, privilege, &luid)) {
+ RTE_LOG_WIN32_ERR("LookupPrivilegeValue(\"%S\")", privilege);
+ goto exit;
+ }
+
+ tp.PrivilegeCount = 1;
+ tp.Privileges[0].Luid = luid;
+ tp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
+
+ if (!AdjustTokenPrivileges(
+ token, FALSE, &tp, sizeof(tp), NULL, NULL)) {
+ RTE_LOG_WIN32_ERR("AdjustTokenPrivileges()");
+ goto exit;
+ }
+
+ ret = 0;
+
+exit:
+ CloseHandle(token);
+
+ return ret;
+}
+
+static int
+hugepage_info_init(void)
+{
+ struct hugepage_info *hpi;
+ unsigned int socket_id;
+ int ret = 0;
+
+ /* Only one hugepage size available in Windows. */
+ internal_config.num_hugepage_sizes = 1;
+ hpi = &internal_config.hugepage_info[0];
+
+ hpi->hugepage_sz = GetLargePageMinimum();
+ if (hpi->hugepage_sz == 0)
+ return -ENOTSUP;
+
+ /* Assume all memory on each NUMA node available for hugepages,
+ * because Windows neither advertises additional limits,
+ * nor provides an API to query them.
+ */
+ for (socket_id = 0; socket_id < rte_socket_count(); socket_id++) {
+ ULONGLONG bytes;
+ unsigned int numa_node;
+
+ numa_node = eal_socket_numa_node(socket_id);
+ if (!GetNumaAvailableMemoryNodeEx(numa_node, &bytes)) {
+ RTE_LOG_WIN32_ERR("GetNumaAvailableMemoryNodeEx(%u)",
+ numa_node);
+ continue;
+ }
+
+ hpi->num_pages[socket_id] = bytes / hpi->hugepage_sz;
+ RTE_LOG(DEBUG, EAL,
+ "Found %u hugepages of %zu bytes on socket %u\n",
+ hpi->num_pages[socket_id], hpi->hugepage_sz, socket_id);
+ }
+
+ /* No hugepage filesystem in Windows. */
+ hpi->lock_descriptor = -1;
+ memset(hpi->hugedir, 0, sizeof(hpi->hugedir));
+
+ return ret;
+}
+
+int
+eal_hugepage_info_init(void)
+{
+ if (hugepage_claim_privilege() < 0) {
+ RTE_LOG(ERR, EAL, "Cannot claim hugepage privilege\n");
+ return -1;
+ }
+
+ if (hugepage_info_init() < 0) {
+ RTE_LOG(ERR, EAL, "Cannot get hugepage information\n");
+ return -1;
+ }
+
+ return 0;
+}
diff --git a/lib/librte_eal/windows/eal/meson.build b/lib/librte_eal/windows/eal/meson.build
index 21cd84459..8b407c9ae 100644
--- a/lib/librte_eal/windows/eal/meson.build
+++ b/lib/librte_eal/windows/eal/meson.build
@@ -22,6 +22,7 @@ common_sources = files(
)
env_sources = files('eal.c',
'eal_debug.c',
+ 'eal_hugepages.c',
'eal_lcore.c',
'eal_thread.c',
'getopt.c',
--
2.25.1
next prev parent reply other threads:[~2020-03-30 4:11 UTC|newest]
Thread overview: 218+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-30 4:10 [dpdk-dev] [RFC PATCH 0/9] Windows basic memory management Dmitry Kozlyuk
2020-03-30 4:10 ` [dpdk-dev] [PATCH 1/1] virt2phys: virtual to physical address translator for Windows Dmitry Kozlyuk
2020-03-30 6:58 ` Jerin Jacob
2020-03-30 13:41 ` Dmitry Kozlyuk
2020-04-10 1:45 ` Ranjit Menon
2020-04-10 2:50 ` Dmitry Kozlyuk
2020-04-10 2:59 ` Dmitry Kozlyuk
2020-04-10 19:39 ` Ranjit Menon
2020-03-30 4:10 ` [dpdk-dev] [RFC PATCH 2/9] eal/windows: do not expose private EAL facilities Dmitry Kozlyuk
2020-03-30 4:10 ` [dpdk-dev] [RFC PATCH 3/9] eal/windows: improve CPU and NUMA node detection Dmitry Kozlyuk
2020-03-30 4:10 ` Dmitry Kozlyuk [this message]
2020-03-30 4:10 ` [dpdk-dev] [RFC PATCH 5/9] eal: introduce internal wrappers for file operations Dmitry Kozlyuk
2020-03-30 7:04 ` Jerin Jacob
2020-03-30 4:10 ` [dpdk-dev] [RFC PATCH 6/9] eal: introduce memory management wrappers Dmitry Kozlyuk
2020-03-30 7:31 ` Thomas Monjalon
2020-03-30 4:10 ` [dpdk-dev] [RFC PATCH 7/9] eal/windows: fix rte_page_sizes with Clang on Windows Dmitry Kozlyuk
2020-03-30 4:10 ` [dpdk-dev] [RFC PATCH 8/9] eal/windows: replace sys/queue.h with a complete one from FreeBSD Dmitry Kozlyuk
2020-03-30 4:10 ` [dpdk-dev] [RFC PATCH 9/9] eal/windows: implement basic memory management Dmitry Kozlyuk
2020-04-10 16:43 ` [dpdk-dev] [PATCH v2 00/10] eal: Windows " Dmitry Kozlyuk
2020-04-10 16:43 ` [dpdk-dev] [PATCH v2 1/1] virt2phys: virtual to physical address translator for Windows Dmitry Kozlyuk
2020-04-13 5:32 ` Ranjit Menon
2020-04-10 16:43 ` [dpdk-dev] [PATCH v2 02/10] eal/windows: do not expose private EAL facilities Dmitry Kozlyuk
2020-04-10 16:43 ` [dpdk-dev] [PATCH v2 03/10] eal/windows: improve CPU and NUMA node detection Dmitry Kozlyuk
2020-04-10 16:43 ` [dpdk-dev] [PATCH v2 04/10] eal/windows: initialize hugepage info Dmitry Kozlyuk
2020-04-10 16:43 ` [dpdk-dev] [PATCH v2 05/10] eal: introduce internal wrappers for file operations Dmitry Kozlyuk
2020-04-10 16:43 ` [dpdk-dev] [PATCH v2 06/10] eal: introduce memory management wrappers Dmitry Kozlyuk
2020-04-13 7:50 ` Tal Shnaiderman
2020-04-10 16:43 ` [dpdk-dev] [PATCH v2 07/10] eal: extract common code for memseg list initialization Dmitry Kozlyuk
2020-04-10 16:43 ` [dpdk-dev] [PATCH v2 08/10] eal/windows: fix rte_page_sizes with Clang on Windows Dmitry Kozlyuk
2020-04-10 16:43 ` [dpdk-dev] [PATCH v2 09/10] eal/windows: replace sys/queue.h with a complete one from FreeBSD Dmitry Kozlyuk
2020-04-10 16:43 ` [dpdk-dev] [PATCH v2 10/10] eal/windows: implement basic memory management Dmitry Kozlyuk
2020-04-10 22:04 ` Narcisa Ana Maria Vasile
2020-04-11 1:16 ` Dmitry Kozlyuk
2020-04-14 19:44 ` [dpdk-dev] [PATCH v3 00/10] Windows " Dmitry Kozlyuk
2020-04-14 19:44 ` [dpdk-dev] [PATCH v3 1/1] virt2phys: virtual to physical address translator for Windows Dmitry Kozlyuk
2020-04-14 23:35 ` Ranjit Menon
2020-04-15 15:19 ` Thomas Monjalon
2020-04-21 6:23 ` Ophir Munk
2020-04-14 19:44 ` [dpdk-dev] [PATCH v3 02/10] eal/windows: do not expose private EAL facilities Dmitry Kozlyuk
2020-04-21 22:40 ` Thomas Monjalon
2020-04-14 19:44 ` [dpdk-dev] [PATCH v3 03/10] eal/windows: improve CPU and NUMA node detection Dmitry Kozlyuk
2020-04-14 19:44 ` [dpdk-dev] [PATCH v3 04/10] eal/windows: initialize hugepage info Dmitry Kozlyuk
2020-04-14 19:44 ` [dpdk-dev] [PATCH v3 05/10] eal: introduce internal wrappers for file operations Dmitry Kozlyuk
2020-04-15 21:48 ` Thomas Monjalon
2020-04-17 12:24 ` Burakov, Anatoly
2020-04-28 23:50 ` Dmitry Kozlyuk
2020-04-14 19:44 ` [dpdk-dev] [PATCH v3 06/10] eal: introduce memory management wrappers Dmitry Kozlyuk
2020-04-15 22:17 ` Thomas Monjalon
2020-04-15 23:32 ` Dmitry Kozlyuk
2020-04-17 12:43 ` Burakov, Anatoly
2020-04-20 5:59 ` Tal Shnaiderman
2020-04-21 23:36 ` Dmitry Kozlyuk
2020-04-22 0:55 ` Ranjit Menon
2020-04-22 2:07 ` Ranjit Menon
2020-04-14 19:44 ` [dpdk-dev] [PATCH v3 07/10] eal: extract common code for memseg list initialization Dmitry Kozlyuk
2020-04-15 22:19 ` Thomas Monjalon
2020-04-17 13:04 ` Burakov, Anatoly
2020-04-14 19:44 ` [dpdk-dev] [PATCH v3 08/10] eal/windows: fix rte_page_sizes with Clang on Windows Dmitry Kozlyuk
2020-04-15 9:34 ` Jerin Jacob
2020-04-15 10:32 ` Dmitry Kozlyuk
2020-04-15 10:57 ` Jerin Jacob
2020-04-15 11:09 ` Dmitry Kozlyuk
2020-04-15 11:17 ` Jerin Jacob
2020-05-06 5:41 ` Ray Kinsella
2020-04-14 19:44 ` [dpdk-dev] [PATCH v3 09/10] eal/windows: replace sys/queue.h with a complete one from FreeBSD Dmitry Kozlyuk
2020-04-14 19:44 ` [dpdk-dev] [PATCH v3 10/10] eal/windows: implement basic memory management Dmitry Kozlyuk
2020-04-15 9:42 ` Jerin Jacob
2020-04-16 18:34 ` Ranjit Menon
2020-04-23 1:00 ` Dmitry Kozlyuk
2020-04-14 23:37 ` [dpdk-dev] [PATCH v3 00/10] Windows " Kadam, Pallavi
2020-04-28 23:50 ` [dpdk-dev] [PATCH v4 0/8] " Dmitry Kozlyuk
2020-04-28 23:50 ` [dpdk-dev] [PATCH v4 1/8] eal: replace rte_page_sizes with a set of constants Dmitry Kozlyuk
2020-04-28 23:50 ` [dpdk-dev] [PATCH v4 2/8] eal: introduce internal wrappers for file operations Dmitry Kozlyuk
2020-04-29 16:41 ` Burakov, Anatoly
2020-04-28 23:50 ` [dpdk-dev] [PATCH v4 3/8] eal: introduce memory management wrappers Dmitry Kozlyuk
2020-04-29 17:13 ` Burakov, Anatoly
2020-04-30 13:59 ` Burakov, Anatoly
2020-05-01 19:00 ` Dmitry Kozlyuk
2020-05-05 14:43 ` Burakov, Anatoly
2020-04-28 23:50 ` [dpdk-dev] [PATCH v4 4/8] eal: extract common code for memseg list initialization Dmitry Kozlyuk
2020-05-05 16:08 ` Burakov, Anatoly
2020-04-28 23:50 ` [dpdk-dev] [PATCH v4 5/8] eal/windows: replace sys/queue.h with a complete one from FreeBSD Dmitry Kozlyuk
2020-04-28 23:50 ` [dpdk-dev] [PATCH v4 6/8] eal/windows: improve CPU and NUMA node detection Dmitry Kozlyuk
2020-04-28 23:50 ` [dpdk-dev] [PATCH v4 7/8] eal/windows: initialize hugepage info Dmitry Kozlyuk
2020-04-28 23:50 ` [dpdk-dev] [PATCH v4 8/8] eal/windows: implement basic memory management Dmitry Kozlyuk
2020-04-29 1:18 ` Ranjit Menon
2020-05-01 19:19 ` Dmitry Kozlyuk
2020-05-05 16:24 ` Burakov, Anatoly
2020-05-05 23:20 ` Dmitry Kozlyuk
2020-05-06 9:46 ` Burakov, Anatoly
2020-05-06 21:53 ` Dmitry Kozlyuk
2020-05-07 11:57 ` Burakov, Anatoly
2020-05-13 8:24 ` Fady Bader
2020-05-13 8:42 ` Dmitry Kozlyuk
2020-05-13 9:09 ` Fady Bader
2020-05-13 9:22 ` Fady Bader
2020-05-13 9:38 ` Dmitry Kozlyuk
2020-05-13 12:25 ` Fady Bader
2020-05-18 0:17 ` Dmitry Kozlyuk
2020-05-18 22:25 ` Dmitry Kozlyuk
2020-05-25 0:37 ` [dpdk-dev] [PATCH v5 0/8] Windows " Dmitry Kozlyuk
2020-05-25 0:37 ` [dpdk-dev] [PATCH v5 01/11] eal: replace rte_page_sizes with a set of constants Dmitry Kozlyuk
2020-05-25 0:37 ` [dpdk-dev] [PATCH v5 02/11] eal: introduce internal wrappers for file operations Dmitry Kozlyuk
2020-05-28 7:59 ` Thomas Monjalon
2020-05-28 10:09 ` Dmitry Kozlyuk
2020-05-28 11:29 ` Thomas Monjalon
2020-05-25 0:37 ` [dpdk-dev] [PATCH v5 03/11] eal: introduce memory management wrappers Dmitry Kozlyuk
2020-05-27 6:33 ` Ray Kinsella
2020-05-27 16:34 ` Dmitry Kozlyuk
2020-05-28 11:26 ` Burakov, Anatoly
2020-06-01 21:08 ` Thomas Monjalon
2020-05-28 11:52 ` Burakov, Anatoly
2020-05-25 0:37 ` [dpdk-dev] [PATCH v5 04/11] eal/mem: extract common code for memseg list initialization Dmitry Kozlyuk
2020-05-28 7:31 ` Thomas Monjalon
2020-05-28 10:04 ` Dmitry Kozlyuk
2020-05-28 11:46 ` Burakov, Anatoly
2020-05-28 14:41 ` Dmitry Kozlyuk
2020-05-29 8:49 ` Burakov, Anatoly
2020-05-28 12:19 ` Burakov, Anatoly
2020-05-25 0:37 ` [dpdk-dev] [PATCH v5 05/11] eal/mem: extract common code for dynamic memory allocation Dmitry Kozlyuk
2020-05-28 8:34 ` Thomas Monjalon
2020-05-28 12:21 ` Burakov, Anatoly
2020-05-28 13:24 ` Dmitry Kozlyuk
2020-05-25 0:37 ` [dpdk-dev] [PATCH v5 06/11] trace: add size_t field emitter Dmitry Kozlyuk
2020-05-25 5:53 ` Jerin Jacob
2020-05-25 0:37 ` [dpdk-dev] [PATCH v5 07/11] eal/windows: add tracing support stubs Dmitry Kozlyuk
2020-05-25 0:37 ` [dpdk-dev] [PATCH v5 08/11] eal/windows: replace sys/queue.h with a complete one from FreeBSD Dmitry Kozlyuk
2020-05-25 0:37 ` [dpdk-dev] [PATCH v5 09/11] eal/windows: improve CPU and NUMA node detection Dmitry Kozlyuk
2020-05-25 0:37 ` [dpdk-dev] [PATCH v5 10/11] eal/windows: initialize hugepage info Dmitry Kozlyuk
2020-05-25 0:37 ` [dpdk-dev] [PATCH v5 11/11] eal/windows: implement basic memory management Dmitry Kozlyuk
2020-06-02 23:03 ` [dpdk-dev] [PATCH v6 00/11] Windows " Dmitry Kozlyuk
2020-06-02 23:03 ` [dpdk-dev] [PATCH v6 01/11] eal: replace rte_page_sizes with a set of constants Dmitry Kozlyuk
2020-06-03 1:59 ` Stephen Hemminger
2020-06-02 23:03 ` [dpdk-dev] [PATCH v6 02/11] eal: introduce internal wrappers for file operations Dmitry Kozlyuk
2020-06-03 12:07 ` Neil Horman
2020-06-03 12:34 ` Dmitry Kozlyuk
2020-06-04 21:07 ` Neil Horman
2020-06-05 0:16 ` Dmitry Kozlyuk
2020-06-05 11:19 ` Neil Horman
2020-06-02 23:03 ` [dpdk-dev] [PATCH v6 03/11] eal: introduce memory management wrappers Dmitry Kozlyuk
2020-06-02 23:03 ` [dpdk-dev] [PATCH v6 04/11] eal/mem: extract common code for memseg list initialization Dmitry Kozlyuk
2020-06-09 13:36 ` Burakov, Anatoly
2020-06-09 14:17 ` Dmitry Kozlyuk
2020-06-10 10:26 ` Burakov, Anatoly
2020-06-10 14:31 ` Dmitry Kozlyuk
2020-06-10 15:48 ` Burakov, Anatoly
2020-06-10 16:39 ` Dmitry Kozlyuk
2020-06-11 8:59 ` Burakov, Anatoly
2020-06-02 23:03 ` [dpdk-dev] [PATCH v6 05/11] eal/mem: extract common code for dynamic memory allocation Dmitry Kozlyuk
2020-06-02 23:03 ` [dpdk-dev] [PATCH v6 06/11] trace: add size_t field emitter Dmitry Kozlyuk
2020-06-03 3:29 ` Jerin Jacob
2020-06-02 23:03 ` [dpdk-dev] [PATCH v6 07/11] eal/windows: add tracing support stubs Dmitry Kozlyuk
2020-06-02 23:03 ` [dpdk-dev] [PATCH v6 08/11] eal/windows: replace sys/queue.h with a complete one from FreeBSD Dmitry Kozlyuk
2020-06-02 23:03 ` [dpdk-dev] [PATCH v6 09/11] eal/windows: improve CPU and NUMA node detection Dmitry Kozlyuk
2020-06-02 23:03 ` [dpdk-dev] [PATCH v6 10/11] eal/windows: initialize hugepage info Dmitry Kozlyuk
2020-06-02 23:03 ` [dpdk-dev] [PATCH v6 11/11] eal/windows: implement basic memory management Dmitry Kozlyuk
2020-06-08 7:41 ` [dpdk-dev] [PATCH v6 00/11] Windows " Dmitry Kozlyuk
2020-06-08 7:41 ` [dpdk-dev] [PATCH v7 01/11] eal: replace rte_page_sizes with a set of constants Dmitry Kozlyuk
2020-06-08 7:41 ` [dpdk-dev] [PATCH v7 02/11] eal: introduce internal wrappers for file operations Dmitry Kozlyuk
2020-06-08 7:41 ` [dpdk-dev] [PATCH v7 03/11] eal: introduce memory management wrappers Dmitry Kozlyuk
2020-06-08 7:41 ` [dpdk-dev] [PATCH v7 04/11] eal/mem: extract common code for memseg list initialization Dmitry Kozlyuk
2020-06-09 11:14 ` Tal Shnaiderman
2020-06-09 13:49 ` Burakov, Anatoly
2020-06-08 7:41 ` [dpdk-dev] [PATCH v7 05/11] eal/mem: extract common code for dynamic memory allocation Dmitry Kozlyuk
2020-06-08 7:41 ` [dpdk-dev] [PATCH v7 06/11] trace: add size_t field emitter Dmitry Kozlyuk
2020-06-08 7:41 ` [dpdk-dev] [PATCH v7 07/11] eal/windows: add tracing support stubs Dmitry Kozlyuk
2020-06-08 7:41 ` [dpdk-dev] [PATCH v7 08/11] eal/windows: replace sys/queue.h with a complete one from FreeBSD Dmitry Kozlyuk
2020-06-08 7:41 ` [dpdk-dev] [PATCH v7 09/11] eal/windows: improve CPU and NUMA node detection Dmitry Kozlyuk
2020-06-08 7:41 ` [dpdk-dev] [PATCH v7 10/11] eal/windows: initialize hugepage info Dmitry Kozlyuk
2020-06-08 7:41 ` [dpdk-dev] [PATCH v7 11/11] eal/windows: implement basic memory management Dmitry Kozlyuk
2020-06-10 14:27 ` [dpdk-dev] [PATCH v8 00/11] Windows " Dmitry Kozlyuk
2020-06-10 14:27 ` [dpdk-dev] [PATCH v8 01/11] eal: replace rte_page_sizes with a set of constants Dmitry Kozlyuk
2020-06-10 14:27 ` [dpdk-dev] [PATCH v8 02/11] eal: introduce internal wrappers for file operations Dmitry Kozlyuk
2020-06-11 17:13 ` Thomas Monjalon
2020-06-10 14:27 ` [dpdk-dev] [PATCH v8 03/11] eal: introduce memory management wrappers Dmitry Kozlyuk
2020-06-12 10:47 ` Thomas Monjalon
2020-06-12 13:44 ` Dmitry Kozliuk
2020-06-12 13:54 ` Thomas Monjalon
2020-06-12 20:24 ` Dmitry Kozliuk
2020-06-12 21:37 ` Thomas Monjalon
2020-06-10 14:27 ` [dpdk-dev] [PATCH v8 04/11] eal/mem: extract common code for memseg list initialization Dmitry Kozlyuk
2020-06-12 15:39 ` Thomas Monjalon
2020-06-10 14:27 ` [dpdk-dev] [PATCH v8 05/11] eal/mem: extract common code for dynamic memory allocation Dmitry Kozlyuk
2020-06-10 14:27 ` [dpdk-dev] [PATCH v8 06/11] trace: add size_t field emitter Dmitry Kozlyuk
2020-06-10 14:27 ` [dpdk-dev] [PATCH v8 07/11] eal/windows: add tracing support stubs Dmitry Kozlyuk
2020-06-10 14:27 ` [dpdk-dev] [PATCH v8 08/11] eal/windows: replace sys/queue.h with a complete one from FreeBSD Dmitry Kozlyuk
2020-06-10 14:27 ` [dpdk-dev] [PATCH v8 09/11] eal/windows: improve CPU and NUMA node detection Dmitry Kozlyuk
2020-06-12 21:45 ` Thomas Monjalon
2020-06-12 22:09 ` Thomas Monjalon
2020-06-10 14:27 ` [dpdk-dev] [PATCH v8 10/11] eal/windows: initialize hugepage info Dmitry Kozlyuk
2020-06-12 21:55 ` Thomas Monjalon
2020-06-10 14:27 ` [dpdk-dev] [PATCH v8 11/11] eal/windows: implement basic memory management Dmitry Kozlyuk
2020-06-12 22:12 ` Thomas Monjalon
2020-06-11 17:29 ` [dpdk-dev] [PATCH v8 00/11] Windows " Thomas Monjalon
2020-06-12 22:00 ` Thomas Monjalon
2020-06-15 0:43 ` [dpdk-dev] [PATCH v9 00/12] " Dmitry Kozlyuk
2020-06-15 0:43 ` [dpdk-dev] [PATCH v9 01/12] eal: replace rte_page_sizes with a set of constants Dmitry Kozlyuk
2020-06-15 0:43 ` [dpdk-dev] [PATCH v9 02/12] eal: introduce internal wrappers for file operations Dmitry Kozlyuk
2020-06-15 0:43 ` [dpdk-dev] [PATCH v9 03/12] eal: introduce memory management wrappers Dmitry Kozlyuk
2020-06-15 6:03 ` Kinsella, Ray
2020-06-15 7:41 ` Dmitry Kozlyuk
2020-06-15 7:41 ` Kinsella, Ray
2020-06-15 10:53 ` Neil Horman
2020-06-15 11:10 ` Dmitry Kozlyuk
2020-06-15 0:43 ` [dpdk-dev] [PATCH v9 04/12] eal/mem: extract common code for memseg list initialization Dmitry Kozlyuk
2020-06-15 13:13 ` Thomas Monjalon
2020-06-15 0:43 ` [dpdk-dev] [PATCH v9 05/12] eal/mem: extract common code for dynamic memory allocation Dmitry Kozlyuk
2020-06-15 0:43 ` [dpdk-dev] [PATCH v9 06/12] trace: add size_t field emitter Dmitry Kozlyuk
2020-06-15 0:43 ` [dpdk-dev] [PATCH v9 07/12] eal/windows: add tracing support stubs Dmitry Kozlyuk
2020-06-15 0:43 ` [dpdk-dev] [PATCH v9 08/12] eal/windows: replace sys/queue.h with a complete one from FreeBSD Dmitry Kozlyuk
2020-06-15 0:43 ` [dpdk-dev] [PATCH v9 09/12] eal/windows: improve CPU and NUMA node detection Dmitry Kozlyuk
2020-06-15 15:21 ` Thomas Monjalon
2020-06-15 15:39 ` Dmitry Kozlyuk
2020-06-15 0:43 ` [dpdk-dev] [PATCH v9 10/12] doc/windows: split build and run instructions Dmitry Kozlyuk
2020-06-15 0:43 ` [dpdk-dev] [PATCH v9 11/12] eal/windows: initialize hugepage info Dmitry Kozlyuk
2020-06-15 0:43 ` [dpdk-dev] [PATCH v9 12/12] eal/windows: implement basic memory management Dmitry Kozlyuk
2020-06-15 17:34 ` [dpdk-dev] [PATCH v9 00/12] Windows " Thomas Monjalon
2020-06-16 1:52 ` Ranjit Menon
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200330041026.784624-5-dmitry.kozliuk@gmail.com \
--to=dmitry.kozliuk@gmail.com \
--cc=dev@dpdk.org \
--cc=dmitrym@microsoft.com \
--cc=harini.ramakrishnan@microsoft.com \
--cc=john.mcnamara@intel.com \
--cc=marko.kovacevic@intel.com \
--cc=ocardona@microsoft.com \
--cc=pallavi.kadam@intel.com \
--cc=ranjit.menon@intel.com \
--cc=thomas@monjalon.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).