DPDK patches and discussions
 help / color / mirror / Atom feed
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 20/41] eal: add backend support for contiguous allocation
Date: Sat,  3 Mar 2018 13:46:08 +0000	[thread overview]
Message-ID: <05626af174a2646139a8f98262ea680efd3eab96.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>

No major changes, just add some checks in a few key places, and
a new parameter to pass around.

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
---
 lib/librte_eal/common/eal_common_memzone.c |  20 +++---
 lib/librte_eal/common/malloc_elem.c        | 101 ++++++++++++++++++++++-------
 lib/librte_eal/common/malloc_elem.h        |   4 +-
 lib/librte_eal/common/malloc_heap.c        |  57 ++++++++++------
 lib/librte_eal/common/malloc_heap.h        |   4 +-
 lib/librte_eal/common/rte_malloc.c         |   6 +-
 6 files changed, 134 insertions(+), 58 deletions(-)

diff --git a/lib/librte_eal/common/eal_common_memzone.c b/lib/librte_eal/common/eal_common_memzone.c
index 718dee8..75c7dd9 100644
--- a/lib/librte_eal/common/eal_common_memzone.c
+++ b/lib/librte_eal/common/eal_common_memzone.c
@@ -98,7 +98,8 @@ find_heap_max_free_elem(int *s, unsigned align)
 
 static const struct rte_memzone *
 memzone_reserve_aligned_thread_unsafe(const char *name, size_t len,
-		int socket_id, unsigned flags, unsigned align, unsigned bound)
+		int socket_id, unsigned int flags, unsigned int align,
+		unsigned int bound, bool contig)
 {
 	struct rte_memzone *mz;
 	struct rte_mem_config *mcfg;
@@ -182,7 +183,7 @@ memzone_reserve_aligned_thread_unsafe(const char *name, size_t len,
 
 	/* allocate memory on heap */
 	void *mz_addr = malloc_heap_alloc(NULL, requested_len, socket_id, flags,
-			align, bound);
+			align, bound, contig);
 
 	if (mz_addr == NULL) {
 		rte_errno = ENOMEM;
@@ -215,9 +216,9 @@ memzone_reserve_aligned_thread_unsafe(const char *name, size_t len,
 }
 
 static const struct rte_memzone *
-rte_memzone_reserve_thread_safe(const char *name, size_t len,
-				int socket_id, unsigned flags, unsigned align,
-				unsigned bound)
+rte_memzone_reserve_thread_safe(const char *name, size_t len, int socket_id,
+		unsigned int flags, unsigned int align, unsigned int bound,
+		bool contig)
 {
 	struct rte_mem_config *mcfg;
 	const struct rte_memzone *mz = NULL;
@@ -228,7 +229,7 @@ rte_memzone_reserve_thread_safe(const char *name, size_t len,
 	rte_rwlock_write_lock(&mcfg->mlock);
 
 	mz = memzone_reserve_aligned_thread_unsafe(
-		name, len, socket_id, flags, align, bound);
+		name, len, socket_id, flags, align, bound, contig);
 
 	rte_rwlock_write_unlock(&mcfg->mlock);
 
@@ -245,7 +246,7 @@ rte_memzone_reserve_bounded(const char *name, size_t len, int socket_id,
 			    unsigned flags, unsigned align, unsigned bound)
 {
 	return rte_memzone_reserve_thread_safe(name, len, socket_id, flags,
-					       align, bound);
+					       align, bound, false);
 }
 
 /*
@@ -257,7 +258,7 @@ rte_memzone_reserve_aligned(const char *name, size_t len, int socket_id,
 			    unsigned flags, unsigned align)
 {
 	return rte_memzone_reserve_thread_safe(name, len, socket_id, flags,
-					       align, 0);
+					       align, 0, false);
 }
 
 /*
@@ -269,7 +270,8 @@ rte_memzone_reserve(const char *name, size_t len, int socket_id,
 		    unsigned flags)
 {
 	return rte_memzone_reserve_thread_safe(name, len, socket_id,
-					       flags, RTE_CACHE_LINE_SIZE, 0);
+					       flags, RTE_CACHE_LINE_SIZE, 0,
+					       false);
 }
 
 int
diff --git a/lib/librte_eal/common/malloc_elem.c b/lib/librte_eal/common/malloc_elem.c
index eabad66..d2dba35 100644
--- a/lib/librte_eal/common/malloc_elem.c
+++ b/lib/librte_eal/common/malloc_elem.c
@@ -17,6 +17,7 @@
 #include <rte_common.h>
 #include <rte_spinlock.h>
 
+#include "eal_memalloc.h"
 #include "malloc_elem.h"
 #include "malloc_heap.h"
 
@@ -94,33 +95,88 @@ malloc_elem_insert(struct malloc_elem *elem)
 }
 
 /*
+ * Attempt to find enough physically contiguous memory in this block to store
+ * our data. Assume that element has at least enough space to fit in the data,
+ * so we just check the page addresses.
+ */
+static bool
+elem_check_phys_contig(struct rte_memseg_list *msl, void *start, size_t size)
+{
+	uint64_t page_sz;
+	void *aligned_start, *end, *aligned_end;
+	size_t aligned_len;
+
+	/* figure out how many pages we need to fit in current data */
+	page_sz = msl->hugepage_sz;
+	aligned_start = RTE_PTR_ALIGN_FLOOR(start, page_sz);
+	end = RTE_PTR_ADD(start, size);
+	aligned_end = RTE_PTR_ALIGN_CEIL(end, page_sz);
+
+	aligned_len = RTE_PTR_DIFF(aligned_end, aligned_start);
+
+	return eal_memalloc_is_contig(msl, aligned_start, aligned_len);
+}
+
+/*
  * calculate the starting point of where data of the requested size
  * and alignment would fit in the current element. If the data doesn't
  * fit, return NULL.
  */
 static void *
 elem_start_pt(struct malloc_elem *elem, size_t size, unsigned align,
-		size_t bound)
+		size_t bound, bool contig)
 {
-	const size_t bmask = ~(bound - 1);
-	uintptr_t end_pt = (uintptr_t)elem +
-			elem->size - MALLOC_ELEM_TRAILER_LEN;
-	uintptr_t new_data_start = RTE_ALIGN_FLOOR((end_pt - size), align);
-	uintptr_t new_elem_start;
-
-	/* check boundary */
-	if ((new_data_start & bmask) != ((end_pt - 1) & bmask)) {
-		end_pt = RTE_ALIGN_FLOOR(end_pt, bound);
-		new_data_start = RTE_ALIGN_FLOOR((end_pt - size), align);
-		end_pt = new_data_start + size;
-		if (((end_pt - 1) & bmask) != (new_data_start & bmask))
-			return NULL;
-	}
+	size_t elem_size = elem->size;
 
-	new_elem_start = new_data_start - MALLOC_ELEM_HEADER_LEN;
+	/*
+	 * we're allocating from the end, so adjust the size of element by page
+	 * size each time
+	 */
+	while (elem_size >= size) {
+		const size_t bmask = ~(bound - 1);
+		uintptr_t end_pt = (uintptr_t)elem +
+				elem_size - MALLOC_ELEM_TRAILER_LEN;
+		uintptr_t new_data_start = RTE_ALIGN_FLOOR((end_pt - size),
+				align);
+		uintptr_t new_elem_start;
+
+		/* check boundary */
+		if ((new_data_start & bmask) != ((end_pt - 1) & bmask)) {
+			end_pt = RTE_ALIGN_FLOOR(end_pt, bound);
+			new_data_start = RTE_ALIGN_FLOOR((end_pt - size),
+					align);
+			end_pt = new_data_start + size;
+
+			if (((end_pt - 1) & bmask) != (new_data_start & bmask))
+				return NULL;
+		}
 
-	/* if the new start point is before the exist start, it won't fit */
-	return (new_elem_start < (uintptr_t)elem) ? NULL : (void *)new_elem_start;
+		new_elem_start = new_data_start - MALLOC_ELEM_HEADER_LEN;
+
+		/* if the new start point is before the exist start,
+		 * it won't fit
+		 */
+		if (new_elem_start < (uintptr_t)elem)
+			return NULL;
+
+		if (contig) {
+			size_t new_data_size = end_pt - new_data_start;
+
+			/*
+			 * if physical contiguousness was requested and we
+			 * couldn't fit all data into one physically contiguous
+			 * block, try again with lower addresses.
+			 */
+			if (!elem_check_phys_contig(elem->msl,
+					(void *) new_data_start,
+					new_data_size)) {
+				elem_size -= align;
+				continue;
+			}
+		}
+		return (void *) new_elem_start;
+	}
+	return NULL;
 }
 
 /*
@@ -129,9 +185,9 @@ elem_start_pt(struct malloc_elem *elem, size_t size, unsigned align,
  */
 int
 malloc_elem_can_hold(struct malloc_elem *elem, size_t size,	unsigned align,
-		size_t bound)
+		size_t bound, bool contig)
 {
-	return elem_start_pt(elem, size, align, bound) != NULL;
+	return elem_start_pt(elem, size, align, bound, contig) != NULL;
 }
 
 /*
@@ -259,9 +315,10 @@ malloc_elem_free_list_remove(struct malloc_elem *elem)
  */
 struct malloc_elem *
 malloc_elem_alloc(struct malloc_elem *elem, size_t size, unsigned align,
-		size_t bound)
+		size_t bound, bool contig)
 {
-	struct malloc_elem *new_elem = elem_start_pt(elem, size, align, bound);
+	struct malloc_elem *new_elem = elem_start_pt(elem, size, align, bound,
+			contig);
 	const size_t old_elem_size = (uintptr_t)new_elem - (uintptr_t)elem;
 	const size_t trailer_size = elem->size - old_elem_size - size -
 		MALLOC_ELEM_OVERHEAD;
diff --git a/lib/librte_eal/common/malloc_elem.h b/lib/librte_eal/common/malloc_elem.h
index 6d979d2..798472e 100644
--- a/lib/librte_eal/common/malloc_elem.h
+++ b/lib/librte_eal/common/malloc_elem.h
@@ -123,7 +123,7 @@ malloc_elem_insert(struct malloc_elem *elem);
  */
 int
 malloc_elem_can_hold(struct malloc_elem *elem, size_t size,
-		unsigned align, size_t bound);
+		unsigned int align, size_t bound, bool contig);
 
 /*
  * reserve a block of data in an existing malloc_elem. If the malloc_elem
@@ -131,7 +131,7 @@ malloc_elem_can_hold(struct malloc_elem *elem, size_t size,
  */
 struct malloc_elem *
 malloc_elem_alloc(struct malloc_elem *elem, size_t size,
-		unsigned align, size_t bound);
+		unsigned int align, size_t bound, bool contig);
 
 /*
  * free a malloc_elem block by adding it to the free list. If the
diff --git a/lib/librte_eal/common/malloc_heap.c b/lib/librte_eal/common/malloc_heap.c
index 87dc9ad..984e027 100644
--- a/lib/librte_eal/common/malloc_heap.c
+++ b/lib/librte_eal/common/malloc_heap.c
@@ -94,7 +94,7 @@ malloc_heap_add_memory(struct malloc_heap *heap, struct rte_memseg_list *msl,
  */
 static struct malloc_elem *
 find_suitable_element(struct malloc_heap *heap, size_t size,
-		unsigned flags, size_t align, size_t bound)
+		unsigned int flags, size_t align, size_t bound, bool contig)
 {
 	size_t idx;
 	struct malloc_elem *elem, *alt_elem = NULL;
@@ -103,7 +103,8 @@ find_suitable_element(struct malloc_heap *heap, size_t size,
 			idx < RTE_HEAP_NUM_FREELISTS; idx++) {
 		for (elem = LIST_FIRST(&heap->free_head[idx]);
 				!!elem; elem = LIST_NEXT(elem, free_list)) {
-			if (malloc_elem_can_hold(elem, size, align, bound)) {
+			if (malloc_elem_can_hold(elem, size, align, bound,
+					contig)) {
 				if (check_hugepage_sz(flags,
 						elem->msl->hugepage_sz))
 					return elem;
@@ -127,16 +128,16 @@ find_suitable_element(struct malloc_heap *heap, size_t size,
  */
 static void *
 heap_alloc(struct malloc_heap *heap, const char *type __rte_unused, size_t size,
-		unsigned int flags, size_t align, size_t bound)
+		unsigned int flags, size_t align, size_t bound, bool contig)
 {
 	struct malloc_elem *elem;
 
 	size = RTE_CACHE_LINE_ROUNDUP(size);
 	align = RTE_CACHE_LINE_ROUNDUP(align);
 
-	elem = find_suitable_element(heap, size, flags, align, bound);
+	elem = find_suitable_element(heap, size, flags, align, bound, contig);
 	if (elem != NULL) {
-		elem = malloc_elem_alloc(elem, size, align, bound);
+		elem = malloc_elem_alloc(elem, size, align, bound, contig);
 
 		/* increase heap's count of allocated elements */
 		heap->alloc_count++;
@@ -147,14 +148,15 @@ heap_alloc(struct malloc_heap *heap, const char *type __rte_unused, size_t size,
 
 static int
 try_expand_heap(struct malloc_heap *heap, uint64_t pg_sz, size_t elt_size,
-		int socket, unsigned int flags, size_t align, size_t bound)
+		int socket, unsigned int flags, size_t align, size_t bound,
+		bool contig)
 {
+	size_t map_len, data_start_offset;
 	struct rte_memseg_list *msl;
 	struct rte_memseg **ms;
 	struct malloc_elem *elem;
-	size_t map_len;
 	int i, n_pages, allocd_pages;
-	void *ret, *map_addr;
+	void *ret, *map_addr, *data_start;
 
 	align = RTE_MAX(align, MALLOC_ELEM_HEADER_LEN);
 	map_len = RTE_ALIGN_CEIL(align + elt_size + MALLOC_ELEM_TRAILER_LEN,
@@ -175,11 +177,22 @@ try_expand_heap(struct malloc_heap *heap, uint64_t pg_sz, size_t elt_size,
 	map_addr = ms[0]->addr;
 	msl = rte_mem_virt2memseg_list(map_addr);
 
+	/* check if we wanted contiguous memory but didn't get it */
+	data_start_offset = RTE_ALIGN(MALLOC_ELEM_HEADER_LEN, align);
+	data_start = RTE_PTR_ADD(ms[0]->addr, data_start_offset);
+	if (contig && !eal_memalloc_is_contig(msl, data_start,
+			n_pages * msl->hugepage_sz)) {
+		RTE_LOG(DEBUG, EAL, "%s(): couldn't allocate physically contiguous space\n",
+				__func__);
+		goto free_pages;
+	}
+
 	/* add newly minted memsegs to malloc heap */
 	elem = malloc_heap_add_memory(heap, msl, map_addr, map_len);
 
 	/* try once more, as now we have allocated new memory */
-	ret = find_suitable_element(heap, elt_size, flags, align, bound);
+	ret = find_suitable_element(heap, elt_size, flags, align, bound,
+			contig);
 
 	if (ret == NULL)
 		goto free_elem;
@@ -196,6 +209,7 @@ try_expand_heap(struct malloc_heap *heap, uint64_t pg_sz, size_t elt_size,
 	malloc_elem_hide_region(elem, map_addr, map_len);
 	heap->total_size -= map_len;
 
+free_pages:
 	for (i = 0; i < n_pages; i++)
 		eal_memalloc_free_page(ms[i]);
 free_ms:
@@ -223,7 +237,7 @@ compare_pagesz(const void *a, const void *b)
 
 static int
 alloc_mem_on_socket(size_t size, int socket, unsigned int flags, size_t align,
-		size_t bound)
+		size_t bound, bool contig)
 {
 	struct rte_mem_config *mcfg = rte_eal_get_configuration()->mem_config;
 	struct malloc_heap *heap = &mcfg->malloc_heaps[socket];
@@ -304,14 +318,14 @@ alloc_mem_on_socket(size_t size, int socket, unsigned int flags, size_t align,
 		 * sizes first, before resorting to best effort allocation.
 		 */
 		if (!try_expand_heap(heap, pg_sz, size, socket, size_flags,
-				align, bound))
+				align, bound, contig))
 			return 0;
 	}
 	if (n_other_pg_sz == 0)
 		return -1;
 
 	/* now, check if we can reserve anything with size hint */
-	ret = find_suitable_element(heap, size, flags, align, bound);
+	ret = find_suitable_element(heap, size, flags, align, bound, contig);
 	if (ret != NULL)
 		return 0;
 
@@ -323,7 +337,7 @@ alloc_mem_on_socket(size_t size, int socket, unsigned int flags, size_t align,
 		uint64_t pg_sz = other_pg_sz[i];
 
 		if (!try_expand_heap(heap, pg_sz, size, socket, flags,
-				align, bound))
+				align, bound, contig))
 			return 0;
 	}
 	return -1;
@@ -332,7 +346,7 @@ alloc_mem_on_socket(size_t size, int socket, unsigned int flags, size_t align,
 /* this will try lower page sizes first */
 static void *
 heap_alloc_on_socket(const char *type, size_t size, int socket,
-		unsigned int flags, size_t align, size_t bound)
+		unsigned int flags, size_t align, size_t bound, bool contig)
 {
 	struct rte_mem_config *mcfg = rte_eal_get_configuration()->mem_config;
 	struct malloc_heap *heap = &mcfg->malloc_heaps[socket];
@@ -345,7 +359,7 @@ heap_alloc_on_socket(const char *type, size_t size, int socket,
 
 	/* for legacy mode, try once and with all flags */
 	if (internal_config.legacy_mem) {
-		ret = heap_alloc(heap, type, size, flags, align, bound);
+		ret = heap_alloc(heap, type, size, flags, align, bound, contig);
 		goto alloc_unlock;
 	}
 
@@ -354,12 +368,12 @@ heap_alloc_on_socket(const char *type, size_t size, int socket,
 	 * we may still be able to allocate memory from appropriate page sizes,
 	 * we just need to request more memory first.
 	 */
-	ret = heap_alloc(heap, type, size, size_flags, align, bound);
+	ret = heap_alloc(heap, type, size, size_flags, align, bound, contig);
 	if (ret != NULL)
 		goto alloc_unlock;
 
-	if (!alloc_mem_on_socket(size, socket, flags, align, bound)) {
-		ret = heap_alloc(heap, type, size, flags, align, bound);
+	if (!alloc_mem_on_socket(size, socket, flags, align, bound, contig)) {
+		ret = heap_alloc(heap, type, size, flags, align, bound, contig);
 
 		/* this should have succeeded */
 		if (ret == NULL)
@@ -372,7 +386,7 @@ heap_alloc_on_socket(const char *type, size_t size, int socket,
 
 void *
 malloc_heap_alloc(const char *type, size_t size, int socket_arg,
-		unsigned int flags, size_t align, size_t bound)
+		unsigned int flags, size_t align, size_t bound, bool contig)
 {
 	int socket, i;
 	void *ret;
@@ -393,7 +407,8 @@ malloc_heap_alloc(const char *type, size_t size, int socket_arg,
 	if (socket >= RTE_MAX_NUMA_NODES)
 		return NULL;
 
-	ret = heap_alloc_on_socket(type, size, socket, flags, align, bound);
+	ret = heap_alloc_on_socket(type, size, socket, flags, align, bound,
+			contig);
 	if (ret != NULL || socket_arg != SOCKET_ID_ANY)
 		return ret;
 
@@ -402,7 +417,7 @@ malloc_heap_alloc(const char *type, size_t size, int socket_arg,
 		if (i == socket)
 			continue;
 		ret = heap_alloc_on_socket(type, size, i, flags,
-				align, bound);
+				align, bound, contig);
 		if (ret != NULL)
 			return ret;
 	}
diff --git a/lib/librte_eal/common/malloc_heap.h b/lib/librte_eal/common/malloc_heap.h
index 292d578..03b8014 100644
--- a/lib/librte_eal/common/malloc_heap.h
+++ b/lib/librte_eal/common/malloc_heap.h
@@ -5,6 +5,8 @@
 #ifndef MALLOC_HEAP_H_
 #define MALLOC_HEAP_H_
 
+#include <stdbool.h>
+
 #include <rte_malloc.h>
 #include <rte_malloc_heap.h>
 
@@ -25,7 +27,7 @@ malloc_get_numa_socket(void)
 
 void *
 malloc_heap_alloc(const char *type, size_t size, int socket, unsigned int flags,
-		size_t align, size_t bound);
+		size_t align, size_t bound, bool contig);
 
 int
 malloc_heap_free(struct malloc_elem *elem);
diff --git a/lib/librte_eal/common/rte_malloc.c b/lib/librte_eal/common/rte_malloc.c
index b0fe11c..5cd92d1 100644
--- a/lib/librte_eal/common/rte_malloc.c
+++ b/lib/librte_eal/common/rte_malloc.c
@@ -37,7 +37,8 @@ void rte_free(void *addr)
  * Allocate memory on specified heap.
  */
 void *
-rte_malloc_socket(const char *type, size_t size, unsigned align, int socket_arg)
+rte_malloc_socket(const char *type, size_t size, unsigned int align,
+		int socket_arg)
 {
 	/* return NULL if size is 0 or alignment is not power-of-2 */
 	if (size == 0 || (align && !rte_is_power_of_2(align)))
@@ -50,8 +51,7 @@ rte_malloc_socket(const char *type, size_t size, unsigned align, int socket_arg)
 	if (socket_arg >= RTE_MAX_NUMA_NODES)
 		return NULL;
 
-	return malloc_heap_alloc(type, size, socket_arg, 0,
-			align == 0 ? 1 : align, 0);
+	return malloc_heap_alloc(type, size, socket_arg, 0, align, 0, false);
 }
 
 /*
-- 
2.7.4

  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 ` [dpdk-dev] [PATCH 01/41] eal: move get_virtual_area out of linuxapp eal_memory.c Anatoly Burakov
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 ` Anatoly Burakov [this message]
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=05626af174a2646139a8f98262ea680efd3eab96.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).