All of lore.kernel.org
 help / color / mirror / Atom feed
From: Anatoly Burakov <anatoly.burakov@intel.com>
To: dev@dpdk.org
Cc: laszlo.madarassy@ericsson.com, laszlo.vadkerti@ericsson.com,
	andras.kovacs@ericsson.com, winnie.tian@ericsson.com,
	daniel.andrasi@ericsson.com, janos.kobor@ericsson.com,
	srinath.mannam@broadcom.com, scott.branden@broadcom.com,
	ajit.khaparde@broadcom.com, keith.wiles@intel.com,
	bruce.richardson@intel.com, thomas@monjalon.net
Subject: [PATCH 11/16] malloc: allow destroying heaps
Date: Tue,  4 Sep 2018 14:11:46 +0100	[thread overview]
Message-ID: <bd0158f96c9fd0d13eebccd535e74e38653f29a7.1536064999.git.anatoly.burakov@intel.com> (raw)
In-Reply-To: <cover.1536064999.git.anatoly.burakov@intel.com>
In-Reply-To: <cover.1536064999.git.anatoly.burakov@intel.com>

Add an API to destroy specified heap.

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
---
 lib/librte_eal/common/include/rte_malloc.h | 23 +++++++++
 lib/librte_eal/common/malloc_heap.c        | 22 ++++++++
 lib/librte_eal/common/malloc_heap.h        |  3 ++
 lib/librte_eal/common/rte_malloc.c         | 58 ++++++++++++++++++++++
 lib/librte_eal/rte_eal_version.map         |  1 +
 5 files changed, 107 insertions(+)

