Revert "env: Use rte_malloc in spdk_mem_register code path when possible"

This reverts commit 6d6052ac96.

This approach is no longer necessary given the patch immediately
preceeding this one.

Signed-off-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/2512 (master)

(cherry picked from commit 76aed8e4ff)
Change-Id: I5aab14346fa5a14dbf33c94ffcf88b045cdb4999
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/2601
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
This commit is contained in:
Ben Walker 2020-05-18 11:07:45 -07:00 committed by Tomasz Zawadzki
parent d635d6d297
commit fab97f2aac
2 changed files with 2 additions and 37 deletions

View File

@ -36,7 +36,6 @@
#include "env_internal.h"
#include <rte_config.h>
#include <rte_malloc.h>
#include <rte_memory.h>
#include <rte_eal_memconfig.h>
@ -343,11 +342,7 @@ spdk_mem_map_free(struct spdk_mem_map **pmap)
}
for (i = 0; i < sizeof(map->map_256tb.map) / sizeof(map->map_256tb.map[0]); i++) {
if (g_legacy_mem) {
rte_free(map->map_256tb.map[i]);
} else {
free(map->map_256tb.map[i]);
}
free(map->map_256tb.map[i]);
}
pthread_mutex_destroy(&map->mutex);
@ -578,23 +573,7 @@ spdk_mem_map_get_map_1gb(struct spdk_mem_map *map, uint64_t vfn_2mb)
/* Recheck to make sure nobody else got the mutex first. */
map_1gb = map->map_256tb.map[idx_256tb];
if (!map_1gb) {
/* Some of the existing apps use TCMalloc hugepage
* allocator and register this tcmalloc allocated
* hugepage memory with SPDK in the mmap hook. Since
* this function is called in the spdk_mem_register
* code path we can't do a malloc here otherwise that
* would cause a livelock. So we use the dpdk provided
* allocator instead, which avoids this cyclic
* dependency. Note this is only guaranteed to work when
* DPDK dynamic memory allocation is disabled (--legacy-mem),
* which then is a requirement for anyone using TCMalloc in
* this way.
*/
if (g_legacy_mem) {
map_1gb = rte_malloc(NULL, sizeof(struct map_1gb), 0);
} else {
map_1gb = malloc(sizeof(struct map_1gb));
}
map_1gb = malloc(sizeof(struct map_1gb));
if (map_1gb) {
/* initialize all entries to default translation */
for (i = 0; i < SPDK_COUNTOF(map_1gb->map); i++) {

View File

@ -52,20 +52,6 @@ DEFINE_STUB(rte_mem_event_callback_register, int,
(const char *name, rte_mem_event_callback_t clb, void *arg), 0);
DEFINE_STUB(rte_mem_virt2iova, rte_iova_t, (const void *virtaddr), 0);
void *
rte_malloc(const char *type, size_t size, unsigned align)
{
CU_ASSERT(type == NULL);
CU_ASSERT(align == 0);
return malloc(size);
}
void
rte_free(void *ptr)
{
free(ptr);
}
static int
test_mem_map_notify(void *cb_ctx, struct spdk_mem_map *map,
enum spdk_mem_map_notify_action action,