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,
geza.koblo@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, shreyansh.jain@nxp.com,
shahafs@mellanox.com, arybchenko@solarflare.com,
alejandro.lucero@netronome.com
Subject: [dpdk-dev] [PATCH v9 13/21] malloc: allow adding memory to named heaps
Date: Tue, 2 Oct 2018 14:34:51 +0100 [thread overview]
Message-ID: <4e1ac007ada6d8af98f41c0220a9db9904773219.1538486972.git.anatoly.burakov@intel.com> (raw)
In-Reply-To: <cover.1538486972.git.anatoly.burakov@intel.com>
In-Reply-To: <cover.1538486972.git.anatoly.burakov@intel.com>
Add an API to add externally allocated memory to malloc heap. The
memory will be stored in memseg lists like regular DPDK memory.
Multiple segments are allowed within a heap. If IOVA table is
not provided, IOVA addresses are filled in with RTE_BAD_IOVA.
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
---
lib/librte_eal/common/include/rte_malloc.h | 39 ++++++++++++
lib/librte_eal/common/malloc_heap.c | 74 ++++++++++++++++++++++
lib/librte_eal/common/malloc_heap.h | 4 ++
lib/librte_eal/common/rte_malloc.c | 51 +++++++++++++++
lib/librte_eal/rte_eal_version.map | 1 +
5 files changed, 169 insertions(+)
diff --git a/lib/librte_eal/common/include/rte_malloc.h b/lib/librte_eal/common/include/rte_malloc.h
index 309bbbcc9..fb5b6e2f7 100644
--- a/lib/librte_eal/common/include/rte_malloc.h
+++ b/lib/librte_eal/common/include/rte_malloc.h
@@ -263,6 +263,45 @@ int
rte_malloc_get_socket_stats(int socket,
struct rte_malloc_socket_stats *socket_stats);
+/**
+ * Add memory chunk to a heap with specified name.
+ *
+ * @note Multiple memory chunks can be added to the same heap
+ *
+ * @note Memory must be previously allocated for DPDK to be able to use it as a
+ * malloc heap. Failing to do so will result in undefined behavior, up to and
+ * including segmentation faults.
+ *
+ * @note Calling this function will erase any contents already present at the
+ * supplied memory address.
+ *
+ * @param heap_name
+ * Name of the heap to add memory chunk to
+ * @param va_addr
+ * Start of virtual area to add to the heap
+ * @param len
+ * Length of virtual area to add to the heap
+ * @param iova_addrs
+ * Array of page IOVA addresses corresponding to each page in this memory
+ * area. Can be NULL, in which case page IOVA addresses will be set to
+ * RTE_BAD_IOVA.
+ * @param n_pages
+ * Number of elements in the iova_addrs array. Ignored if ``iova_addrs``
+ * is NULL.
+ * @param page_sz
+ * Page size of the underlying memory
+ *
+ * @return
+ * - 0 on success
+ * - -1 in case of error, with rte_errno set to one of the following:
+ * EINVAL - one of the parameters was invalid
+ * EPERM - attempted to add memory to a reserved heap
+ * ENOSPC - no more space in internal config to store a new memory chunk
+ */
+int __rte_experimental
+rte_malloc_heap_memory_add(const char *heap_name, void *va_addr, size_t len,
+ rte_iova_t iova_addrs[], unsigned int n_pages, size_t page_sz);
+
/**
* Creates a new empty malloc heap with a specified name.
*
diff --git a/lib/librte_eal/common/malloc_heap.c b/lib/librte_eal/common/malloc_heap.c
index ca774c96f..256c25edf 100644
--- a/lib/librte_eal/common/malloc_heap.c
+++ b/lib/librte_eal/common/malloc_heap.c
@@ -1023,6 +1023,80 @@ malloc_heap_dump(struct malloc_heap *heap, FILE *f)
rte_spinlock_unlock(&heap->lock);
}
+int
+malloc_heap_add_external_memory(struct malloc_heap *heap, void *va_addr,
+ rte_iova_t iova_addrs[], unsigned int n_pages, size_t page_sz)
+{
+ struct rte_mem_config *mcfg = rte_eal_get_configuration()->mem_config;
+ char fbarray_name[RTE_FBARRAY_NAME_LEN];
+ struct rte_memseg_list *msl = NULL;
+ struct rte_fbarray *arr;
+ size_t seg_len = n_pages * page_sz;
+ unsigned int i;
+
+ /* first, find a free memseg list */
+ for (i = 0; i < RTE_MAX_MEMSEG_LISTS; i++) {
+ struct rte_memseg_list *tmp = &mcfg->memsegs[i];
+ if (tmp->base_va == NULL) {
+ msl = tmp;
+ break;
+ }
+ }
+ if (msl == NULL) {
+ RTE_LOG(ERR, EAL, "Couldn't find empty memseg list\n");
+ rte_errno = ENOSPC;
+ return -1;
+ }
+
+ snprintf(fbarray_name, sizeof(fbarray_name) - 1, "%s_%p",
+ heap->name, va_addr);
+
+ /* create the backing fbarray */
+ if (rte_fbarray_init(&msl->memseg_arr, fbarray_name, n_pages,
+ sizeof(struct rte_memseg)) < 0) {
+ RTE_LOG(ERR, EAL, "Couldn't create fbarray backing the memseg list\n");
+ return -1;
+ }
+ arr = &msl->memseg_arr;
+
+ /* fbarray created, fill it up */
+ for (i = 0; i < n_pages; i++) {
+ struct rte_memseg *ms;
+
+ rte_fbarray_set_used(arr, i);
+ ms = rte_fbarray_get(arr, i);
+ ms->addr = RTE_PTR_ADD(va_addr, i * page_sz);
+ ms->iova = iova_addrs == NULL ? RTE_BAD_IOVA : iova_addrs[i];
+ ms->hugepage_sz = page_sz;
+ ms->len = page_sz;
+ ms->nchannel = rte_memory_get_nchannel();
+ ms->nrank = rte_memory_get_nrank();
+ ms->socket_id = heap->socket_id;
+ }
+
+ /* set up the memseg list */
+ msl->base_va = va_addr;
+ msl->page_sz = page_sz;
+ msl->socket_id = heap->socket_id;
+ msl->len = seg_len;
+ msl->version = 0;
+ msl->external = 1;
+
+ /* erase contents of new memory */
+ memset(va_addr, 0, seg_len);
+
+ /* now, add newly minted memory to the malloc heap */
+ malloc_heap_add_memory(heap, msl, va_addr, seg_len);
+
+ heap->total_size += seg_len;
+
+ /* all done! */
+ RTE_LOG(DEBUG, EAL, "Added segment for heap %s starting at %p\n",
+ heap->name, va_addr);
+
+ return 0;
+}
+
int
malloc_heap_create(struct malloc_heap *heap, const char *heap_name)
{
diff --git a/lib/librte_eal/common/malloc_heap.h b/lib/librte_eal/common/malloc_heap.h
index 75278da3c..237ce9dc2 100644
--- a/lib/librte_eal/common/malloc_heap.h
+++ b/lib/librte_eal/common/malloc_heap.h
@@ -39,6 +39,10 @@ malloc_heap_create(struct malloc_heap *heap, const char *heap_name);
int
malloc_heap_destroy(struct malloc_heap *heap);
+int
+malloc_heap_add_external_memory(struct malloc_heap *heap, void *va_addr,
+ rte_iova_t iova_addrs[], unsigned int n_pages, size_t page_sz);
+
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 286e748ef..acdbd92a2 100644
--- a/lib/librte_eal/common/rte_malloc.c
+++ b/lib/librte_eal/common/rte_malloc.c
@@ -328,6 +328,57 @@ find_named_heap(const char *name)
return NULL;
}
+int
+rte_malloc_heap_memory_add(const char *heap_name, void *va_addr, size_t len,
+ rte_iova_t iova_addrs[], unsigned int n_pages, size_t page_sz)
+{
+ struct rte_mem_config *mcfg = rte_eal_get_configuration()->mem_config;
+ struct malloc_heap *heap = NULL;
+ unsigned int n;
+ int ret;
+
+ if (heap_name == NULL || va_addr == NULL ||
+ page_sz == 0 || !rte_is_power_of_2(page_sz) ||
+ 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;
+ ret = -1;
+ goto unlock;
+ }
+ rte_rwlock_write_lock(&mcfg->memory_hotplug_lock);
+
+ /* find our heap */
+ heap = find_named_heap(heap_name);
+ if (heap == NULL) {
+ rte_errno = ENOENT;
+ ret = -1;
+ goto unlock;
+ }
+ if (heap->socket_id < RTE_MAX_NUMA_NODES) {
+ /* cannot add memory to internal heaps */
+ rte_errno = EPERM;
+ ret = -1;
+ goto unlock;
+ }
+ n = len / page_sz;
+ if (n != n_pages && iova_addrs != NULL) {
+ rte_errno = EINVAL;
+ ret = -1;
+ goto unlock;
+ }
+
+ rte_spinlock_lock(&heap->lock);
+ ret = malloc_heap_add_external_memory(heap, va_addr, iova_addrs, n,
+ page_sz);
+ rte_spinlock_unlock(&heap->lock);
+
+unlock:
+ rte_rwlock_write_unlock(&mcfg->memory_hotplug_lock);
+
+ return ret;
+}
+
int
rte_malloc_heap_create(const char *heap_name)
{
diff --git a/lib/librte_eal/rte_eal_version.map b/lib/librte_eal/rte_eal_version.map
index 27aac5bea..02254042c 100644
--- a/lib/librte_eal/rte_eal_version.map
+++ b/lib/librte_eal/rte_eal_version.map
@@ -321,6 +321,7 @@ EXPERIMENTAL {
rte_malloc_heap_create;
rte_malloc_heap_destroy;
rte_malloc_heap_get_socket;
+ rte_malloc_heap_memory_add;
rte_malloc_heap_socket_is_external;
rte_mem_alloc_validator_register;
rte_mem_alloc_validator_unregister;
--
2.17.1
next prev parent reply other threads:[~2018-10-02 13:35 UTC|newest]
Thread overview: 225+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-09-04 13:11 [dpdk-dev] [PATCH 00/16] Support externally allocated memory in DPDK Anatoly Burakov
2018-09-04 13:11 ` [dpdk-dev] [PATCH 01/16] mem: add length to memseg list Anatoly Burakov
2018-09-04 13:11 ` [dpdk-dev] [PATCH 02/16] mem: allow memseg lists to be marked as external Anatoly Burakov
2018-09-04 13:11 ` [dpdk-dev] [PATCH 03/16] malloc: index heaps using heap ID rather than NUMA node Anatoly Burakov
2018-09-04 13:11 ` [dpdk-dev] [PATCH 04/16] mem: do not check for invalid socket ID Anatoly Burakov
2018-09-04 13:11 ` [dpdk-dev] [PATCH 05/16] flow_classify: " Anatoly Burakov
2018-09-04 13:11 ` [dpdk-dev] [PATCH 06/16] pipeline: " Anatoly Burakov
2018-09-04 13:11 ` [dpdk-dev] [PATCH 07/16] sched: " Anatoly Burakov
2018-09-04 13:11 ` [dpdk-dev] [PATCH 08/16] malloc: add name to malloc heaps Anatoly Burakov
2018-09-04 13:11 ` [dpdk-dev] [PATCH 09/16] malloc: add function to query socket ID of named heap Anatoly Burakov
2018-09-04 13:11 ` [dpdk-dev] [PATCH 10/16] malloc: allow creating malloc heaps Anatoly Burakov
2018-09-04 13:11 ` [dpdk-dev] [PATCH 11/16] malloc: allow destroying heaps Anatoly Burakov
2018-09-04 13:11 ` [dpdk-dev] [PATCH 12/16] malloc: allow adding memory to named heaps Anatoly Burakov
2018-09-04 13:11 ` [dpdk-dev] [PATCH 13/16] malloc: allow removing memory from " Anatoly Burakov
2018-09-04 13:11 ` [dpdk-dev] [PATCH 14/16] malloc: allow attaching to external memory chunks Anatoly Burakov
2018-09-04 13:11 ` [dpdk-dev] [PATCH 15/16] malloc: allow detaching from external memory Anatoly Burakov
2018-09-04 13:11 ` [dpdk-dev] [PATCH 16/16] test: add unit tests for external memory support Anatoly Burakov
2018-09-13 7:44 ` [dpdk-dev] [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 ` [dpdk-dev] [PATCH v2 00/20] " Anatoly Burakov
2018-09-20 11:36 ` [dpdk-dev] [PATCH v3 " Anatoly Burakov
2018-09-21 16:13 ` [dpdk-dev] [PATCH v4 " Anatoly Burakov
2018-09-23 21:21 ` Thomas Monjalon
2018-09-24 8:54 ` Burakov, Anatoly
2018-09-26 11:21 ` [dpdk-dev] [PATCH v5 00/21] " Anatoly Burakov
2018-09-27 10:40 ` [dpdk-dev] [PATCH v6 " Anatoly Burakov
2018-10-01 11:04 ` [dpdk-dev] [PATCH v7 " Anatoly Burakov
2018-10-01 12:56 ` [dpdk-dev] [PATCH v8 " Anatoly Burakov
2018-10-02 13:34 ` [dpdk-dev] [PATCH v9 " Anatoly Burakov
2018-10-11 9:15 ` Thomas Monjalon
2018-10-02 13:34 ` [dpdk-dev] [PATCH v9 01/21] mem: add length to memseg list Anatoly Burakov
2018-10-02 13:34 ` [dpdk-dev] [PATCH v9 02/21] mem: allow memseg lists to be marked as external Anatoly Burakov
2018-10-02 13:34 ` [dpdk-dev] [PATCH v9 03/21] malloc: index heaps using heap ID rather than NUMA node Anatoly Burakov
2018-10-02 13:34 ` [dpdk-dev] [PATCH v9 04/21] mem: do not check for invalid socket ID Anatoly Burakov
2018-10-02 13:34 ` [dpdk-dev] [PATCH v9 05/21] flow_classify: " Anatoly Burakov
2018-10-02 13:34 ` [dpdk-dev] [PATCH v9 06/21] pipeline: " Anatoly Burakov
2018-10-02 13:34 ` [dpdk-dev] [PATCH v9 07/21] sched: " Anatoly Burakov
2018-10-02 13:34 ` [dpdk-dev] [PATCH v9 08/21] malloc: add name to malloc heaps Anatoly Burakov
2018-10-02 13:34 ` [dpdk-dev] [PATCH v9 09/21] malloc: add function to query socket ID of named heap Anatoly Burakov
2018-10-02 13:34 ` [dpdk-dev] [PATCH v9 10/21] malloc: add function to check if socket is external Anatoly Burakov
2018-10-02 13:34 ` [dpdk-dev] [PATCH v9 11/21] malloc: allow creating malloc heaps Anatoly Burakov
2018-10-02 13:34 ` [dpdk-dev] [PATCH v9 12/21] malloc: allow destroying heaps Anatoly Burakov
2018-10-02 13:34 ` Anatoly Burakov [this message]
2018-10-02 13:34 ` [dpdk-dev] [PATCH v9 14/21] malloc: allow removing memory from named heaps Anatoly Burakov
2018-10-02 13:34 ` [dpdk-dev] [PATCH v9 15/21] malloc: allow attaching to external memory chunks Anatoly Burakov
2018-10-02 13:34 ` [dpdk-dev] [PATCH v9 16/21] malloc: allow detaching from external memory Anatoly Burakov
2018-10-02 13:34 ` [dpdk-dev] [PATCH v9 17/21] malloc: enable event callbacks for " Anatoly Burakov
2018-10-02 13:34 ` [dpdk-dev] [PATCH v9 18/21] test: add unit tests for external memory support Anatoly Burakov
2018-10-02 13:34 ` [dpdk-dev] [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 ` [dpdk-dev] [PATCH v9 20/21] doc: add external memory feature to the release notes Anatoly Burakov
2018-10-02 13:34 ` [dpdk-dev] [PATCH v9 21/21] doc: add external memory feature to programmer's guide Anatoly Burakov
2018-10-01 12:56 ` [dpdk-dev] [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 ` [dpdk-dev] [PATCH v8 02/21] mem: allow memseg lists to be marked as external Anatoly Burakov
2018-10-01 12:56 ` [dpdk-dev] [PATCH v8 03/21] malloc: index heaps using heap ID rather than NUMA node Anatoly Burakov
2018-10-01 12:56 ` [dpdk-dev] [PATCH v8 04/21] mem: do not check for invalid socket ID Anatoly Burakov
2018-10-01 12:56 ` [dpdk-dev] [PATCH v8 05/21] flow_classify: " Anatoly Burakov
2018-10-01 12:56 ` [dpdk-dev] [PATCH v8 06/21] pipeline: " Anatoly Burakov
2018-10-01 12:56 ` [dpdk-dev] [PATCH v8 07/21] sched: " Anatoly Burakov
2018-10-01 12:56 ` [dpdk-dev] [PATCH v8 08/21] malloc: add name to malloc heaps Anatoly Burakov
2018-10-01 12:56 ` [dpdk-dev] [PATCH v8 09/21] malloc: add function to query socket ID of named heap Anatoly Burakov
2018-10-01 12:56 ` [dpdk-dev] [PATCH v8 10/21] malloc: add function to check if socket is external Anatoly Burakov
2018-10-01 12:56 ` [dpdk-dev] [PATCH v8 11/21] malloc: allow creating malloc heaps Anatoly Burakov
2018-10-01 12:56 ` [dpdk-dev] [PATCH v8 12/21] malloc: allow destroying heaps Anatoly Burakov
2018-10-01 12:56 ` [dpdk-dev] [PATCH v8 13/21] malloc: allow adding memory to named heaps Anatoly Burakov
2018-10-01 12:56 ` [dpdk-dev] [PATCH v8 14/21] malloc: allow removing memory from " Anatoly Burakov
2018-10-01 12:56 ` [dpdk-dev] [PATCH v8 15/21] malloc: allow attaching to external memory chunks Anatoly Burakov
2018-10-01 12:56 ` [dpdk-dev] [PATCH v8 16/21] malloc: allow detaching from external memory Anatoly Burakov
2018-10-01 12:56 ` [dpdk-dev] [PATCH v8 17/21] malloc: enable event callbacks for " Anatoly Burakov
2018-10-01 12:56 ` [dpdk-dev] [PATCH v8 18/21] test: add unit tests for external memory support Anatoly Burakov
2018-10-01 12:56 ` [dpdk-dev] [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 ` [dpdk-dev] [PATCH v8 20/21] doc: add external memory feature to the release notes Anatoly Burakov
2018-10-01 12:56 ` [dpdk-dev] [PATCH v8 21/21] doc: add external memory feature to programmer's guide Anatoly Burakov
2018-10-01 11:04 ` [dpdk-dev] [PATCH v7 01/21] mem: add length to memseg list Anatoly Burakov
2018-10-01 11:04 ` [dpdk-dev] [PATCH v7 02/21] mem: allow memseg lists to be marked as external Anatoly Burakov
2018-10-01 11:04 ` [dpdk-dev] [PATCH v7 03/21] malloc: index heaps using heap ID rather than NUMA node Anatoly Burakov
2018-10-01 11:04 ` [dpdk-dev] [PATCH v7 04/21] mem: do not check for invalid socket ID Anatoly Burakov
2018-10-01 11:04 ` [dpdk-dev] [PATCH v7 05/21] flow_classify: " Anatoly Burakov
2018-10-01 11:04 ` [dpdk-dev] [PATCH v7 06/21] pipeline: " Anatoly Burakov
2018-10-01 11:04 ` [dpdk-dev] [PATCH v7 07/21] sched: " Anatoly Burakov
2018-10-01 11:04 ` [dpdk-dev] [PATCH v7 08/21] malloc: add name to malloc heaps Anatoly Burakov
2018-10-01 11:04 ` [dpdk-dev] [PATCH v7 09/21] malloc: add function to query socket ID of named heap Anatoly Burakov
2018-10-01 11:04 ` [dpdk-dev] [PATCH v7 10/21] malloc: add function to check if socket is external Anatoly Burakov
2018-10-01 11:05 ` [dpdk-dev] [PATCH v7 11/21] malloc: allow creating malloc heaps Anatoly Burakov
2018-10-01 11:05 ` [dpdk-dev] [PATCH v7 12/21] malloc: allow destroying heaps Anatoly Burakov
2018-10-01 11:05 ` [dpdk-dev] [PATCH v7 13/21] malloc: allow adding memory to named heaps Anatoly Burakov
2018-10-01 11:05 ` [dpdk-dev] [PATCH v7 14/21] malloc: allow removing memory from " Anatoly Burakov
2018-10-01 11:05 ` [dpdk-dev] [PATCH v7 15/21] malloc: allow attaching to external memory chunks Anatoly Burakov
2018-10-01 11:05 ` [dpdk-dev] [PATCH v7 16/21] malloc: allow detaching from external memory Anatoly Burakov
2018-10-01 11:05 ` [dpdk-dev] [PATCH v7 17/21] malloc: enable event callbacks for " Anatoly Burakov
2018-10-01 11:05 ` [dpdk-dev] [PATCH v7 18/21] test: add unit tests for external memory support Anatoly Burakov
2018-10-01 11:05 ` [dpdk-dev] [PATCH v7 19/21] app/testpmd: add support for external memory Anatoly Burakov
2018-10-01 11:05 ` [dpdk-dev] [PATCH v7 20/21] doc: add external memory feature to the release notes Anatoly Burakov
2018-10-01 11:05 ` [dpdk-dev] [PATCH v7 21/21] doc: add external memory feature to programmer's guide Anatoly Burakov
2018-09-27 10:40 ` [dpdk-dev] [PATCH v6 01/21] mem: add length to memseg list Anatoly Burakov
2018-09-27 11:05 ` Shreyansh Jain
2018-09-27 10:40 ` [dpdk-dev] [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 ` [dpdk-dev] [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 ` [dpdk-dev] [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 ` [dpdk-dev] [PATCH v6 05/21] flow_classify: " Anatoly Burakov
2018-09-27 16:14 ` Iremonger, Bernard
2018-09-27 10:41 ` [dpdk-dev] [PATCH v6 06/21] pipeline: " Anatoly Burakov
2018-09-27 10:41 ` [dpdk-dev] [PATCH v6 07/21] sched: " Anatoly Burakov
2018-09-27 10:41 ` [dpdk-dev] [PATCH v6 08/21] malloc: add name to malloc heaps Anatoly Burakov
2018-09-27 10:41 ` [dpdk-dev] [PATCH v6 09/21] malloc: add function to query socket ID of named heap Anatoly Burakov
2018-09-27 10:41 ` [dpdk-dev] [PATCH v6 10/21] malloc: add function to check if socket is external Anatoly Burakov
2018-09-27 10:41 ` [dpdk-dev] [PATCH v6 11/21] malloc: allow creating malloc heaps Anatoly Burakov
2018-09-27 10:41 ` [dpdk-dev] [PATCH v6 12/21] malloc: allow destroying heaps Anatoly Burakov
2018-09-27 10:41 ` [dpdk-dev] [PATCH v6 13/21] malloc: allow adding memory to named heaps Anatoly Burakov
2018-09-27 10:41 ` [dpdk-dev] [PATCH v6 14/21] malloc: allow removing memory from " Anatoly Burakov
2018-09-27 10:41 ` [dpdk-dev] [PATCH v6 15/21] malloc: allow attaching to external memory chunks Anatoly Burakov
2018-09-27 10:41 ` [dpdk-dev] [PATCH v6 16/21] malloc: allow detaching from external memory Anatoly Burakov
2018-09-27 10:41 ` [dpdk-dev] [PATCH v6 17/21] malloc: enable event callbacks for " Anatoly Burakov
2018-09-27 10:41 ` [dpdk-dev] [PATCH v6 18/21] test: add unit tests for external memory support Anatoly Burakov
2018-09-27 10:41 ` [dpdk-dev] [PATCH v6 19/21] app/testpmd: add support for external memory Anatoly Burakov
2018-09-27 10:41 ` [dpdk-dev] [PATCH v6 20/21] doc: add external memory feature to the release notes Anatoly Burakov
2018-09-27 10:41 ` [dpdk-dev] [PATCH v6 21/21] doc: add external memory feature to programmer's guide Anatoly Burakov
2018-09-26 11:22 ` [dpdk-dev] [PATCH v5 01/21] mem: add length to memseg list Anatoly Burakov
2018-09-26 11:22 ` [dpdk-dev] [PATCH v5 02/21] mem: allow memseg lists to be marked as external Anatoly Burakov
2018-09-26 11:22 ` [dpdk-dev] [PATCH v5 03/21] malloc: index heaps using heap ID rather than NUMA node Anatoly Burakov
2018-09-26 11:22 ` [dpdk-dev] [PATCH v5 04/21] mem: do not check for invalid socket ID Anatoly Burakov
2018-09-26 11:22 ` [dpdk-dev] [PATCH v5 05/21] flow_classify: " Anatoly Burakov
2018-09-26 11:22 ` [dpdk-dev] [PATCH v5 06/21] pipeline: " Anatoly Burakov
2018-09-26 11:22 ` [dpdk-dev] [PATCH v5 07/21] sched: " Anatoly Burakov
2018-09-26 11:22 ` [dpdk-dev] [PATCH v5 08/21] malloc: add name to malloc heaps Anatoly Burakov
2018-09-26 11:22 ` [dpdk-dev] [PATCH v5 09/21] malloc: add function to query socket ID of named heap Anatoly Burakov
2018-09-26 11:22 ` [dpdk-dev] [PATCH v5 10/21] malloc: add function to check if socket is external Anatoly Burakov
2018-09-26 11:22 ` [dpdk-dev] [PATCH v5 11/21] malloc: allow creating malloc heaps Anatoly Burakov
2018-09-26 11:22 ` [dpdk-dev] [PATCH v5 12/21] malloc: allow destroying heaps Anatoly Burakov
2018-09-26 11:22 ` [dpdk-dev] [PATCH v5 13/21] malloc: allow adding memory to named heaps Anatoly Burakov
2018-09-26 11:22 ` [dpdk-dev] [PATCH v5 14/21] malloc: allow removing memory from " Anatoly Burakov
2018-09-26 11:22 ` [dpdk-dev] [PATCH v5 15/21] malloc: allow attaching to external memory chunks Anatoly Burakov
2018-09-26 11:22 ` [dpdk-dev] [PATCH v5 16/21] malloc: allow detaching from external memory Anatoly Burakov
2018-09-26 11:22 ` [dpdk-dev] [PATCH v5 17/21] malloc: enable event callbacks for " Anatoly Burakov
2018-09-26 11:22 ` [dpdk-dev] [PATCH v5 18/21] test: add unit tests for external memory support Anatoly Burakov
2018-09-26 11:22 ` [dpdk-dev] [PATCH v5 19/21] app/testpmd: add support for external memory Anatoly Burakov
2018-09-26 11:22 ` [dpdk-dev] [PATCH v5 20/21] doc: add external memory feature to the release notes Anatoly Burakov
2018-09-26 11:22 ` [dpdk-dev] [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 ` [dpdk-dev] [PATCH v4 01/20] mem: add length to memseg list Anatoly Burakov
2018-09-21 16:13 ` [dpdk-dev] [PATCH v4 02/20] mem: allow memseg lists to be marked as external Anatoly Burakov
2018-09-21 16:13 ` [dpdk-dev] [PATCH v4 03/20] malloc: index heaps using heap ID rather than NUMA node Anatoly Burakov
2018-09-21 16:13 ` [dpdk-dev] [PATCH v4 04/20] mem: do not check for invalid socket ID Anatoly Burakov
2018-09-21 16:13 ` [dpdk-dev] [PATCH v4 05/20] flow_classify: " Anatoly Burakov
2018-09-21 16:13 ` [dpdk-dev] [PATCH v4 06/20] pipeline: " Anatoly Burakov
2018-09-21 16:13 ` [dpdk-dev] [PATCH v4 07/20] sched: " Anatoly Burakov
2018-09-21 16:13 ` [dpdk-dev] [PATCH v4 08/20] malloc: add name to malloc heaps Anatoly Burakov
2018-09-21 16:13 ` [dpdk-dev] [PATCH v4 09/20] malloc: add function to query socket ID of named heap Anatoly Burakov
2018-09-21 16:13 ` [dpdk-dev] [PATCH v4 10/20] malloc: add function to check if socket is external Anatoly Burakov
2018-09-21 16:14 ` [dpdk-dev] [PATCH v4 11/20] malloc: allow creating malloc heaps Anatoly Burakov
2018-09-21 16:14 ` [dpdk-dev] [PATCH v4 12/20] malloc: allow destroying heaps Anatoly Burakov
2018-09-21 16:14 ` [dpdk-dev] [PATCH v4 13/20] malloc: allow adding memory to named heaps Anatoly Burakov
2018-09-21 16:14 ` [dpdk-dev] [PATCH v4 14/20] malloc: allow removing memory from " Anatoly Burakov
2018-09-21 16:14 ` [dpdk-dev] [PATCH v4 15/20] malloc: allow attaching to external memory chunks Anatoly Burakov
2018-09-21 16:14 ` [dpdk-dev] [PATCH v4 16/20] malloc: allow detaching from external memory Anatoly Burakov
2018-09-21 16:14 ` [dpdk-dev] [PATCH v4 17/20] test: add unit tests for external memory support Anatoly Burakov
2018-09-21 16:14 ` [dpdk-dev] [PATCH v4 18/20] app/testpmd: add support for external memory Anatoly Burakov
2018-09-21 16:14 ` [dpdk-dev] [PATCH v4 19/20] doc: add external memory feature to the release notes Anatoly Burakov
2018-09-21 16:14 ` [dpdk-dev] [PATCH v4 20/20] doc: add external memory feature to programmer's guide Anatoly Burakov
2018-09-20 11:36 ` [dpdk-dev] [PATCH v3 01/20] mem: add length to memseg list Anatoly Burakov
2018-09-20 11:36 ` [dpdk-dev] [PATCH v3 02/20] mem: allow memseg lists to be marked as external Anatoly Burakov
2018-09-20 11:36 ` [dpdk-dev] [PATCH v3 03/20] malloc: index heaps using heap ID rather than NUMA node Anatoly Burakov
2018-09-20 11:36 ` [dpdk-dev] [PATCH v3 04/20] mem: do not check for invalid socket ID Anatoly Burakov
2018-09-20 11:36 ` [dpdk-dev] [PATCH v3 05/20] flow_classify: " Anatoly Burakov
2018-09-20 11:36 ` [dpdk-dev] [PATCH v3 06/20] pipeline: " Anatoly Burakov
2018-09-20 11:36 ` [dpdk-dev] [PATCH v3 07/20] sched: " Anatoly Burakov
2018-09-20 11:36 ` [dpdk-dev] [PATCH v3 08/20] malloc: add name to malloc heaps Anatoly Burakov
2018-09-20 11:36 ` [dpdk-dev] [PATCH v3 09/20] malloc: add function to query socket ID of named heap Anatoly Burakov
2018-09-20 11:36 ` [dpdk-dev] [PATCH v3 10/20] malloc: allow creating malloc heaps Anatoly Burakov
2018-09-20 11:36 ` [dpdk-dev] [PATCH v3 11/20] malloc: allow destroying heaps Anatoly Burakov
2018-09-20 11:36 ` [dpdk-dev] [PATCH v3 12/20] malloc: allow adding memory to named heaps Anatoly Burakov
2018-09-20 11:36 ` [dpdk-dev] [PATCH v3 13/20] malloc: allow removing memory from " Anatoly Burakov
2018-09-20 11:36 ` [dpdk-dev] [PATCH v3 14/20] malloc: allow attaching to external memory chunks Anatoly Burakov
2018-09-20 11:36 ` [dpdk-dev] [PATCH v3 15/20] malloc: allow detaching from external memory Anatoly Burakov
2018-09-20 11:36 ` [dpdk-dev] [PATCH v3 16/20] test: add unit tests for external memory support Anatoly Burakov
2018-09-20 11:36 ` [dpdk-dev] [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 ` [dpdk-dev] [PATCH v3 18/20] doc: add external memory feature to the release notes Anatoly Burakov
2018-09-20 11:36 ` [dpdk-dev] [PATCH v3 19/20] doc: add external memory feature to programmer's guide Anatoly Burakov
2018-09-20 11:36 ` [dpdk-dev] [PATCH v3 20/20] doc: add external memory sample application guide Anatoly Burakov
2018-09-19 13:56 ` [dpdk-dev] [PATCH v2 01/20] mem: add length to memseg list Anatoly Burakov
2018-09-19 13:56 ` [dpdk-dev] [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 ` [dpdk-dev] [PATCH v2 03/20] malloc: index heaps using heap ID rather than NUMA node Anatoly Burakov
2018-09-19 13:56 ` [dpdk-dev] [PATCH v2 04/20] mem: do not check for invalid socket ID Anatoly Burakov
2018-09-19 13:56 ` [dpdk-dev] [PATCH v2 05/20] flow_classify: " Anatoly Burakov
2018-09-19 13:56 ` [dpdk-dev] [PATCH v2 06/20] pipeline: " Anatoly Burakov
2018-09-19 13:56 ` [dpdk-dev] [PATCH v2 07/20] sched: " Anatoly Burakov
2018-09-19 13:56 ` [dpdk-dev] [PATCH v2 08/20] malloc: add name to malloc heaps Anatoly Burakov
2018-09-19 13:56 ` [dpdk-dev] [PATCH v2 09/20] malloc: add function to query socket ID of named heap Anatoly Burakov
2018-09-19 13:56 ` [dpdk-dev] [PATCH v2 10/20] malloc: allow creating malloc heaps Anatoly Burakov
2018-09-19 13:56 ` [dpdk-dev] [PATCH v2 11/20] malloc: allow destroying heaps Anatoly Burakov
2018-09-19 13:56 ` [dpdk-dev] [PATCH v2 12/20] malloc: allow adding memory to named heaps Anatoly Burakov
2018-09-19 13:56 ` [dpdk-dev] [PATCH v2 13/20] malloc: allow removing memory from " Anatoly Burakov
2018-09-19 13:56 ` [dpdk-dev] [PATCH v2 14/20] malloc: allow attaching to external memory chunks Anatoly Burakov
2018-09-19 13:56 ` [dpdk-dev] [PATCH v2 15/20] malloc: allow detaching from external memory Anatoly Burakov
2018-09-19 13:56 ` [dpdk-dev] [PATCH v2 16/20] test: add unit tests for external memory support Anatoly Burakov
2018-09-19 13:56 ` [dpdk-dev] [PATCH v2 17/20] examples: add external memory example app Anatoly Burakov
2018-09-19 13:56 ` [dpdk-dev] [PATCH v2 18/20] doc: add external memory feature to the release notes Anatoly Burakov
2018-09-19 13:56 ` [dpdk-dev] [PATCH v2 19/20] doc: add external memory feature to programmer's guide Anatoly Burakov
2018-09-19 13:56 ` [dpdk-dev] [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=4e1ac007ada6d8af98f41c0220a9db9904773219.1538486972.git.anatoly.burakov@intel.com \
--to=anatoly.burakov@intel.com \
--cc=ajit.khaparde@broadcom.com \
--cc=alejandro.lucero@netronome.com \
--cc=andras.kovacs@ericsson.com \
--cc=arybchenko@solarflare.com \
--cc=bruce.richardson@intel.com \
--cc=daniel.andrasi@ericsson.com \
--cc=dev@dpdk.org \
--cc=geza.koblo@ericsson.com \
--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=shahafs@mellanox.com \
--cc=shreyansh.jain@nxp.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 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).