diff --git a/lib/librte_eal/common/include/rte_malloc.h b/lib/librte_eal/common/include/rte_malloc.h
index 182afab1c..8a8cc1e6d 100644
--- a/lib/librte_eal/common/include/rte_malloc.h
+++ b/lib/librte_eal/common/include/rte_malloc.h
@@ -282,6 +282,29 @@ rte_malloc_get_socket_stats(int socket,
 int __rte_experimental
 rte_malloc_heap_create(const char *heap_name);
 
+/**
+ * Destroys a previously created malloc heap with specified name.
+ *
+ * @note This function will return a failure result if not all memory allocated
+ *   from the heap has been freed back to the heap
+ *
+ * @note This function will return a failure result if not all memory segments
+ *   were removed from the heap prior to its destruction
+ *
+ * @param heap_name
+ *   Name of the heap to create.
+ *
+ * @return
+ *   - 0 on success
+ *   - -1 in case of error, with rte_errno set to one of the following:
+ *     EINVAL - ``heap_name`` was NULL, empty or too long
+ *     ENOENT - heap by the name of ``heap_name`` was not found
+ *     EPERM  - attempting to destroy reserved heap
+ *     EBUSY  - heap still contains data
+ */
+int __rte_experimental
+rte_malloc_heap_destroy(const char *heap_name);
+
 /**
  * Find socket ID corresponding to a named heap.
  *
diff --git a/lib/librte_eal/common/malloc_heap.c b/lib/librte_eal/common/malloc_heap.c
index 2742f7b11..471094cd1 100644
--- a/lib/librte_eal/common/malloc_heap.c
+++ b/lib/librte_eal/common/malloc_heap.c
@@ -1036,6 +1036,28 @@ malloc_heap_create(struct malloc_heap *heap, const char *heap_name)
 	return 0;
 }
 
+int
+malloc_heap_destroy(struct malloc_heap *heap)
+{
+	if (heap->alloc_count != 0) {
+		RTE_LOG(ERR, EAL, "Heap is still in use\n");
+		rte_errno = EBUSY;
+		return -1;
+	}
+	if (heap->first != NULL || heap->last != NULL) {
+		RTE_LOG(ERR, EAL, "Heap still contains memory segments\n");
+		rte_errno = EBUSY;
+		return -1;
+	}
+	if (heap->total_size != 0)
+		RTE_LOG(ERR, EAL, "Total size not zero, heap is likely corrupt\n");
+
+	/* after this, the lock will be dropped */
+	memset(heap, 0, sizeof(*heap));
+
+	return 0;
+}
+
 int
 rte_eal_malloc_heap_init(void)
 {
diff --git a/lib/librte_eal/common/malloc_heap.h b/lib/librte_eal/common/malloc_heap.h
index eebee16dc..75278da3c 100644
--- a/lib/librte_eal/common/malloc_heap.h
+++ b/lib/librte_eal/common/malloc_heap.h
@@ -36,6 +36,9 @@ malloc_heap_alloc_biggest(const char *type, int socket, unsigned int flags,
 int
 malloc_heap_create(struct malloc_heap *heap, const char *heap_name);
 
+int
+malloc_heap_destroy(struct malloc_heap *heap);
+
 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 ade5af406..d135f9730 100644
--- a/lib/librte_eal/common/rte_malloc.c
+++ b/lib/librte_eal/common/rte_malloc.c
@@ -288,6 +288,21 @@ rte_malloc_virt2iova(const void *addr)
 	return ms->iova + RTE_PTR_DIFF(addr, ms->addr);
 }
 
+static struct malloc_heap *
+find_named_heap(const char *name)
+{
+	struct rte_mem_config *mcfg = rte_eal_get_configuration()->mem_config;
+	unsigned int i;
+
+	for (i = 0; i < RTE_MAX_HEAPS; i++) {
+		struct malloc_heap *heap = &mcfg->malloc_heaps[i];
+
+		if (!strncmp(name, heap->name, RTE_HEAP_NAME_MAX_LEN))
+			return heap;
+	}
+	return NULL;
+}
+
 int
 rte_malloc_heap_create(const char *heap_name)
 {
@@ -338,3 +353,46 @@ rte_malloc_heap_create(const char *heap_name)
 
 	return ret;
 }
+
+int
+rte_malloc_heap_destroy(const char *heap_name)
+{
+	struct rte_mem_config *mcfg = rte_eal_get_configuration()->mem_config;
+	struct malloc_heap *heap = NULL;
+	int ret;
+
+	if (heap_name == NULL ||
+			strnlen(heap_name, RTE_HEAP_NAME_MAX_LEN) == 0 ||
+			strnlen(heap_name, RTE_HEAP_NAME_MAX_LEN) ==
+				RTE_HEAP_NAME_MAX_LEN) {
+		rte_errno = EINVAL;
+		return -1;
+	}
+	rte_rwlock_write_lock(&mcfg->memory_hotplug_lock);
+
+	/* start from non-socket heaps */
+	heap = find_named_heap(heap_name);
+	if (heap == NULL) {
+		RTE_LOG(ERR, EAL, "Heap %s not found\n", heap_name);
+		rte_errno = ENOENT;
+		ret = -1;
+		goto unlock;
+	}
+	/* we shouldn't be able to destroy internal heaps */
+	if (heap->socket_id < RTE_MAX_NUMA_NODES) {
+		rte_errno = EPERM;
+		ret = -1;
+		goto unlock;
+	}
+	/* sanity checks done, now we can destroy the heap */
+	rte_spinlock_lock(&heap->lock);
+	ret = malloc_heap_destroy(heap);
+
+	/* if we failed, lock is still active */
+	if (ret < 0)
+		rte_spinlock_unlock(&heap->lock);
+unlock:
+	rte_rwlock_write_unlock(&mcfg->memory_hotplug_lock);
+
+	return ret;
+}
diff --git a/lib/librte_eal/rte_eal_version.map b/lib/librte_eal/rte_eal_version.map
index c93dcf1a3..1d3ca0716 100644
--- a/lib/librte_eal/rte_eal_version.map
+++ b/lib/librte_eal/rte_eal_version.map
@@ -312,6 +312,7 @@ EXPERIMENTAL {
 	rte_log_register_type_and_pick_level;
 	rte_malloc_dump_heaps;
 	rte_malloc_heap_create;
+	rte_malloc_heap_destroy;
 	rte_malloc_heap_get_socket;
 	rte_mem_alloc_validator_register;
 	rte_mem_alloc_validator_unregister;
-- 
2.17.1

  parent reply	other threads:[~2018-09-04 13:12 UTC|newest]

Thread overview: 225+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-09-04 13:11 [PATCH 00/16] Support externally allocated memory in DPDK Anatoly Burakov
2018-09-04 13:11 ` [PATCH 01/16] mem: add length to memseg list Anatoly Burakov
2018-09-04 13:11 ` [PATCH 02/16] mem: allow memseg lists to be marked as external Anatoly Burakov
2018-09-04 13:11 ` [PATCH 03/16] malloc: index heaps using heap ID rather than NUMA node Anatoly Burakov
2018-09-04 13:11 ` [PATCH 04/16] mem: do not check for invalid socket ID Anatoly Burakov
2018-09-04 13:11 ` [PATCH 05/16] flow_classify: " Anatoly Burakov
2018-09-04 13:11 ` [PATCH 06/16] pipeline: " Anatoly Burakov
2018-09-04 13:11 ` [PATCH 07/16] sched: " Anatoly Burakov
2018-09-04 13:11 ` [PATCH 08/16] malloc: add name to malloc heaps Anatoly Burakov
2018-09-04 13:11 ` [PATCH 09/16] malloc: add function to query socket ID of named heap Anatoly Burakov
2018-09-04 13:11 ` [PATCH 10/16] malloc: allow creating malloc heaps Anatoly Burakov
2018-09-04 13:11 ` Anatoly Burakov [this message]
2018-09-04 13:11 ` [PATCH 12/16] malloc: allow adding memory to named heaps Anatoly Burakov
2018-09-04 13:11 ` [PATCH 13/16] malloc: allow removing memory from " Anatoly Burakov
2018-09-04 13:11 ` [PATCH 14/16] malloc: allow attaching to external memory chunks Anatoly Burakov
2018-09-04 13:11 ` [PATCH 15/16] malloc: allow detaching from external memory Anatoly Burakov
2018-09-04 13:11 ` [PATCH 16/16] test: add unit tests for external memory support Anatoly Burakov
2018-09-13  7:44 ` [PATCH 00/16] Support externally allocated memory in DPDK Shahaf Shuler
2018-09-17 10:07   ` Burakov, Anatoly
2018-09-17 12:16     ` Shahaf Shuler
2018-09-17 13:00       ` Burakov, Anatoly
2018-09-18 12:29         ` Shreyansh Jain
2018-09-18 15:15           ` Burakov, Anatoly
2018-09-19 13:56 ` [PATCH v2 00/20] " Anatoly Burakov
2018-09-20 11:36   ` [PATCH v3 " Anatoly Burakov
2018-09-21 16:13     ` [PATCH v4 " Anatoly Burakov
2018-09-23 21:21       ` Thomas Monjalon
2018-09-24  8:54         ` Burakov, Anatoly
2018-09-26 11:21       ` [PATCH v5 00/21] " Anatoly Burakov
2018-09-27 10:40         ` [PATCH v6 " Anatoly Burakov
2018-10-01 11:04           ` [PATCH v7 " Anatoly Burakov
2018-10-01 12:56             ` [PATCH v8 " Anatoly Burakov
2018-10-02 13:34               ` [PATCH v9 " Anatoly Burakov
2018-10-11  9:15                 ` Thomas Monjalon
2018-10-02 13:34               ` [PATCH v9 01/21] mem: add length to memseg list Anatoly Burakov
2018-10-02 13:34               ` [PATCH v9 02/21] mem: allow memseg lists to be marked as external Anatoly Burakov
2018-10-02 13:34               ` [PATCH v9 03/21] malloc: index heaps using heap ID rather than NUMA node Anatoly Burakov
2018-10-02 13:34               ` [PATCH v9 04/21] mem: do not check for invalid socket ID Anatoly Burakov
2018-10-02 13:34               ` [PATCH v9 05/21] flow_classify: " Anatoly Burakov
2018-10-02 13:34               ` [PATCH v9 06/21] pipeline: " Anatoly Burakov
2018-10-02 13:34               ` [PATCH v9 07/21] sched: " Anatoly Burakov
2018-10-02 13:34               ` [PATCH v9 08/21] malloc: add name to malloc heaps Anatoly Burakov
2018-10-02 13:34               ` [PATCH v9 09/21] malloc: add function to query socket ID of named heap Anatoly Burakov
2018-10-02 13:34               ` [PATCH v9 10/21] malloc: add function to check if socket is external Anatoly Burakov
2018-10-02 13:34               ` [PATCH v9 11/21] malloc: allow creating malloc heaps Anatoly Burakov
2018-10-02 13:34               ` [PATCH v9 12/21] malloc: allow destroying heaps Anatoly Burakov
2018-10-02 13:34               ` [PATCH v9 13/21] malloc: allow adding memory to named heaps Anatoly Burakov
2018-10-02 13:34               ` [PATCH v9 14/21] malloc: allow removing memory from " Anatoly Burakov
2018-10-02 13:34               ` [PATCH v9 15/21] malloc: allow attaching to external memory chunks Anatoly Burakov
2018-10-02 13:34               ` [PATCH v9 16/21] malloc: allow detaching from external memory Anatoly Burakov
2018-10-02 13:34               ` [PATCH v9 17/21] malloc: enable event callbacks for " Anatoly Burakov
2018-10-02 13:34               ` [PATCH v9 18/21] test: add unit tests for external memory support Anatoly Burakov
2018-10-02 13:34               ` [PATCH v9 19/21] app/testpmd: add support for external memory Anatoly Burakov
2018-10-02 14:05                 ` Iremonger, Bernard
2018-10-02 13:34               ` [PATCH v9 20/21] doc: add external memory feature to the release notes Anatoly Burakov
2018-10-02 13:34               ` [PATCH v9 21/21] doc: add external memory feature to programmer's guide Anatoly Burakov
2018-10-01 12:56             ` [PATCH v8 01/21] mem: add length to memseg list Anatoly Burakov
2018-10-01 17:01               ` Stephen Hemminger
2018-10-02  9:03                 ` Burakov, Anatoly
2018-10-01 12:56             ` [PATCH v8 02/21] mem: allow memseg lists to be marked as external Anatoly Burakov
2018-10-01 12:56             ` [PATCH v8 03/21] malloc: index heaps using heap ID rather than NUMA node Anatoly Burakov
2018-10-01 12:56             ` [PATCH v8 04/21] mem: do not check for invalid socket ID Anatoly Burakov
2018-10-01 12:56             ` [PATCH v8 05/21] flow_classify: " Anatoly Burakov
2018-10-01 12:56             ` [PATCH v8 06/21] pipeline: " Anatoly Burakov
2018-10-01 12:56             ` [PATCH v8 07/21] sched: " Anatoly Burakov
2018-10-01 12:56             ` [PATCH v8 08/21] malloc: add name to malloc heaps Anatoly Burakov
2018-10-01 12:56             ` [PATCH v8 09/21] malloc: add function to query socket ID of named heap Anatoly Burakov
2018-10-01 12:56             ` [PATCH v8 10/21] malloc: add function to check if socket is external Anatoly Burakov
2018-10-01 12:56             ` [PATCH v8 11/21] malloc: allow creating malloc heaps Anatoly Burakov
2018-10-01 12:56             ` [PATCH v8 12/21] malloc: allow destroying heaps Anatoly Burakov
2018-10-01 12:56             ` [PATCH v8 13/21] malloc: allow adding memory to named heaps Anatoly Burakov
2018-10-01 12:56             ` [PATCH v8 14/21] malloc: allow removing memory from " Anatoly Burakov
2018-10-01 12:56             ` [PATCH v8 15/21] malloc: allow attaching to external memory chunks Anatoly Burakov
2018-10-01 12:56             ` [PATCH v8 16/21] malloc: allow detaching from external memory Anatoly Burakov
2018-10-01 12:56             ` [PATCH v8 17/21] malloc: enable event callbacks for " Anatoly Burakov
2018-10-01 12:56             ` [PATCH v8 18/21] test: add unit tests for external memory support Anatoly Burakov
2018-10-01 12:56             ` [PATCH v8 19/21] app/testpmd: add support for external memory Anatoly Burakov
2018-10-01 15:11               ` Iremonger, Bernard
2018-10-01 15:23                 ` Burakov, Anatoly
2018-10-01 12:56             ` [PATCH v8 20/21] doc: add external memory feature to the release notes Anatoly Burakov
2018-10-01 12:56             ` [PATCH v8 21/21] doc: add external memory feature to programmer's guide Anatoly Burakov
2018-10-01 11:04           ` [PATCH v7 01/21] mem: add length to memseg list Anatoly Burakov
2018-10-01 11:04           ` [PATCH v7 02/21] mem: allow memseg lists to be marked as external Anatoly Burakov
2018-10-01 11:04           ` [PATCH v7 03/21] malloc: index heaps using heap ID rather than NUMA node Anatoly Burakov
2018-10-01 11:04           ` [PATCH v7 04/21] mem: do not check for invalid socket ID Anatoly Burakov
2018-10-01 11:04           ` [PATCH v7 05/21] flow_classify: " Anatoly Burakov
2018-10-01 11:04           ` [PATCH v7 06/21] pipeline: " Anatoly Burakov
2018-10-01 11:04           ` [PATCH v7 07/21] sched: " Anatoly Burakov
2018-10-01 11:04           ` [PATCH v7 08/21] malloc: add name to malloc heaps Anatoly Burakov
2018-10-01 11:04           ` [PATCH v7 09/21] malloc: add function to query socket ID of named heap Anatoly Burakov
2018-10-01 11:04           ` [PATCH v7 10/21] malloc: add function to check if socket is external Anatoly Burakov
2018-10-01 11:05           ` [PATCH v7 11/21] malloc: allow creating malloc heaps Anatoly Burakov
2018-10-01 11:05           ` [PATCH v7 12/21] malloc: allow destroying heaps Anatoly Burakov
2018-10-01 11:05           ` [PATCH v7 13/21] malloc: allow adding memory to named heaps Anatoly Burakov
2018-10-01 11:05           ` [PATCH v7 14/21] malloc: allow removing memory from " Anatoly Burakov
2018-10-01 11:05           ` [PATCH v7 15/21] malloc: allow attaching to external memory chunks Anatoly Burakov
2018-10-01 11:05           ` [PATCH v7 16/21] malloc: allow detaching from external memory Anatoly Burakov
2018-10-01 11:05           ` [PATCH v7 17/21] malloc: enable event callbacks for " Anatoly Burakov
2018-10-01 11:05           ` [PATCH v7 18/21] test: add unit tests for external memory support Anatoly Burakov
2018-10-01 11:05           ` [PATCH v7 19/21] app/testpmd: add support for external memory Anatoly Burakov
2018-10-01 11:05           ` [PATCH v7 20/21] doc: add external memory feature to the release notes Anatoly Burakov
2018-10-01 11:05           ` [PATCH v7 21/21] doc: add external memory feature to programmer's guide Anatoly Burakov
2018-09-27 10:40         ` [PATCH v6 01/21] mem: add length to memseg list Anatoly Burakov
2018-09-27 11:05           ` Shreyansh Jain
2018-09-27 10:40         ` [PATCH v6 02/21] mem: allow memseg lists to be marked as external Anatoly Burakov
2018-09-27 11:03           ` Shreyansh Jain
2018-09-27 11:08             ` Burakov, Anatoly
2018-09-27 11:12               ` Shreyansh Jain
2018-09-27 11:29                 ` Burakov, Anatoly
2018-09-29  0:09           ` Yongseok Koh
2018-09-27 10:41         ` [PATCH v6 03/21] malloc: index heaps using heap ID rather than NUMA node Anatoly Burakov
2018-09-27 13:01           ` Alejandro Lucero
2018-09-27 13:18             ` Burakov, Anatoly
2018-09-27 13:21               ` Alejandro Lucero
2018-09-27 10:41         ` [PATCH v6 04/21] mem: do not check for invalid socket ID Anatoly Burakov
2018-09-27 13:14           ` Alejandro Lucero
2018-09-27 13:21             ` Burakov, Anatoly
2018-09-27 13:42               ` Alejandro Lucero
2018-09-27 14:04                 ` Burakov, Anatoly
2018-09-27 10:41         ` [PATCH v6 05/21] flow_classify: " Anatoly Burakov
2018-09-27 16:14           ` Iremonger, Bernard
2018-09-27 10:41         ` [PATCH v6 06/21] pipeline: " Anatoly Burakov
2018-09-27 10:41         ` [PATCH v6 07/21] sched: " Anatoly Burakov
2018-09-27 10:41         ` [PATCH v6 08/21] malloc: add name to malloc heaps Anatoly Burakov
2018-09-27 10:41         ` [PATCH v6 09/21] malloc: add function to query socket ID of named heap Anatoly Burakov
2018-09-27 10:41         ` [PATCH v6 10/21] malloc: add function to check if socket is external Anatoly Burakov
2018-09-27 10:41         ` [PATCH v6 11/21] malloc: allow creating malloc heaps Anatoly Burakov
2018-09-27 10:41         ` [PATCH v6 12/21] malloc: allow destroying heaps Anatoly Burakov
2018-09-27 10:41         ` [PATCH v6 13/21] malloc: allow adding memory to named heaps Anatoly Burakov
2018-09-27 10:41         ` [PATCH v6 14/21] malloc: allow removing memory from " Anatoly Burakov
2018-09-27 10:41         ` [PATCH v6 15/21] malloc: allow attaching to external memory chunks Anatoly Burakov
2018-09-27 10:41         ` [PATCH v6 16/21] malloc: allow detaching from external memory Anatoly Burakov
2018-09-27 10:41         ` [PATCH v6 17/21] malloc: enable event callbacks for " Anatoly Burakov
2018-09-27 10:41         ` [PATCH v6 18/21] test: add unit tests for external memory support Anatoly Burakov
2018-09-27 10:41         ` [PATCH v6 19/21] app/testpmd: add support for external memory Anatoly Burakov
2018-09-27 10:41         ` [PATCH v6 20/21] doc: add external memory feature to the release notes Anatoly Burakov
2018-09-27 10:41         ` [PATCH v6 21/21] doc: add external memory feature to programmer's guide Anatoly Burakov
2018-09-26 11:22       ` [PATCH v5 01/21] mem: add length to memseg list Anatoly Burakov
2018-09-26 11:22       ` [PATCH v5 02/21] mem: allow memseg lists to be marked as external Anatoly Burakov
2018-09-26 11:22       ` [PATCH v5 03/21] malloc: index heaps using heap ID rather than NUMA node Anatoly Burakov
2018-09-26 11:22       ` [PATCH v5 04/21] mem: do not check for invalid socket ID Anatoly Burakov
2018-09-26 11:22       ` [PATCH v5 05/21] flow_classify: " Anatoly Burakov
2018-09-26 11:22       ` [PATCH v5 06/21] pipeline: " Anatoly Burakov
2018-09-26 11:22       ` [PATCH v5 07/21] sched: " Anatoly Burakov
2018-09-26 11:22       ` [PATCH v5 08/21] malloc: add name to malloc heaps Anatoly Burakov
2018-09-26 11:22       ` [PATCH v5 09/21] malloc: add function to query socket ID of named heap Anatoly Burakov
2018-09-26 11:22       ` [PATCH v5 10/21] malloc: add function to check if socket is external Anatoly Burakov
2018-09-26 11:22       ` [PATCH v5 11/21] malloc: allow creating malloc heaps Anatoly Burakov
2018-09-26 11:22       ` [PATCH v5 12/21] malloc: allow destroying heaps Anatoly Burakov
2018-09-26 11:22       ` [PATCH v5 13/21] malloc: allow adding memory to named heaps Anatoly Burakov
2018-09-26 11:22       ` [PATCH v5 14/21] malloc: allow removing memory from " Anatoly Burakov
2018-09-26 11:22       ` [PATCH v5 15/21] malloc: allow attaching to external memory chunks Anatoly Burakov
2018-09-26 11:22       ` [PATCH v5 16/21] malloc: allow detaching from external memory Anatoly Burakov
2018-09-26 11:22       ` [PATCH v5 17/21] malloc: enable event callbacks for " Anatoly Burakov
2018-09-26 11:22       ` [PATCH v5 18/21] test: add unit tests for external memory support Anatoly Burakov
2018-09-26 11:22       ` [PATCH v5 19/21] app/testpmd: add support for external memory Anatoly Burakov
2018-09-26 11:22       ` [PATCH v5 20/21] doc: add external memory feature to the release notes Anatoly Burakov
2018-09-26 11:22       ` [PATCH v5 21/21] doc: add external memory feature to programmer's guide Anatoly Burakov
2018-09-26 15:19         ` Kovacevic, Marko
2018-09-26 16:00           ` Burakov, Anatoly
2018-09-26 16:17             ` Kovacevic, Marko
2018-09-21 16:13     ` [PATCH v4 01/20] mem: add length to memseg list Anatoly Burakov
2018-09-21 16:13     ` [PATCH v4 02/20] mem: allow memseg lists to be marked as external Anatoly Burakov
2018-09-21 16:13     ` [PATCH v4 03/20] malloc: index heaps using heap ID rather than NUMA node Anatoly Burakov
2018-09-21 16:13     ` [PATCH v4 04/20] mem: do not check for invalid socket ID Anatoly Burakov
2018-09-21 16:13     ` [PATCH v4 05/20] flow_classify: " Anatoly Burakov
2018-09-21 16:13     ` [PATCH v4 06/20] pipeline: " Anatoly Burakov
2018-09-21 16:13     ` [PATCH v4 07/20] sched: " Anatoly Burakov
2018-09-21 16:13     ` [PATCH v4 08/20] malloc: add name to malloc heaps Anatoly Burakov
2018-09-21 16:13     ` [PATCH v4 09/20] malloc: add function to query socket ID of named heap Anatoly Burakov
2018-09-21 16:13     ` [PATCH v4 10/20] malloc: add function to check if socket is external Anatoly Burakov
2018-09-21 16:14     ` [PATCH v4 11/20] malloc: allow creating malloc heaps Anatoly Burakov
2018-09-21 16:14     ` [PATCH v4 12/20] malloc: allow destroying heaps Anatoly Burakov
2018-09-21 16:14     ` [PATCH v4 13/20] malloc: allow adding memory to named heaps Anatoly Burakov
2018-09-21 16:14     ` [PATCH v4 14/20] malloc: allow removing memory from " Anatoly Burakov
2018-09-21 16:14     ` [PATCH v4 15/20] malloc: allow attaching to external memory chunks Anatoly Burakov
2018-09-21 16:14     ` [PATCH v4 16/20] malloc: allow detaching from external memory Anatoly Burakov
2018-09-21 16:14     ` [PATCH v4 17/20] test: add unit tests for external memory support Anatoly Burakov
2018-09-21 16:14     ` [PATCH v4 18/20] app/testpmd: add support for external memory Anatoly Burakov
2018-09-21 16:14     ` [PATCH v4 19/20] doc: add external memory feature to the release notes Anatoly Burakov
2018-09-21 16:14     ` [PATCH v4 20/20] doc: add external memory feature to programmer's guide Anatoly Burakov
2018-09-20 11:36   ` [PATCH v3 01/20] mem: add length to memseg list Anatoly Burakov
2018-09-20 11:36   ` [PATCH v3 02/20] mem: allow memseg lists to be marked as external Anatoly Burakov
2018-09-20 11:36   ` [PATCH v3 03/20] malloc: index heaps using heap ID rather than NUMA node Anatoly Burakov
2018-09-20 11:36   ` [PATCH v3 04/20] mem: do not check for invalid socket ID Anatoly Burakov
2018-09-20 11:36   ` [PATCH v3 05/20] flow_classify: " Anatoly Burakov
2018-09-20 11:36   ` [PATCH v3 06/20] pipeline: " Anatoly Burakov
2018-09-20 11:36   ` [PATCH v3 07/20] sched: " Anatoly Burakov
2018-09-20 11:36   ` [PATCH v3 08/20] malloc: add name to malloc heaps Anatoly Burakov
2018-09-20 11:36   ` [PATCH v3 09/20] malloc: add function to query socket ID of named heap Anatoly Burakov
2018-09-20 11:36   ` [PATCH v3 10/20] malloc: allow creating malloc heaps Anatoly Burakov
2018-09-20 11:36   ` [PATCH v3 11/20] malloc: allow destroying heaps Anatoly Burakov
2018-09-20 11:36   ` [PATCH v3 12/20] malloc: allow adding memory to named heaps Anatoly Burakov
2018-09-20 11:36   ` [PATCH v3 13/20] malloc: allow removing memory from " Anatoly Burakov
2018-09-20 11:36   ` [PATCH v3 14/20] malloc: allow attaching to external memory chunks Anatoly Burakov
2018-09-20 11:36   ` [PATCH v3 15/20] malloc: allow detaching from external memory Anatoly Burakov
2018-09-20 11:36   ` [PATCH v3 16/20] test: add unit tests for external memory support Anatoly Burakov
2018-09-20 11:36   ` [PATCH v3 17/20] examples: add external memory example app Anatoly Burakov
2018-09-20 22:47     ` Ananyev, Konstantin
2018-09-21  9:03       ` Burakov, Anatoly
2018-09-20 11:36   ` [PATCH v3 18/20] doc: add external memory feature to the release notes Anatoly Burakov
2018-09-20 11:36   ` [PATCH v3 19/20] doc: add external memory feature to programmer's guide Anatoly Burakov
2018-09-20 11:36   ` [PATCH v3 20/20] doc: add external memory sample application guide Anatoly Burakov
2018-09-19 13:56 ` [PATCH v2 01/20] mem: add length to memseg list Anatoly Burakov
2018-09-19 13:56 ` [PATCH v2 02/20] mem: allow memseg lists to be marked as external Anatoly Burakov
2018-09-20  9:30   ` Andrew Rybchenko
2018-09-20  9:54     ` Burakov, Anatoly
2018-09-19 13:56 ` [PATCH v2 03/20] malloc: index heaps using heap ID rather than NUMA node Anatoly Burakov
2018-09-19 13:56 ` [PATCH v2 04/20] mem: do not check for invalid socket ID Anatoly Burakov
2018-09-19 13:56 ` [PATCH v2 05/20] flow_classify: " Anatoly Burakov
2018-09-19 13:56 ` [PATCH v2 06/20] pipeline: " Anatoly Burakov
2018-09-19 13:56 ` [PATCH v2 07/20] sched: " Anatoly Burakov
2018-09-19 13:56 ` [PATCH v2 08/20] malloc: add name to malloc heaps Anatoly Burakov
2018-09-19 13:56 ` [PATCH v2 09/20] malloc: add function to query socket ID of named heap Anatoly Burakov
2018-09-19 13:56 ` [PATCH v2 10/20] malloc: allow creating malloc heaps Anatoly Burakov
2018-09-19 13:56 ` [PATCH v2 11/20] malloc: allow destroying heaps Anatoly Burakov
2018-09-19 13:56 ` [PATCH v2 12/20] malloc: allow adding memory to named heaps Anatoly Burakov
2018-09-19 13:56 ` [PATCH v2 13/20] malloc: allow removing memory from " Anatoly Burakov
2018-09-19 13:56 ` [PATCH v2 14/20] malloc: allow attaching to external memory chunks Anatoly Burakov
2018-09-19 13:56 ` [PATCH v2 15/20] malloc: allow detaching from external memory Anatoly Burakov
2018-09-19 13:56 ` [PATCH v2 16/20] test: add unit tests for external memory support Anatoly Burakov
2018-09-19 13:56 ` [PATCH v2 17/20] examples: add external memory example app Anatoly Burakov
2018-09-19 13:56 ` [PATCH v2 18/20] doc: add external memory feature to the release notes Anatoly Burakov
2018-09-19 13:56 ` [PATCH v2 19/20] doc: add external memory feature to programmer's guide Anatoly Burakov
2018-09-19 13:56 ` [PATCH v2 20/20] doc: add external memory sample application guide Anatoly Burakov

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=bd0158f96c9fd0d13eebccd535e74e38653f29a7.1536064999.git.anatoly.burakov@intel.com \
    --to=anatoly.burakov@intel.com \
    --cc=ajit.khaparde@broadcom.com \
    --cc=andras.kovacs@ericsson.com \
    --cc=bruce.richardson@intel.com \
    --cc=daniel.andrasi@ericsson.com \
    --cc=dev@dpdk.org \
    --cc=janos.kobor@ericsson.com \
    --cc=keith.wiles@intel.com \
    --cc=laszlo.madarassy@ericsson.com \
    --cc=laszlo.vadkerti@ericsson.com \
    --cc=scott.branden@broadcom.com \
    --cc=srinath.mannam@broadcom.com \
    --cc=thomas@monjalon.net \
    --cc=winnie.tian@ericsson.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.