From: Anatoly Burakov <anatoly.burakov@intel.com>
To: dev@dpdk.org
Cc: keith.wiles@intel.com, jianfeng.tan@intel.com,
andras.kovacs@ericsson.com, laszlo.vadkeri@ericsson.com,
benjamin.walker@intel.com, bruce.richardson@intel.com,
thomas@monjalon.net, konstantin.ananyev@intel.com,
kuralamudhan.ramakrishnan@intel.com, louise.m.daly@intel.com,
nelio.laranjeiro@6wind.com, yskoh@mellanox.com, pepperjo@japf.ch,
jerin.jacob@caviumnetworks.com, hemant.agrawal@nxp.com,
olivier.matz@6wind.com
Subject: [dpdk-dev] [PATCH 01/41] eal: move get_virtual_area out of linuxapp eal_memory.c
Date: Sat, 3 Mar 2018 13:45:49 +0000 [thread overview]
Message-ID: <de60388feb5fdb5c46b8bb13660c868e2191c2f5.1520083504.git.anatoly.burakov@intel.com> (raw)
In-Reply-To: <cover.1520083504.git.anatoly.burakov@intel.com>
In-Reply-To: <cover.1520083504.git.anatoly.burakov@intel.com>
Move get_virtual_area out of linuxapp EAL memory and make it
common to EAL, so that other code could reserve virtual areas
as well.
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
---
lib/librte_eal/common/eal_common_memory.c | 101 ++++++++++++++++++++++
lib/librte_eal/common/eal_private.h | 33 +++++++
lib/librte_eal/linuxapp/eal/eal_memory.c | 137 ++++++------------------------
3 files changed, 161 insertions(+), 110 deletions(-)
diff --git a/lib/librte_eal/common/eal_common_memory.c b/lib/librte_eal/common/eal_common_memory.c
index 852f3bb..042881b 100644
--- a/lib/librte_eal/common/eal_common_memory.c
+++ b/lib/librte_eal/common/eal_common_memory.c
@@ -2,10 +2,12 @@
* Copyright(c) 2010-2014 Intel Corporation
*/
+#include <errno.h>
#include <stdio.h>
#include <stdint.h>
#include <stdlib.h>
#include <stdarg.h>
+#include <string.h>
#include <unistd.h>
#include <inttypes.h>
#include <sys/mman.h>
@@ -14,12 +16,111 @@
#include <rte_memory.h>
#include <rte_eal.h>
#include <rte_eal_memconfig.h>
+#include <rte_errno.h>
#include <rte_log.h>
#include "eal_private.h"
#include "eal_internal_cfg.h"
/*
+ * Try to mmap *size bytes in /dev/zero. If it is successful, return the
+ * pointer to the mmap'd area and keep *size unmodified. Else, retry
+ * with a smaller zone: decrease *size by hugepage_sz until it reaches
+ * 0. In this case, return NULL. Note: this function returns an address
+ * which is a multiple of hugepage size.
+ */
+
+static uint64_t baseaddr_offset;
+static uint64_t system_page_sz;
+
+void *
+eal_get_virtual_area(void *requested_addr, uint64_t *size,
+ uint64_t page_sz, int flags, int mmap_flags)
+{
+ bool addr_is_hint, allow_shrink, unmap, no_align;
+ uint64_t map_sz;
+ void *mapped_addr, *aligned_addr;
+
+ if (system_page_sz == 0)
+ system_page_sz = sysconf(_SC_PAGESIZE);
+
+ mmap_flags |= MAP_PRIVATE | MAP_ANONYMOUS;
+
+ RTE_LOG(DEBUG, EAL, "Ask a virtual area of 0x%zx bytes\n", *size);
+
+ addr_is_hint = (flags & EAL_VIRTUAL_AREA_ADDR_IS_HINT) > 0;
+ allow_shrink = (flags & EAL_VIRTUAL_AREA_ALLOW_SHRINK) > 0;
+ unmap = (flags & EAL_VIRTUAL_AREA_UNMAP) > 0;
+
+ if (requested_addr == NULL && internal_config.base_virtaddr != 0) {
+ requested_addr = (void *) (internal_config.base_virtaddr +
+ baseaddr_offset);
+ requested_addr = RTE_PTR_ALIGN(requested_addr, page_sz);
+ addr_is_hint = true;
+ }
+
+ /* if requested address is not aligned by page size, or if requested
+ * address is NULL, add page size to requested length as we may get an
+ * address that's aligned by system page size, which can be smaller than
+ * our requested page size. additionally, we shouldn't try to align if
+ * system page size is the same as requested page size.
+ */
+ no_align = (requested_addr != NULL &&
+ ((uintptr_t)requested_addr & (page_sz - 1)) == 0) ||
+ page_sz == system_page_sz;
+
+ do {
+ map_sz = no_align ? *size : *size + page_sz;
+
+ mapped_addr = mmap(requested_addr, map_sz, PROT_READ,
+ mmap_flags, -1, 0);
+ if (mapped_addr == MAP_FAILED && allow_shrink)
+ *size -= page_sz;
+ } while (allow_shrink && mapped_addr == MAP_FAILED && *size > 0);
+
+ /* align resulting address - if map failed, we will ignore the value
+ * anyway, so no need to add additional checks.
+ */
+ aligned_addr = no_align ? mapped_addr :
+ RTE_PTR_ALIGN(mapped_addr, page_sz);
+
+ if (*size == 0) {
+ RTE_LOG(ERR, EAL, "Cannot get a virtual area of any size: %s\n",
+ strerror(errno));
+ rte_errno = errno;
+ return NULL;
+ } else if (mapped_addr == MAP_FAILED) {
+ RTE_LOG(ERR, EAL, "Cannot get a virtual area: %s\n",
+ strerror(errno));
+ /* pass errno up the call chain */
+ rte_errno = errno;
+ return NULL;
+ } else if (requested_addr != NULL && !addr_is_hint &&
+ aligned_addr != requested_addr) {
+ RTE_LOG(ERR, EAL, "Cannot get a virtual area at requested address: %p (got %p)\n",
+ requested_addr, aligned_addr);
+ munmap(mapped_addr, map_sz);
+ rte_errno = EADDRNOTAVAIL;
+ return NULL;
+ } else if (requested_addr != NULL && addr_is_hint &&
+ aligned_addr != requested_addr) {
+ RTE_LOG(WARNING, EAL, "WARNING! Base virtual address hint (%p != %p) not respected!\n",
+ requested_addr, aligned_addr);
+ RTE_LOG(WARNING, EAL, " This may cause issues with mapping memory into secondary processes\n");
+ }
+
+ if (unmap)
+ munmap(mapped_addr, map_sz);
+
+ RTE_LOG(DEBUG, EAL, "Virtual area found at %p (size = 0x%zx)\n",
+ aligned_addr, *size);
+
+ baseaddr_offset += *size;
+
+ return aligned_addr;
+}
+
+/*
* Return a pointer to a read-only table of struct rte_physmem_desc
* elements, containing the layout of all addressable physical
* memory. The last element of the table contains a NULL address.
diff --git a/lib/librte_eal/common/eal_private.h b/lib/librte_eal/common/eal_private.h
index 0b28770..96cebb7 100644
--- a/lib/librte_eal/common/eal_private.h
+++ b/lib/librte_eal/common/eal_private.h
@@ -127,6 +127,39 @@ int rte_eal_alarm_init(void);
int rte_eal_check_module(const char *module_name);
/**
+ * Get virtual area of specified size from the OS.
+ *
+ * This function is private to the EAL.
+ *
+ * @param requested_addr
+ * Address where to request address space.
+ * @param size
+ * Size of requested area.
+ * @param page_sz
+ * Page size on which to align requested virtual area.
+ * @param flags
+ * EAL_VIRTUAL_AREA_* flags.
+ * @param mmap_flags
+ * Extra flags passed directly to mmap().
+ *
+ * @return
+ * Virtual area address if successful.
+ * NULL if unsuccessful.
+ */
+
+#define EAL_VIRTUAL_AREA_ADDR_IS_HINT (1 << 0)
+/**< don't fail if cannot get exact requested address. */
+#define EAL_VIRTUAL_AREA_ALLOW_SHRINK (1 << 1)
+/**< try getting smaller sized (decrement by page size) virtual areas if cannot
+ * get area of requested size.
+ */
+#define EAL_VIRTUAL_AREA_UNMAP (1 << 2)
+/**< immediately unmap reserved virtual area. */
+void *
+eal_get_virtual_area(void *requested_addr, uint64_t *size,
+ uint64_t page_sz, int flags, int mmap_flags);
+
+/**
* Get cpu core_id.
*
* This function is private to the EAL.
diff --git a/lib/librte_eal/linuxapp/eal/eal_memory.c b/lib/librte_eal/linuxapp/eal/eal_memory.c
index 38853b7..5c11d77 100644
--- a/lib/librte_eal/linuxapp/eal/eal_memory.c
+++ b/lib/librte_eal/linuxapp/eal/eal_memory.c
@@ -28,6 +28,7 @@
#include <numaif.h>
#endif
+#include <rte_errno.h>
#include <rte_log.h>
#include <rte_memory.h>
#include <rte_launch.h>
@@ -57,8 +58,6 @@
* zone as well as a physical contiguous zone.
*/
-static uint64_t baseaddr_offset;
-
static bool phys_addrs_available = true;
#define RANDOMIZE_VA_SPACE_FILE "/proc/sys/kernel/randomize_va_space"
@@ -221,82 +220,6 @@ aslr_enabled(void)
}
}
-/*
- * Try to mmap *size bytes in /dev/zero. If it is successful, return the
- * pointer to the mmap'd area and keep *size unmodified. Else, retry
- * with a smaller zone: decrease *size by hugepage_sz until it reaches
- * 0. In this case, return NULL. Note: this function returns an address
- * which is a multiple of hugepage size.
- */
-static void *
-get_virtual_area(size_t *size, size_t hugepage_sz)
-{
- void *addr;
- void *addr_hint;
- int fd;
- long aligned_addr;
-
- if (internal_config.base_virtaddr != 0) {
- int page_size = sysconf(_SC_PAGE_SIZE);
- addr_hint = (void *) (uintptr_t)
- (internal_config.base_virtaddr + baseaddr_offset);
- addr_hint = RTE_PTR_ALIGN_FLOOR(addr_hint, page_size);
- } else {
- addr_hint = NULL;
- }
-
- RTE_LOG(DEBUG, EAL, "Ask a virtual area of 0x%zx bytes\n", *size);
-
-
- fd = open("/dev/zero", O_RDONLY);
- if (fd < 0){
- RTE_LOG(ERR, EAL, "Cannot open /dev/zero\n");
- return NULL;
- }
- do {
- addr = mmap(addr_hint, (*size) + hugepage_sz, PROT_READ,
-#ifdef RTE_ARCH_PPC_64
- MAP_PRIVATE | MAP_ANONYMOUS | MAP_HUGETLB,
-#else
- MAP_PRIVATE,
-#endif
- fd, 0);
- if (addr == MAP_FAILED) {
- *size -= hugepage_sz;
- } else if (addr_hint != NULL && addr != addr_hint) {
- RTE_LOG(WARNING, EAL, "WARNING! Base virtual address "
- "hint (%p != %p) not respected!\n",
- addr_hint, addr);
- RTE_LOG(WARNING, EAL, " This may cause issues with "
- "mapping memory into secondary processes\n");
- }
- } while (addr == MAP_FAILED && *size > 0);
-
- if (addr == MAP_FAILED) {
- close(fd);
- RTE_LOG(ERR, EAL, "Cannot get a virtual area: %s\n",
- strerror(errno));
- return NULL;
- }
-
- munmap(addr, (*size) + hugepage_sz);
- close(fd);
-
- /* align addr to a huge page size boundary */
- aligned_addr = (long)addr;
- aligned_addr += (hugepage_sz - 1);
- aligned_addr &= (~(hugepage_sz - 1));
- addr = (void *)(aligned_addr);
-
- RTE_LOG(DEBUG, EAL, "Virtual area found at %p (size = 0x%zx)\n",
- addr, *size);
-
- /* increment offset */
- baseaddr_offset += *size;
-
- return addr;
-}
-
static sigjmp_buf huge_jmpenv;
static void huge_sigbus_handler(int signo __rte_unused)
@@ -445,7 +368,16 @@ map_all_hugepages(struct hugepage_file *hugepg_tbl, struct hugepage_info *hpi,
/* get the biggest virtual memory area up to
* vma_len. If it fails, vma_addr is NULL, so
* let the kernel provide the address. */
- vma_addr = get_virtual_area(&vma_len, hpi->hugepage_sz);
+ vma_addr = eal_get_virtual_area(NULL, &vma_len,
+ hpi->hugepage_sz,
+ EAL_VIRTUAL_AREA_ALLOW_SHRINK |
+ EAL_VIRTUAL_AREA_UNMAP,
+#ifdef RTE_ARCH_PPC_64
+ MAP_HUGETLB
+#else
+ 0
+#endif
+ );
if (vma_addr == NULL)
vma_len = hugepage_sz;
}
@@ -1339,7 +1271,7 @@ rte_eal_hugepage_attach(void)
unsigned i, s = 0; /* s used to track the segment number */
unsigned max_seg = RTE_MAX_MEMSEG;
off_t size = 0;
- int fd, fd_zero = -1, fd_hugepage = -1;
+ int fd, fd_hugepage = -1;
if (aslr_enabled() > 0) {
RTE_LOG(WARNING, EAL, "WARNING: Address Space Layout Randomization "
@@ -1350,11 +1282,6 @@ rte_eal_hugepage_attach(void)
test_phys_addrs_available();
- fd_zero = open("/dev/zero", O_RDONLY);
- if (fd_zero < 0) {
- RTE_LOG(ERR, EAL, "Could not open /dev/zero\n");
- goto error;
- }
fd_hugepage = open(eal_hugepage_info_path(), O_RDONLY);
if (fd_hugepage < 0) {
RTE_LOG(ERR, EAL, "Could not open %s\n", eal_hugepage_info_path());
@@ -1364,6 +1291,8 @@ rte_eal_hugepage_attach(void)
/* map all segments into memory to make sure we get the addrs */
for (s = 0; s < RTE_MAX_MEMSEG; ++s) {
void *base_addr;
+ uint64_t mmap_sz;
+ int mmap_flags = 0;
/*
* the first memory segment with len==0 is the one that
@@ -1372,35 +1301,26 @@ rte_eal_hugepage_attach(void)
if (mcfg->memseg[s].len == 0)
break;
- /*
- * fdzero is mmapped to get a contiguous block of virtual
- * addresses of the appropriate memseg size.
- * use mmap to get identical addresses as the primary process.
+ /* get identical addresses as the primary process.
*/
- base_addr = mmap(mcfg->memseg[s].addr, mcfg->memseg[s].len,
- PROT_READ,
#ifdef RTE_ARCH_PPC_64
- MAP_PRIVATE | MAP_ANONYMOUS | MAP_HUGETLB,
-#else
- MAP_PRIVATE,
+ mmap_flags |= MAP_HUGETLB;
#endif
- fd_zero, 0);
- if (base_addr == MAP_FAILED ||
- base_addr != mcfg->memseg[s].addr) {
+ mmap_sz = mcfg->memseg[s].len;
+ base_addr = eal_get_virtual_area(mcfg->memseg[s].addr,
+ &mmap_sz, mcfg->memseg[s].hugepage_sz, 0,
+ mmap_flags);
+ if (base_addr == NULL) {
max_seg = s;
- if (base_addr != MAP_FAILED) {
- /* errno is stale, don't use */
- RTE_LOG(ERR, EAL, "Could not mmap %llu bytes "
- "in /dev/zero at [%p], got [%p] - "
- "please use '--base-virtaddr' option\n",
+ if (rte_errno == EADDRNOTAVAIL) {
+ RTE_LOG(ERR, EAL, "Could not mmap %llu bytes at [%p] - please use '--base-virtaddr' option\n",
(unsigned long long)mcfg->memseg[s].len,
- mcfg->memseg[s].addr, base_addr);
- munmap(base_addr, mcfg->memseg[s].len);
+ mcfg->memseg[s].addr);
} else {
- RTE_LOG(ERR, EAL, "Could not mmap %llu bytes "
- "in /dev/zero at [%p]: '%s'\n",
+ RTE_LOG(ERR, EAL, "Could not mmap %llu bytes at [%p]: '%s'\n",
(unsigned long long)mcfg->memseg[s].len,
- mcfg->memseg[s].addr, strerror(errno));
+ mcfg->memseg[s].addr,
+ rte_strerror(rte_errno));
}
if (aslr_enabled() > 0) {
RTE_LOG(ERR, EAL, "It is recommended to "
@@ -1465,7 +1385,6 @@ rte_eal_hugepage_attach(void)
}
/* unmap the hugepage config file, since we are done using it */
munmap(hp, size);
- close(fd_zero);
close(fd_hugepage);
return 0;
@@ -1474,8 +1393,6 @@ rte_eal_hugepage_attach(void)
munmap(mcfg->memseg[i].addr, mcfg->memseg[i].len);
if (hp != NULL && hp != MAP_FAILED)
munmap(hp, size);
- if (fd_zero >= 0)
- close(fd_zero);
if (fd_hugepage >= 0)
close(fd_hugepage);
return -1;
--
2.7.4
next prev parent reply other threads:[~2018-03-03 13:46 UTC|newest]
Thread overview: 471+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-03-03 13:45 [dpdk-dev] [PATCH 00/41] Memory Hotplug for DPDK Anatoly Burakov
2018-03-03 13:45 ` Anatoly Burakov [this message]
2018-03-03 13:45 ` [dpdk-dev] [PATCH 02/41] eal: move all locking to heap Anatoly Burakov
2018-03-03 13:45 ` [dpdk-dev] [PATCH 03/41] eal: make malloc heap a doubly-linked list Anatoly Burakov
2018-03-19 17:33 ` Olivier Matz
2018-03-20 9:39 ` Burakov, Anatoly
2018-03-03 13:45 ` [dpdk-dev] [PATCH 04/41] eal: add function to dump malloc heap contents Anatoly Burakov
2018-03-03 13:45 ` [dpdk-dev] [PATCH 05/41] test: add command " Anatoly Burakov
2018-03-03 13:45 ` [dpdk-dev] [PATCH 06/41] eal: make malloc_elem_join_adjacent_free public Anatoly Burakov
2018-03-03 13:45 ` [dpdk-dev] [PATCH 07/41] eal: make malloc free list remove public Anatoly Burakov
2018-03-03 13:45 ` [dpdk-dev] [PATCH 08/41] eal: make malloc free return resulting malloc element Anatoly Burakov
2018-03-19 17:34 ` Olivier Matz
2018-03-20 9:40 ` Burakov, Anatoly
2018-03-03 13:45 ` [dpdk-dev] [PATCH 09/41] eal: add rte_fbarray Anatoly Burakov
2018-03-03 13:45 ` [dpdk-dev] [PATCH 10/41] eal: add "single file segments" command-line option Anatoly Burakov
2018-03-03 13:45 ` [dpdk-dev] [PATCH 11/41] eal: add "legacy memory" option Anatoly Burakov
2018-03-03 13:46 ` [dpdk-dev] [PATCH 12/41] eal: read hugepage counts from node-specific sysfs path Anatoly Burakov
2018-03-03 13:46 ` [dpdk-dev] [PATCH 13/41] eal: replace memseg with memseg lists Anatoly Burakov
2018-03-19 17:39 ` Olivier Matz
2018-03-20 9:47 ` Burakov, Anatoly
2018-03-03 13:46 ` [dpdk-dev] [PATCH 14/41] eal: add support for mapping hugepages at runtime Anatoly Burakov
2018-03-19 17:42 ` Olivier Matz
2018-03-03 13:46 ` [dpdk-dev] [PATCH 15/41] eal: add support for unmapping pages " Anatoly Burakov
2018-03-03 13:46 ` [dpdk-dev] [PATCH 16/41] eal: make use of memory hotplug for init Anatoly Burakov
2018-03-03 13:46 ` [dpdk-dev] [PATCH 17/41] eal: enable memory hotplug support in rte_malloc Anatoly Burakov
2018-03-19 17:46 ` Olivier Matz
2018-03-03 13:46 ` [dpdk-dev] [PATCH 18/41] test: fix malloc autotest to support memory hotplug Anatoly Burakov
2018-03-19 17:49 ` Olivier Matz
2018-03-03 13:46 ` [dpdk-dev] [PATCH 19/41] eal: add API to check if memory is contiguous Anatoly Burakov
2018-03-03 13:46 ` [dpdk-dev] [PATCH 20/41] eal: add backend support for contiguous allocation Anatoly Burakov
2018-03-03 13:46 ` [dpdk-dev] [PATCH 21/41] eal: enable reserving physically contiguous memzones Anatoly Burakov
2018-03-03 13:46 ` [dpdk-dev] [PATCH 22/41] eal: replace memzone array with fbarray Anatoly Burakov
2018-03-03 13:46 ` [dpdk-dev] [PATCH 23/41] mempool: add support for the new allocation methods Anatoly Burakov
2018-03-03 13:46 ` [dpdk-dev] [PATCH 24/41] vfio: allow to map other memory regions Anatoly Burakov
2018-03-03 13:46 ` [dpdk-dev] [PATCH 25/41] eal: map/unmap memory with VFIO when alloc/free pages Anatoly Burakov
2018-03-03 13:46 ` [dpdk-dev] [PATCH 26/41] eal: prepare memseg lists for multiprocess sync Anatoly Burakov
2018-03-03 13:46 ` [dpdk-dev] [PATCH 27/41] eal: add multiprocess init with memory hotplug Anatoly Burakov
2018-03-03 13:46 ` [dpdk-dev] [PATCH 28/41] eal: add support for multiprocess " Anatoly Burakov
2018-03-03 13:46 ` [dpdk-dev] [PATCH 29/41] eal: add support for callbacks on " Anatoly Burakov
2018-03-03 13:46 ` [dpdk-dev] [PATCH 30/41] eal: enable callbacks on malloc/free and mp sync Anatoly Burakov
2018-03-03 13:46 ` [dpdk-dev] [PATCH 31/41] ethdev: use contiguous allocation for DMA memory Anatoly Burakov
2018-03-03 14:05 ` Andrew Rybchenko
2018-03-05 9:08 ` Burakov, Anatoly
2018-03-05 9:15 ` Andrew Rybchenko
2018-03-05 10:00 ` Burakov, Anatoly
2018-03-03 13:46 ` [dpdk-dev] [PATCH 32/41] crypto/qat: " Anatoly Burakov
2018-03-05 11:06 ` Trahe, Fiona
2018-03-03 13:46 ` [dpdk-dev] [PATCH 33/41] net/avf: " Anatoly Burakov
2018-03-03 13:46 ` [dpdk-dev] [PATCH 34/41] net/bnx2x: " Anatoly Burakov
2018-03-03 13:46 ` [dpdk-dev] [PATCH 35/41] net/cxgbe: " Anatoly Burakov
2018-03-03 13:46 ` [dpdk-dev] [PATCH 36/41] net/ena: " Anatoly Burakov
2018-03-03 13:46 ` [dpdk-dev] [PATCH 37/41] net/enic: " Anatoly Burakov
2018-03-05 19:45 ` John Daley (johndale)
2018-03-03 13:46 ` [dpdk-dev] [PATCH 38/41] net/i40e: " Anatoly Burakov
2018-03-03 13:46 ` [dpdk-dev] [PATCH 39/41] net/qede: " Anatoly Burakov
2018-03-03 13:46 ` [dpdk-dev] [PATCH 40/41] net/virtio: " Anatoly Burakov
2018-03-03 16:52 ` Venkatesh Srinivas
2018-03-03 13:46 ` [dpdk-dev] [PATCH 41/41] net/vmxnet3: " Anatoly Burakov
2018-03-06 11:04 ` [dpdk-dev] [PATCH 00/41] Memory Hotplug for DPDK Burakov, Anatoly
2018-03-07 15:27 ` Nélio Laranjeiro
2018-03-07 16:05 ` Burakov, Anatoly
2018-03-08 9:37 ` Burakov, Anatoly
2018-03-08 10:53 ` Nélio Laranjeiro
2018-03-08 12:12 ` Burakov, Anatoly
2018-03-08 12:14 ` Bruce Richardson
2018-03-07 16:11 ` Burakov, Anatoly
2018-03-07 16:56 ` [dpdk-dev] [PATCH v2 " Anatoly Burakov
2018-03-08 10:18 ` Pavan Nikhilesh
2018-03-08 10:46 ` Burakov, Anatoly
2018-03-08 11:13 ` Pavan Nikhilesh
2018-03-08 13:36 ` Pavan Nikhilesh
2018-03-08 14:36 ` Burakov, Anatoly
2018-03-08 20:11 ` Burakov, Anatoly
2018-03-08 20:33 ` Burakov, Anatoly
2018-03-09 9:15 ` Pavan Nikhilesh
2018-03-09 10:42 ` Burakov, Anatoly
2018-03-12 15:58 ` Nélio Laranjeiro
2018-03-13 5:17 ` Shreyansh Jain
2018-03-15 14:01 ` Shreyansh Jain
2018-03-21 13:45 ` Shreyansh Jain
2018-03-21 14:48 ` Burakov, Anatoly
2018-03-22 5:09 ` Shreyansh Jain
2018-03-22 9:24 ` Burakov, Anatoly
2018-03-19 8:58 ` Shreyansh Jain
2018-03-20 10:07 ` Burakov, Anatoly
2018-03-29 10:57 ` Shreyansh Jain
2018-04-03 23:21 ` [dpdk-dev] [PATCH v3 00/68] " Anatoly Burakov
2018-04-05 14:24 ` Shreyansh Jain
2018-04-05 14:12 ` Thomas Monjalon
2018-04-05 14:20 ` Hemant Agrawal
2018-04-06 12:01 ` Hemant Agrawal
2018-04-06 12:55 ` Burakov, Anatoly
2018-04-05 18:59 ` santosh
2018-04-08 20:17 ` [dpdk-dev] [PATCH v4 00/70] " Anatoly Burakov
2018-04-09 18:00 ` [dpdk-dev] [PATCH v5 " Anatoly Burakov
2018-04-09 18:35 ` gowrishankar muthukrishnan
2018-04-11 12:29 ` [dpdk-dev] [PATCH v6 " Anatoly Burakov
2018-04-11 18:07 ` Thomas Monjalon
2018-04-11 12:29 ` [dpdk-dev] [PATCH v6 01/70] eal: move get_virtual_area out of linuxapp eal_memory.c Anatoly Burakov
2018-04-11 12:29 ` [dpdk-dev] [PATCH v6 02/70] malloc: move all locking to heap Anatoly Burakov
2018-04-11 12:29 ` [dpdk-dev] [PATCH v6 03/70] malloc: make heap a doubly-linked list Anatoly Burakov
2018-04-11 12:29 ` [dpdk-dev] [PATCH v6 04/70] malloc: add function to dump heap contents Anatoly Burakov
2018-04-11 12:29 ` [dpdk-dev] [PATCH v6 05/70] test: add command to dump malloc " Anatoly Burakov
2018-04-11 12:29 ` [dpdk-dev] [PATCH v6 06/70] malloc: make malloc_elem_join_adjacent_free public Anatoly Burakov
2018-04-11 12:29 ` [dpdk-dev] [PATCH v6 07/70] malloc: make elem_free_list_remove public Anatoly Burakov
2018-04-11 12:29 ` [dpdk-dev] [PATCH v6 08/70] malloc: make free return resulting element Anatoly Burakov
2018-04-11 12:29 ` [dpdk-dev] [PATCH v6 09/70] malloc: replace panics with error messages Anatoly Burakov
2018-04-11 12:29 ` [dpdk-dev] [PATCH v6 10/70] malloc: add support for contiguous allocation Anatoly Burakov
2018-04-11 12:29 ` [dpdk-dev] [PATCH v6 11/70] memzone: enable reserving IOVA-contiguous memzones Anatoly Burakov
2018-04-11 12:29 ` [dpdk-dev] [PATCH v6 12/70] ethdev: use contiguous allocation for DMA memory Anatoly Burakov
2018-04-11 12:29 ` [dpdk-dev] [PATCH v6 13/70] crypto/qat: " Anatoly Burakov
2018-04-11 12:29 ` [dpdk-dev] [PATCH v6 14/70] net/avf: " Anatoly Burakov
2018-04-11 12:29 ` [dpdk-dev] [PATCH v6 15/70] net/bnx2x: " Anatoly Burakov
2018-04-11 12:29 ` [dpdk-dev] [PATCH v6 16/70] net/bnxt: " Anatoly Burakov
2018-04-11 12:29 ` [dpdk-dev] [PATCH v6 17/70] net/cxgbe: " Anatoly Burakov
2018-04-11 12:29 ` [dpdk-dev] [PATCH v6 18/70] net/ena: " Anatoly Burakov
2018-04-11 12:29 ` [dpdk-dev] [PATCH v6 19/70] net/enic: " Anatoly Burakov
2018-04-11 12:29 ` [dpdk-dev] [PATCH v6 20/70] net/i40e: " Anatoly Burakov
2018-04-11 12:29 ` [dpdk-dev] [PATCH v6 21/70] net/qede: " Anatoly Burakov
2018-04-11 12:29 ` [dpdk-dev] [PATCH v6 22/70] net/virtio: " Anatoly Burakov
2018-04-11 12:29 ` [dpdk-dev] [PATCH v6 23/70] net/vmxnet3: " Anatoly Burakov
2018-04-11 12:29 ` [dpdk-dev] [PATCH v6 24/70] mempool: add support for the new allocation methods Anatoly Burakov
2018-04-11 14:35 ` Olivier Matz
2018-04-11 14:35 ` Olivier Matz
2018-04-11 14:43 ` Andrew Rybchenko
2018-04-11 15:03 ` Burakov, Anatoly
2018-04-11 12:30 ` [dpdk-dev] [PATCH v6 25/70] eal: add function to walk all memsegs Anatoly Burakov
2018-04-11 12:30 ` [dpdk-dev] [PATCH v6 26/70] bus/fslmc: use memseg walk instead of iteration Anatoly Burakov
2018-04-11 12:30 ` [dpdk-dev] [PATCH v6 27/70] bus/pci: " Anatoly Burakov
2018-04-11 12:30 ` [dpdk-dev] [PATCH v6 28/70] net/mlx5: " Anatoly Burakov
2018-04-11 12:30 ` [dpdk-dev] [PATCH v6 29/70] eal: " Anatoly Burakov
2018-04-11 12:30 ` [dpdk-dev] [PATCH v6 30/70] mempool: " Anatoly Burakov
2018-04-11 12:30 ` [dpdk-dev] [PATCH v6 31/70] test: " Anatoly Burakov
2018-04-11 12:30 ` [dpdk-dev] [PATCH v6 32/70] vfio/type1: " Anatoly Burakov
2018-04-11 12:30 ` [dpdk-dev] [PATCH v6 33/70] vfio/spapr: " Anatoly Burakov
2018-04-11 12:30 ` [dpdk-dev] [PATCH v6 34/70] eal: add contig walk function Anatoly Burakov
2018-04-11 12:30 ` [dpdk-dev] [PATCH v6 35/70] virtio: use memseg contig walk instead of iteration Anatoly Burakov
2018-04-11 12:30 ` [dpdk-dev] [PATCH v6 36/70] eal: add iova2virt function Anatoly Burakov
2018-04-11 12:30 ` [dpdk-dev] [PATCH v6 37/70] bus/dpaa: use iova2virt instead of memseg iteration Anatoly Burakov
2018-04-11 12:30 ` [dpdk-dev] [PATCH v6 38/70] bus/fslmc: " Anatoly Burakov
2018-04-11 12:30 ` [dpdk-dev] [PATCH v6 39/70] crypto/dpaa_sec: " Anatoly Burakov
2018-04-11 12:30 ` [dpdk-dev] [PATCH v6 40/70] eal: add virt2memseg function Anatoly Burakov
2018-04-11 12:30 ` [dpdk-dev] [PATCH v6 41/70] bus/fslmc: use virt2memseg instead of iteration Anatoly Burakov
2018-04-11 12:30 ` [dpdk-dev] [PATCH v6 42/70] crypto/dpaa_sec: " Anatoly Burakov
2018-04-11 12:30 ` [dpdk-dev] [PATCH v6 43/70] net/mlx4: " Anatoly Burakov
2018-04-11 12:30 ` [dpdk-dev] [PATCH v6 44/70] net/mlx5: " Anatoly Burakov
2018-04-17 2:48 ` Yongseok Koh
2018-04-17 9:03 ` Burakov, Anatoly
2018-04-17 18:08 ` Yongseok Koh
2018-04-11 12:30 ` [dpdk-dev] [PATCH v6 45/70] memzone: use walk instead of iteration for dumping Anatoly Burakov
2018-04-11 12:30 ` [dpdk-dev] [PATCH v6 46/70] vfio: allow to map other memory regions Anatoly Burakov
2018-04-11 12:30 ` [dpdk-dev] [PATCH v6 47/70] eal: add legacy memory option Anatoly Burakov
2018-04-11 12:30 ` [dpdk-dev] [PATCH v6 48/70] eal: add shared indexed file-backed array Anatoly Burakov
2018-04-11 12:30 ` [dpdk-dev] [PATCH v6 49/70] eal: replace memseg with memseg lists Anatoly Burakov
2018-04-11 12:30 ` [dpdk-dev] [PATCH v6 50/70] eal: replace memzone array with fbarray Anatoly Burakov
2018-04-11 12:30 ` [dpdk-dev] [PATCH v6 51/70] mem: add support for mapping hugepages at runtime Anatoly Burakov
2018-04-17 2:06 ` Yongseok Koh
2018-04-17 7:20 ` Thomas Monjalon
2018-04-17 18:13 ` Yongseok Koh
2018-04-11 12:30 ` [dpdk-dev] [PATCH v6 52/70] mem: add support for unmapping pages " Anatoly Burakov
2018-04-11 12:30 ` [dpdk-dev] [PATCH v6 53/70] eal: add single file segments command-line option Anatoly Burakov
2018-04-11 12:30 ` [dpdk-dev] [PATCH v6 54/70] mem: add internal API to check if memory is contiguous Anatoly Burakov
2018-04-11 12:30 ` [dpdk-dev] [PATCH v6 55/70] mem: prepare memseg lists for multiprocess sync Anatoly Burakov
2018-04-11 12:30 ` [dpdk-dev] [PATCH v6 56/70] eal: read hugepage counts from node-specific sysfs path Anatoly Burakov
2018-04-11 12:30 ` [dpdk-dev] [PATCH v6 57/70] eal: make use of memory hotplug for init Anatoly Burakov
2018-04-11 12:30 ` [dpdk-dev] [PATCH v6 58/70] eal: share hugepage info primary and secondary Anatoly Burakov
2018-04-11 12:30 ` [dpdk-dev] [PATCH v6 59/70] eal: add secondary process init with memory hotplug Anatoly Burakov
2018-04-11 12:30 ` [dpdk-dev] [PATCH v6 60/70] malloc: enable memory hotplug support Anatoly Burakov
2018-04-11 12:30 ` [dpdk-dev] [PATCH v6 61/70] malloc: add support for multiprocess memory hotplug Anatoly Burakov
2018-04-11 12:30 ` [dpdk-dev] [PATCH v6 62/70] malloc: add support for callbacks on memory events Anatoly Burakov
2018-04-11 12:30 ` [dpdk-dev] [PATCH v6 63/70] malloc: enable callbacks on alloc/free and mp sync Anatoly Burakov
2018-04-11 12:30 ` [dpdk-dev] [PATCH v6 64/70] vfio: enable support for mem event callbacks Anatoly Burakov
2018-04-11 12:30 ` [dpdk-dev] [PATCH v6 65/70] bus/fslmc: move vfio DMA map into bus probe Anatoly Burakov
2018-04-11 12:30 ` [dpdk-dev] [PATCH v6 66/70] bus/fslmc: enable support for mem event callbacks for vfio Anatoly Burakov
2018-04-11 12:30 ` [dpdk-dev] [PATCH v6 67/70] eal: enable non-legacy memory mode Anatoly Burakov
2018-04-11 12:30 ` [dpdk-dev] [PATCH v6 68/70] eal: add memory validator callback Anatoly Burakov
2018-04-11 12:30 ` [dpdk-dev] [PATCH v6 69/70] malloc: enable validation before new page allocation Anatoly Burakov
2018-04-11 12:30 ` [dpdk-dev] [PATCH v6 70/70] mem: prevent preallocated pages from being freed Anatoly Burakov
2018-04-09 18:00 ` [dpdk-dev] [PATCH v5 01/70] eal: move get_virtual_area out of linuxapp eal_memory.c Anatoly Burakov
2018-04-09 18:00 ` [dpdk-dev] [PATCH v5 02/70] eal: move all locking to heap Anatoly Burakov
2018-04-09 18:00 ` [dpdk-dev] [PATCH v5 03/70] eal: make malloc heap a doubly-linked list Anatoly Burakov
2018-04-09 18:00 ` [dpdk-dev] [PATCH v5 04/70] eal: add function to dump malloc heap contents Anatoly Burakov
2018-04-09 18:00 ` [dpdk-dev] [PATCH v5 05/70] test: add command " Anatoly Burakov
2018-04-09 18:00 ` [dpdk-dev] [PATCH v5 06/70] eal: make malloc_elem_join_adjacent_free public Anatoly Burakov
2018-04-09 18:00 ` [dpdk-dev] [PATCH v5 07/70] eal: make malloc free list remove public Anatoly Burakov
2018-04-09 18:00 ` [dpdk-dev] [PATCH v5 08/70] eal: make malloc free return resulting malloc element Anatoly Burakov
2018-04-09 18:00 ` [dpdk-dev] [PATCH v5 09/70] eal: replace panics with error messages in malloc Anatoly Burakov
2018-04-09 18:00 ` [dpdk-dev] [PATCH v5 10/70] eal: add backend support for contiguous allocation Anatoly Burakov
2018-04-09 18:00 ` [dpdk-dev] [PATCH v5 11/70] eal: enable reserving physically contiguous memzones Anatoly Burakov
2018-04-09 18:00 ` [dpdk-dev] [PATCH v5 12/70] ethdev: use contiguous allocation for DMA memory Anatoly Burakov
2018-04-09 18:00 ` [dpdk-dev] [PATCH v5 13/70] crypto/qat: " Anatoly Burakov
2018-04-09 18:00 ` [dpdk-dev] [PATCH v5 14/70] net/avf: " Anatoly Burakov
2018-04-09 18:00 ` [dpdk-dev] [PATCH v5 15/70] net/bnx2x: " Anatoly Burakov
2018-04-11 9:12 ` Thomas Monjalon
2018-04-11 9:18 ` Burakov, Anatoly
2018-04-09 18:00 ` [dpdk-dev] [PATCH v5 16/70] net/bnxt: " Anatoly Burakov
2018-04-09 18:00 ` [dpdk-dev] [PATCH v5 17/70] net/cxgbe: " Anatoly Burakov
2018-04-09 18:00 ` [dpdk-dev] [PATCH v5 18/70] net/ena: " Anatoly Burakov
2018-04-09 18:00 ` [dpdk-dev] [PATCH v5 19/70] net/enic: " Anatoly Burakov
2018-04-09 18:00 ` [dpdk-dev] [PATCH v5 20/70] net/i40e: " Anatoly Burakov
2018-04-09 18:00 ` [dpdk-dev] [PATCH v5 21/70] net/qede: " Anatoly Burakov
2018-04-09 18:00 ` [dpdk-dev] [PATCH v5 22/70] net/virtio: " Anatoly Burakov
2018-04-09 18:00 ` [dpdk-dev] [PATCH v5 23/70] net/vmxnet3: " Anatoly Burakov
2018-04-09 18:00 ` [dpdk-dev] [PATCH v5 24/70] mempool: add support for the new allocation methods Anatoly Burakov
2018-04-09 18:00 ` [dpdk-dev] [PATCH v5 25/70] eal: add function to walk all memsegs Anatoly Burakov
2018-04-09 18:00 ` [dpdk-dev] [PATCH v5 26/70] bus/fslmc: use memseg walk instead of iteration Anatoly Burakov
2018-04-09 18:00 ` [dpdk-dev] [PATCH v5 27/70] bus/pci: " Anatoly Burakov
2018-04-09 18:00 ` [dpdk-dev] [PATCH v5 28/70] net/mlx5: " Anatoly Burakov
2018-04-09 18:00 ` [dpdk-dev] [PATCH v5 29/70] eal: " Anatoly Burakov
2018-04-09 18:00 ` [dpdk-dev] [PATCH v5 30/70] mempool: " Anatoly Burakov
2018-04-09 18:00 ` [dpdk-dev] [PATCH v5 31/70] test: " Anatoly Burakov
2018-04-09 18:00 ` [dpdk-dev] [PATCH v5 32/70] vfio/type1: " Anatoly Burakov
2018-04-09 18:00 ` [dpdk-dev] [PATCH v5 33/70] vfio/spapr: " Anatoly Burakov
2018-04-09 18:00 ` [dpdk-dev] [PATCH v5 34/70] eal: add contig walk function Anatoly Burakov
2018-04-09 18:00 ` [dpdk-dev] [PATCH v5 35/70] virtio: use memseg contig walk instead of iteration Anatoly Burakov
2018-04-09 18:00 ` [dpdk-dev] [PATCH v5 36/70] eal: add iova2virt function Anatoly Burakov
2018-04-09 18:00 ` [dpdk-dev] [PATCH v5 37/70] bus/dpaa: use iova2virt instead of memseg iteration Anatoly Burakov
2018-04-09 18:00 ` [dpdk-dev] [PATCH v5 38/70] bus/fslmc: " Anatoly Burakov
2018-04-09 18:00 ` [dpdk-dev] [PATCH v5 39/70] crypto/dpaa_sec: " Anatoly Burakov
2018-04-09 18:00 ` [dpdk-dev] [PATCH v5 40/70] eal: add virt2memseg function Anatoly Burakov
2018-04-09 18:00 ` [dpdk-dev] [PATCH v5 41/70] bus/fslmc: use virt2memseg instead of iteration Anatoly Burakov
2018-04-09 18:00 ` [dpdk-dev] [PATCH v5 42/70] crypto/dpaa_sec: " Anatoly Burakov
2018-04-09 18:00 ` [dpdk-dev] [PATCH v5 43/70] net/mlx4: " Anatoly Burakov
2018-04-09 18:00 ` [dpdk-dev] [PATCH v5 44/70] net/mlx5: " Anatoly Burakov
2018-04-09 18:00 ` [dpdk-dev] [PATCH v5 45/70] eal: use memzone walk " Anatoly Burakov
2018-04-09 18:00 ` [dpdk-dev] [PATCH v5 46/70] vfio: allow to map other memory regions Anatoly Burakov
2018-04-09 18:00 ` [dpdk-dev] [PATCH v5 47/70] eal: add "legacy memory" option Anatoly Burakov
2018-04-09 18:00 ` [dpdk-dev] [PATCH v5 48/70] eal: add rte_fbarray Anatoly Burakov
2018-04-09 18:00 ` [dpdk-dev] [PATCH v5 49/70] eal: replace memseg with memseg lists Anatoly Burakov
2018-04-09 18:00 ` [dpdk-dev] [PATCH v5 50/70] eal: replace memzone array with fbarray Anatoly Burakov
2018-04-09 18:00 ` [dpdk-dev] [PATCH v5 51/70] eal: add support for mapping hugepages at runtime Anatoly Burakov
2018-04-09 18:00 ` [dpdk-dev] [PATCH v5 52/70] eal: add support for unmapping pages " Anatoly Burakov
2018-04-09 18:00 ` [dpdk-dev] [PATCH v5 53/70] eal: add "single file segments" command-line option Anatoly Burakov
2018-04-09 18:00 ` [dpdk-dev] [PATCH v5 54/70] eal: add API to check if memory is contiguous Anatoly Burakov
2018-04-09 18:00 ` [dpdk-dev] [PATCH v5 55/70] eal: prepare memseg lists for multiprocess sync Anatoly Burakov
2018-04-09 18:00 ` [dpdk-dev] [PATCH v5 56/70] eal: read hugepage counts from node-specific sysfs path Anatoly Burakov
2018-04-09 18:01 ` [dpdk-dev] [PATCH v5 57/70] eal: make use of memory hotplug for init Anatoly Burakov
2018-04-09 18:01 ` [dpdk-dev] [PATCH v5 58/70] eal: share hugepage info primary and secondary Anatoly Burakov
2018-04-09 18:01 ` [dpdk-dev] [PATCH v5 59/70] eal: add secondary process init with memory hotplug Anatoly Burakov
2018-04-09 18:01 ` [dpdk-dev] [PATCH v5 60/70] eal: enable memory hotplug support in rte_malloc Anatoly Burakov
2018-04-09 18:01 ` [dpdk-dev] [PATCH v5 61/70] eal: add support for multiprocess memory hotplug Anatoly Burakov
2018-04-09 18:01 ` [dpdk-dev] [PATCH v5 62/70] eal: add support for callbacks on " Anatoly Burakov
2018-04-09 18:01 ` [dpdk-dev] [PATCH v5 63/70] eal: enable callbacks on malloc/free and mp sync Anatoly Burakov
2018-04-09 18:01 ` [dpdk-dev] [PATCH v5 64/70] vfio: enable support for mem event callbacks Anatoly Burakov
2018-04-09 18:01 ` [dpdk-dev] [PATCH v5 65/70] bus/fslmc: move vfio DMA map into bus probe Anatoly Burakov
2018-04-09 18:01 ` [dpdk-dev] [PATCH v5 66/70] bus/fslmc: enable support for mem event callbacks for vfio Anatoly Burakov
2018-04-09 18:01 ` [dpdk-dev] [PATCH v5 67/70] eal: enable non-legacy memory mode Anatoly Burakov
2018-04-09 18:01 ` [dpdk-dev] [PATCH v5 68/70] eal: add memory validator callback Anatoly Burakov
2018-04-09 18:01 ` [dpdk-dev] [PATCH v5 69/70] eal: enable validation before new page allocation Anatoly Burakov
2018-04-09 18:01 ` [dpdk-dev] [PATCH v5 70/70] eal: prevent preallocated pages from being freed Anatoly Burakov
2018-04-08 20:17 ` [dpdk-dev] [PATCH v4 01/70] eal: move get_virtual_area out of linuxapp eal_memory.c Anatoly Burakov
2018-04-08 20:17 ` [dpdk-dev] [PATCH v4 02/70] eal: move all locking to heap Anatoly Burakov
2018-04-08 20:17 ` [dpdk-dev] [PATCH v4 03/70] eal: make malloc heap a doubly-linked list Anatoly Burakov
2018-04-08 20:17 ` [dpdk-dev] [PATCH v4 04/70] eal: add function to dump malloc heap contents Anatoly Burakov
2018-04-08 20:17 ` [dpdk-dev] [PATCH v4 05/70] test: add command " Anatoly Burakov
2018-04-08 20:17 ` [dpdk-dev] [PATCH v4 06/70] eal: make malloc_elem_join_adjacent_free public Anatoly Burakov
2018-04-08 20:17 ` [dpdk-dev] [PATCH v4 07/70] eal: make malloc free list remove public Anatoly Burakov
2018-04-08 20:17 ` [dpdk-dev] [PATCH v4 08/70] eal: make malloc free return resulting malloc element Anatoly Burakov
2018-04-08 20:17 ` [dpdk-dev] [PATCH v4 09/70] eal: replace panics with error messages in malloc Anatoly Burakov
2018-04-08 20:17 ` [dpdk-dev] [PATCH v4 10/70] eal: add backend support for contiguous allocation Anatoly Burakov
2018-04-08 20:17 ` [dpdk-dev] [PATCH v4 11/70] eal: enable reserving physically contiguous memzones Anatoly Burakov
2018-04-08 20:17 ` [dpdk-dev] [PATCH v4 12/70] ethdev: use contiguous allocation for DMA memory Anatoly Burakov
2018-04-08 20:17 ` [dpdk-dev] [PATCH v4 13/70] crypto/qat: " Anatoly Burakov
2018-04-08 20:17 ` [dpdk-dev] [PATCH v4 14/70] net/avf: " Anatoly Burakov
2018-04-08 20:17 ` [dpdk-dev] [PATCH v4 15/70] net/bnx2x: " Anatoly Burakov
2018-04-08 20:17 ` [dpdk-dev] [PATCH v4 16/70] net/bnxt: " Anatoly Burakov
2018-04-08 20:17 ` [dpdk-dev] [PATCH v4 17/70] net/cxgbe: " Anatoly Burakov
2018-04-08 20:17 ` [dpdk-dev] [PATCH v4 18/70] net/ena: " Anatoly Burakov
2018-04-08 20:17 ` [dpdk-dev] [PATCH v4 19/70] net/enic: " Anatoly Burakov
2018-04-08 20:17 ` [dpdk-dev] [PATCH v4 20/70] net/i40e: " Anatoly Burakov
2018-04-08 20:17 ` [dpdk-dev] [PATCH v4 21/70] net/qede: " Anatoly Burakov
2018-04-08 20:17 ` [dpdk-dev] [PATCH v4 22/70] net/virtio: " Anatoly Burakov
2018-04-08 20:17 ` [dpdk-dev] [PATCH v4 23/70] net/vmxnet3: " Anatoly Burakov
2018-04-08 20:17 ` [dpdk-dev] [PATCH v4 24/70] mempool: add support for the new allocation methods Anatoly Burakov
2018-04-08 20:17 ` [dpdk-dev] [PATCH v4 25/70] eal: add function to walk all memsegs Anatoly Burakov
2018-04-08 20:17 ` [dpdk-dev] [PATCH v4 26/70] bus/fslmc: use memseg walk instead of iteration Anatoly Burakov
2018-04-08 20:18 ` [dpdk-dev] [PATCH v4 27/70] bus/pci: " Anatoly Burakov
2018-04-08 20:18 ` [dpdk-dev] [PATCH v4 28/70] net/mlx5: " Anatoly Burakov
2018-04-08 20:18 ` [dpdk-dev] [PATCH v4 29/70] eal: " Anatoly Burakov
2018-04-08 20:18 ` [dpdk-dev] [PATCH v4 30/70] mempool: " Anatoly Burakov
2018-04-08 20:18 ` [dpdk-dev] [PATCH v4 31/70] test: " Anatoly Burakov
2018-04-08 20:18 ` [dpdk-dev] [PATCH v4 32/70] vfio/type1: " Anatoly Burakov
2018-04-08 20:18 ` [dpdk-dev] [PATCH v4 33/70] vfio/spapr: " Anatoly Burakov
2018-04-08 20:18 ` [dpdk-dev] [PATCH v4 34/70] eal: add contig walk function Anatoly Burakov
2018-04-08 20:18 ` [dpdk-dev] [PATCH v4 35/70] virtio: use memseg contig walk instead of iteration Anatoly Burakov
2018-04-08 20:18 ` [dpdk-dev] [PATCH v4 36/70] eal: add iova2virt function Anatoly Burakov
2018-04-08 20:18 ` [dpdk-dev] [PATCH v4 37/70] bus/dpaa: use iova2virt instead of memseg iteration Anatoly Burakov
2018-04-08 20:18 ` [dpdk-dev] [PATCH v4 38/70] bus/fslmc: " Anatoly Burakov
2018-04-08 20:18 ` [dpdk-dev] [PATCH v4 39/70] crypto/dpaa_sec: " Anatoly Burakov
2018-04-08 20:18 ` [dpdk-dev] [PATCH v4 40/70] eal: add virt2memseg function Anatoly Burakov
2018-04-08 20:18 ` [dpdk-dev] [PATCH v4 41/70] bus/fslmc: use virt2memseg instead of iteration Anatoly Burakov
2018-04-08 20:18 ` [dpdk-dev] [PATCH v4 42/70] crypto/dpaa_sec: " Anatoly Burakov
2018-04-08 20:18 ` [dpdk-dev] [PATCH v4 43/70] net/mlx4: " Anatoly Burakov
2018-04-08 20:18 ` [dpdk-dev] [PATCH v4 44/70] net/mlx5: " Anatoly Burakov
2018-04-09 10:26 ` gowrishankar muthukrishnan
2018-04-08 20:18 ` [dpdk-dev] [PATCH v4 45/70] eal: use memzone walk " Anatoly Burakov
2018-04-08 20:18 ` [dpdk-dev] [PATCH v4 46/70] vfio: allow to map other memory regions Anatoly Burakov
2018-04-08 20:18 ` [dpdk-dev] [PATCH v4 47/70] eal: add "legacy memory" option Anatoly Burakov
2018-04-08 20:18 ` [dpdk-dev] [PATCH v4 48/70] eal: add rte_fbarray Anatoly Burakov
2018-04-08 20:18 ` [dpdk-dev] [PATCH v4 49/70] eal: replace memseg with memseg lists Anatoly Burakov
2018-04-08 20:18 ` [dpdk-dev] [PATCH v4 50/70] eal: replace memzone array with fbarray Anatoly Burakov
2018-04-08 20:18 ` [dpdk-dev] [PATCH v4 51/70] eal: add support for mapping hugepages at runtime Anatoly Burakov
2018-04-08 20:18 ` [dpdk-dev] [PATCH v4 52/70] eal: add support for unmapping pages " Anatoly Burakov
2018-04-08 20:18 ` [dpdk-dev] [PATCH v4 53/70] eal: add "single file segments" command-line option Anatoly Burakov
2018-04-08 20:18 ` [dpdk-dev] [PATCH v4 54/70] eal: add API to check if memory is contiguous Anatoly Burakov
2018-04-08 20:18 ` [dpdk-dev] [PATCH v4 55/70] eal: prepare memseg lists for multiprocess sync Anatoly Burakov
2018-04-08 20:18 ` [dpdk-dev] [PATCH v4 56/70] eal: read hugepage counts from node-specific sysfs path Anatoly Burakov
2018-04-08 20:18 ` [dpdk-dev] [PATCH v4 57/70] eal: make use of memory hotplug for init Anatoly Burakov
2018-04-08 20:18 ` [dpdk-dev] [PATCH v4 58/70] eal: share hugepage info primary and secondary Anatoly Burakov
2018-04-08 20:18 ` [dpdk-dev] [PATCH v4 59/70] eal: add secondary process init with memory hotplug Anatoly Burakov
2018-04-08 20:18 ` [dpdk-dev] [PATCH v4 60/70] eal: enable memory hotplug support in rte_malloc Anatoly Burakov
2018-04-08 20:18 ` [dpdk-dev] [PATCH v4 61/70] eal: add support for multiprocess memory hotplug Anatoly Burakov
2018-04-08 20:18 ` [dpdk-dev] [PATCH v4 62/70] eal: add support for callbacks on " Anatoly Burakov
2018-04-08 20:18 ` [dpdk-dev] [PATCH v4 63/70] eal: enable callbacks on malloc/free and mp sync Anatoly Burakov
2018-04-08 20:18 ` [dpdk-dev] [PATCH v4 64/70] vfio: enable support for mem event callbacks Anatoly Burakov
2018-04-08 20:18 ` [dpdk-dev] [PATCH v4 65/70] bus/fslmc: move vfio DMA map into bus probe Anatoly Burakov
2018-04-08 20:18 ` [dpdk-dev] [PATCH v4 66/70] bus/fslmc: enable support for mem event callbacks for vfio Anatoly Burakov
2018-04-09 10:01 ` Shreyansh Jain
2018-04-09 10:55 ` Burakov, Anatoly
2018-04-09 12:09 ` Shreyansh Jain
2018-04-09 12:35 ` Burakov, Anatoly
2018-04-08 20:18 ` [dpdk-dev] [PATCH v4 67/70] eal: enable non-legacy memory mode Anatoly Burakov
2018-04-08 20:18 ` [dpdk-dev] [PATCH v4 68/70] eal: add memory validator callback Anatoly Burakov
2018-04-08 20:18 ` [dpdk-dev] [PATCH v4 69/70] eal: enable validation before new page allocation Anatoly Burakov
2018-04-08 20:18 ` [dpdk-dev] [PATCH v4 70/70] eal: prevent preallocated pages from being freed Anatoly Burakov
2018-04-03 23:21 ` [dpdk-dev] [PATCH v3 01/68] eal: move get_virtual_area out of linuxapp eal_memory.c Anatoly Burakov
2018-04-03 23:21 ` [dpdk-dev] [PATCH v3 02/68] eal: move all locking to heap Anatoly Burakov
2018-04-03 23:21 ` [dpdk-dev] [PATCH v3 03/68] eal: make malloc heap a doubly-linked list Anatoly Burakov
2018-04-03 23:32 ` Stephen Hemminger
2018-04-04 8:05 ` Burakov, Anatoly
2018-04-03 23:21 ` [dpdk-dev] [PATCH v3 04/68] eal: add function to dump malloc heap contents Anatoly Burakov
2018-04-03 23:21 ` [dpdk-dev] [PATCH v3 05/68] test: add command " Anatoly Burakov
2018-04-03 23:21 ` [dpdk-dev] [PATCH v3 06/68] eal: make malloc_elem_join_adjacent_free public Anatoly Burakov
2018-04-03 23:21 ` [dpdk-dev] [PATCH v3 07/68] eal: make malloc free list remove public Anatoly Burakov
2018-04-03 23:21 ` [dpdk-dev] [PATCH v3 08/68] eal: make malloc free return resulting malloc element Anatoly Burakov
2018-04-03 23:21 ` [dpdk-dev] [PATCH v3 09/68] eal: replace panics with error messages in malloc Anatoly Burakov
2018-04-03 23:21 ` [dpdk-dev] [PATCH v3 10/68] eal: add backend support for contiguous allocation Anatoly Burakov
2018-04-03 23:21 ` [dpdk-dev] [PATCH v3 11/68] eal: enable reserving physically contiguous memzones Anatoly Burakov
2018-04-03 23:41 ` Stephen Hemminger
2018-04-04 8:01 ` Burakov, Anatoly
2018-04-03 23:21 ` [dpdk-dev] [PATCH v3 12/68] ethdev: use contiguous allocation for DMA memory Anatoly Burakov
2018-04-03 23:21 ` [dpdk-dev] [PATCH v3 13/68] crypto/qat: " Anatoly Burakov
2018-04-03 23:21 ` [dpdk-dev] [PATCH v3 14/68] net/avf: " Anatoly Burakov
2018-04-03 23:21 ` [dpdk-dev] [PATCH v3 15/68] net/bnx2x: " Anatoly Burakov
2018-04-03 23:21 ` [dpdk-dev] [PATCH v3 16/68] net/cxgbe: " Anatoly Burakov
2018-04-03 23:21 ` [dpdk-dev] [PATCH v3 17/68] net/ena: " Anatoly Burakov
2018-04-03 23:21 ` [dpdk-dev] [PATCH v3 18/68] net/enic: " Anatoly Burakov
2018-04-03 23:21 ` [dpdk-dev] [PATCH v3 19/68] net/i40e: " Anatoly Burakov
2018-04-03 23:21 ` [dpdk-dev] [PATCH v3 20/68] net/qede: " Anatoly Burakov
2018-04-03 23:21 ` [dpdk-dev] [PATCH v3 21/68] net/virtio: " Anatoly Burakov
2018-04-03 23:21 ` [dpdk-dev] [PATCH v3 22/68] net/vmxnet3: " Anatoly Burakov
2018-04-03 23:21 ` [dpdk-dev] [PATCH v3 23/68] net/bnxt: " Anatoly Burakov
2018-04-03 23:21 ` [dpdk-dev] [PATCH v3 24/68] mempool: add support for the new allocation methods Anatoly Burakov
2018-04-03 23:21 ` [dpdk-dev] [PATCH v3 25/68] eal: add function to walk all memsegs Anatoly Burakov
2018-04-03 23:21 ` [dpdk-dev] [PATCH v3 26/68] bus/fslmc: use memseg walk instead of iteration Anatoly Burakov
2018-04-05 14:06 ` Shreyansh Jain
2018-04-05 14:14 ` [dpdk-dev] [PATCH] bus/fslmc: support for hotplugging of memory Shreyansh Jain
2018-04-08 17:14 ` Burakov, Anatoly
2018-04-09 7:49 ` Shreyansh Jain
2018-04-09 15:49 ` Burakov, Anatoly
2018-04-09 16:06 ` Shreyansh Jain
2018-04-03 23:21 ` [dpdk-dev] [PATCH v3 27/68] bus/pci: use memseg walk instead of iteration Anatoly Burakov
2018-04-03 23:21 ` [dpdk-dev] [PATCH v3 28/68] net/mlx5: " Anatoly Burakov
2018-04-03 23:21 ` [dpdk-dev] [PATCH v3 29/68] eal: " Anatoly Burakov
2018-04-03 23:21 ` [dpdk-dev] [PATCH v3 30/68] mempool: " Anatoly Burakov
2018-04-03 23:21 ` [dpdk-dev] [PATCH v3 31/68] test: " Anatoly Burakov
2018-04-03 23:21 ` [dpdk-dev] [PATCH v3 32/68] vfio/type1: " Anatoly Burakov
2018-04-03 23:21 ` [dpdk-dev] [PATCH v3 33/68] vfio/spapr: " Anatoly Burakov
2018-04-03 23:21 ` [dpdk-dev] [PATCH v3 34/68] eal: add contig walk function Anatoly Burakov
2018-04-03 23:21 ` [dpdk-dev] [PATCH v3 35/68] virtio: use memseg contig walk instead of iteration Anatoly Burakov
2018-04-03 23:21 ` [dpdk-dev] [PATCH v3 36/68] eal: add iova2virt function Anatoly Burakov
2018-04-03 23:21 ` [dpdk-dev] [PATCH v3 37/68] bus/dpaa: use iova2virt instead of memseg iteration Anatoly Burakov
2018-04-03 23:21 ` [dpdk-dev] [PATCH v3 38/68] bus/fslmc: " Anatoly Burakov
2018-04-03 23:21 ` [dpdk-dev] [PATCH v3 39/68] crypto/dpaa_sec: " Anatoly Burakov
2018-04-03 23:21 ` [dpdk-dev] [PATCH v3 40/68] eal: add virt2memseg function Anatoly Burakov
2018-04-03 23:21 ` [dpdk-dev] [PATCH v3 41/68] bus/fslmc: use virt2memseg instead of iteration Anatoly Burakov
2018-04-03 23:21 ` [dpdk-dev] [PATCH v3 42/68] net/mlx4: " Anatoly Burakov
2018-04-03 23:21 ` [dpdk-dev] [PATCH v3 43/68] net/mlx5: " Anatoly Burakov
2018-04-03 23:21 ` [dpdk-dev] [PATCH v3 44/68] crypto/dpaa_sec: " Anatoly Burakov
2018-04-03 23:21 ` [dpdk-dev] [PATCH v3 45/68] eal: use memzone walk " Anatoly Burakov
2018-04-03 23:21 ` [dpdk-dev] [PATCH v3 46/68] vfio: allow to map other memory regions Anatoly Burakov
2018-04-04 11:27 ` Burakov, Anatoly
2018-04-05 11:30 ` Burakov, Anatoly
2018-04-03 23:21 ` [dpdk-dev] [PATCH v3 47/68] eal: add "legacy memory" option Anatoly Burakov
2018-04-03 23:22 ` [dpdk-dev] [PATCH v3 48/68] eal: add rte_fbarray Anatoly Burakov
2018-04-03 23:22 ` [dpdk-dev] [PATCH v3 49/68] eal: replace memseg with memseg lists Anatoly Burakov
2018-04-03 23:22 ` [dpdk-dev] [PATCH v3 50/68] eal: replace memzone array with fbarray Anatoly Burakov
2018-04-05 14:23 ` Shreyansh Jain
2018-04-03 23:22 ` [dpdk-dev] [PATCH v3 51/68] eal: add support for mapping hugepages at runtime Anatoly Burakov
2018-04-03 23:22 ` [dpdk-dev] [PATCH v3 52/68] eal: add support for unmapping pages " Anatoly Burakov
2018-04-03 23:22 ` [dpdk-dev] [PATCH v3 53/68] eal: add "single file segments" command-line option Anatoly Burakov
2018-04-03 23:22 ` [dpdk-dev] [PATCH v3 54/68] eal: add API to check if memory is contiguous Anatoly Burakov
2018-04-03 23:22 ` [dpdk-dev] [PATCH v3 55/68] eal: prepare memseg lists for multiprocess sync Anatoly Burakov
2018-04-03 23:22 ` [dpdk-dev] [PATCH v3 56/68] eal: read hugepage counts from node-specific sysfs path Anatoly Burakov
2018-04-03 23:22 ` [dpdk-dev] [PATCH v3 57/68] eal: make use of memory hotplug for init Anatoly Burakov
2018-04-03 23:22 ` [dpdk-dev] [PATCH v3 58/68] eal: share hugepage info primary and secondary Anatoly Burakov
2018-04-03 23:22 ` [dpdk-dev] [PATCH v3 59/68] eal: add secondary process init with memory hotplug Anatoly Burakov
2018-04-03 23:22 ` [dpdk-dev] [PATCH v3 60/68] eal: enable memory hotplug support in rte_malloc Anatoly Burakov
2018-04-03 23:22 ` [dpdk-dev] [PATCH v3 61/68] eal: add support for multiprocess memory hotplug Anatoly Burakov
2018-04-03 23:22 ` [dpdk-dev] [PATCH v3 62/68] eal: add support for callbacks on " Anatoly Burakov
2018-04-03 23:22 ` [dpdk-dev] [PATCH v3 63/68] eal: enable callbacks on malloc/free and mp sync Anatoly Burakov
2018-04-03 23:22 ` [dpdk-dev] [PATCH v3 64/68] vfio: enable support for mem event callbacks Anatoly Burakov
2018-04-03 23:22 ` [dpdk-dev] [PATCH v3 65/68] eal: enable non-legacy memory mode Anatoly Burakov
2018-04-03 23:22 ` [dpdk-dev] [PATCH v3 66/68] eal: add memory validator callback Anatoly Burakov
2018-04-03 23:22 ` [dpdk-dev] [PATCH v3 67/68] eal: enable validation before new page allocation Anatoly Burakov
2018-04-03 23:22 ` [dpdk-dev] [PATCH v3 68/68] eal: prevent preallocated pages from being freed Anatoly Burakov
2018-03-07 16:56 ` [dpdk-dev] [PATCH v2 01/41] eal: move get_virtual_area out of linuxapp eal_memory.c Anatoly Burakov
2018-03-07 16:56 ` [dpdk-dev] [PATCH v2 02/41] eal: move all locking to heap Anatoly Burakov
2018-03-07 16:56 ` [dpdk-dev] [PATCH v2 03/41] eal: make malloc heap a doubly-linked list Anatoly Burakov
2018-03-07 16:56 ` [dpdk-dev] [PATCH v2 04/41] eal: add function to dump malloc heap contents Anatoly Burakov
2018-03-07 16:56 ` [dpdk-dev] [PATCH v2 05/41] test: add command " Anatoly Burakov
2018-03-07 16:56 ` [dpdk-dev] [PATCH v2 06/41] eal: make malloc_elem_join_adjacent_free public Anatoly Burakov
2018-03-07 16:56 ` [dpdk-dev] [PATCH v2 07/41] eal: make malloc free list remove public Anatoly Burakov
2018-03-07 16:56 ` [dpdk-dev] [PATCH v2 08/41] eal: make malloc free return resulting malloc element Anatoly Burakov
2018-03-07 16:56 ` [dpdk-dev] [PATCH v2 09/41] eal: add rte_fbarray Anatoly Burakov
2018-03-07 16:56 ` [dpdk-dev] [PATCH v2 10/41] eal: add "single file segments" command-line option Anatoly Burakov
2018-03-07 16:56 ` [dpdk-dev] [PATCH v2 11/41] eal: add "legacy memory" option Anatoly Burakov
2018-03-07 16:56 ` [dpdk-dev] [PATCH v2 12/41] eal: read hugepage counts from node-specific sysfs path Anatoly Burakov
2018-03-07 16:56 ` [dpdk-dev] [PATCH v2 13/41] eal: replace memseg with memseg lists Anatoly Burakov
2018-03-24 6:01 ` santosh
2018-03-24 11:08 ` Burakov, Anatoly
2018-03-24 12:23 ` santosh
2018-03-24 12:32 ` Burakov, Anatoly
2018-03-07 16:56 ` [dpdk-dev] [PATCH v2 14/41] eal: add support for mapping hugepages at runtime Anatoly Burakov
2018-03-07 16:56 ` [dpdk-dev] [PATCH v2 15/41] eal: add support for unmapping pages " Anatoly Burakov
2018-03-07 16:56 ` [dpdk-dev] [PATCH v2 16/41] eal: make use of memory hotplug for init Anatoly Burakov
2018-03-07 16:56 ` [dpdk-dev] [PATCH v2 17/41] eal: enable memory hotplug support in rte_malloc Anatoly Burakov
2018-03-07 16:56 ` [dpdk-dev] [PATCH v2 18/41] test: fix malloc autotest to support memory hotplug Anatoly Burakov
2018-03-07 16:56 ` [dpdk-dev] [PATCH v2 19/41] eal: add API to check if memory is contiguous Anatoly Burakov
2018-03-07 16:56 ` [dpdk-dev] [PATCH v2 20/41] eal: add backend support for contiguous allocation Anatoly Burakov
2018-03-07 16:56 ` [dpdk-dev] [PATCH v2 21/41] eal: enable reserving physically contiguous memzones Anatoly Burakov
2018-03-07 16:56 ` [dpdk-dev] [PATCH v2 22/41] eal: replace memzone array with fbarray Anatoly Burakov
2018-03-07 16:56 ` [dpdk-dev] [PATCH v2 23/41] mempool: add support for the new allocation methods Anatoly Burakov
2018-03-19 17:11 ` Olivier Matz
2018-03-21 7:49 ` Andrew Rybchenko
2018-03-21 8:32 ` Olivier Matz
2018-03-20 11:35 ` Shreyansh Jain
2018-03-20 12:17 ` Burakov, Anatoly
2018-03-23 11:25 ` Burakov, Anatoly
2018-03-07 16:56 ` [dpdk-dev] [PATCH v2 24/41] vfio: allow to map other memory regions Anatoly Burakov
2018-03-30 9:42 ` Gowrishankar
2018-04-02 11:36 ` Gowrishankar
2018-03-07 16:56 ` [dpdk-dev] [PATCH v2 25/41] eal: map/unmap memory with VFIO when alloc/free pages Anatoly Burakov
2018-03-07 16:56 ` [dpdk-dev] [PATCH v2 26/41] eal: prepare memseg lists for multiprocess sync Anatoly Burakov
2018-03-07 16:56 ` [dpdk-dev] [PATCH v2 27/41] eal: add multiprocess init with memory hotplug Anatoly Burakov
2018-03-07 16:56 ` [dpdk-dev] [PATCH v2 28/41] eal: add support for multiprocess " Anatoly Burakov
2018-03-23 15:44 ` Tan, Jianfeng
2018-03-07 16:56 ` [dpdk-dev] [PATCH v2 29/41] eal: add support for callbacks on " Anatoly Burakov
2018-03-07 16:56 ` [dpdk-dev] [PATCH v2 30/41] eal: enable callbacks on malloc/free and mp sync Anatoly Burakov
2018-03-07 16:56 ` [dpdk-dev] [PATCH v2 31/41] ethdev: use contiguous allocation for DMA memory Anatoly Burakov
2018-03-07 16:57 ` [dpdk-dev] [PATCH v2 32/41] crypto/qat: " Anatoly Burakov
2018-03-07 16:57 ` [dpdk-dev] [PATCH v2 33/41] net/avf: " Anatoly Burakov
2018-03-07 16:57 ` [dpdk-dev] [PATCH v2 34/41] net/bnx2x: " Anatoly Burakov
2018-03-07 16:57 ` [dpdk-dev] [PATCH v2 35/41] net/cxgbe: " Anatoly Burakov
2018-03-07 16:57 ` [dpdk-dev] [PATCH v2 36/41] net/ena: " Anatoly Burakov
2018-03-08 9:40 ` Michał Krawczyk
2018-03-07 16:57 ` [dpdk-dev] [PATCH v2 37/41] net/enic: " Anatoly Burakov
2018-03-07 16:57 ` [dpdk-dev] [PATCH v2 38/41] net/i40e: " Anatoly Burakov
2018-03-07 16:57 ` [dpdk-dev] [PATCH v2 39/41] net/qede: " Anatoly Burakov
2018-03-07 22:55 ` Patil, Harish
2018-03-07 16:57 ` [dpdk-dev] [PATCH v2 40/41] net/virtio: " Anatoly Burakov
2018-03-28 11:58 ` Maxime Coquelin
2018-03-07 16:57 ` [dpdk-dev] [PATCH v2 41/41] net/vmxnet3: " Anatoly Burakov
2018-03-08 14:40 ` [dpdk-dev] [PATCH 00/41] Memory Hotplug for DPDK Burakov, Anatoly
2018-03-19 17:30 ` Olivier Matz
2018-03-20 10:27 ` Burakov, Anatoly
2018-03-20 12:42 ` Olivier Matz
2018-03-20 13:51 ` Burakov, Anatoly
2018-03-20 14:18 ` Olivier Matz
2018-03-20 14:46 ` Burakov, Anatoly
2018-03-21 9:09 ` gowrishankar muthukrishnan
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=de60388feb5fdb5c46b8bb13660c868e2191c2f5.1520083504.git.anatoly.burakov@intel.com \
--to=anatoly.burakov@intel.com \
--cc=andras.kovacs@ericsson.com \
--cc=benjamin.walker@intel.com \
--cc=bruce.richardson@intel.com \
--cc=dev@dpdk.org \
--cc=hemant.agrawal@nxp.com \
--cc=jerin.jacob@caviumnetworks.com \
--cc=jianfeng.tan@intel.com \
--cc=keith.wiles@intel.com \
--cc=konstantin.ananyev@intel.com \
--cc=kuralamudhan.ramakrishnan@intel.com \
--cc=laszlo.vadkeri@ericsson.com \
--cc=louise.m.daly@intel.com \
--cc=nelio.laranjeiro@6wind.com \
--cc=olivier.matz@6wind.com \
--cc=pepperjo@japf.ch \
--cc=thomas@monjalon.net \
--cc=yskoh@mellanox.com \
/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).