From 6a5adc369591fcac2447e9809deaa22f56b53911 Mon Sep 17 00:00:00 2001 From: Dave Barach Date: Wed, 4 Jul 2018 10:56:23 -0400 Subject: Add config option to use dlmalloc instead of mheap Configure w/ --enable-dlmalloc, see .../build-data/platforms/vpp.mk src/vppinfra/dlmalloc.[ch] are slightly modified versions of the well-known Doug Lea malloc. Main advantage: dlmalloc mspaces have no inherent size limit. Change-Id: I19b3f43f3c65bcfb82c1a265a97922d01912446e Signed-off-by: Dave Barach --- src/vppinfra/test_vec.c | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) (limited to 'src/vppinfra/test_vec.c') diff --git a/src/vppinfra/test_vec.c b/src/vppinfra/test_vec.c index f0497ac640e..ee17ef14244 100644 --- a/src/vppinfra/test_vec.c +++ b/src/vppinfra/test_vec.c @@ -47,7 +47,6 @@ #endif #include -#include #include #include #include @@ -1067,12 +1066,19 @@ prob_free (void) vec_free (g_prob_wh); } +int +vl (void *v) +{ + return vec_len (v); +} + int test_vec_main (unformat_input_t * input) { uword iter = 1000; uword help = 0; uword big = 0; + uword align = 0; while (unformat_check_input (input) != UNFORMAT_END_OF_INPUT) { @@ -1082,7 +1088,8 @@ test_vec_main (unformat_input_t * input) && 0 == unformat (input, "set %d", &g_set_verbose_at) && 0 == unformat (input, "dump %d", &g_dump_period) && 0 == unformat (input, "help %=", &help, 1) - && 0 == unformat (input, "big %=", &big, 1)) + && 0 == unformat (input, "big %=", &big, 1) + && 0 == unformat (input, "align %=", &align, 1)) { clib_error ("unknown input `%U'", format_unformat_error, input); goto usage; @@ -1106,6 +1113,16 @@ test_vec_main (unformat_input_t * input) return 0; } + if (align) + { + u8 *v = 0; + + vec_validate_aligned (v, 9, CLIB_CACHE_LINE_BYTES); + fformat (stdout, "v = 0x%llx, aligned %llx\n", + v, ((uword) v) & ~(CLIB_CACHE_LINE_BYTES - 1)); + vec_free (v); + } + if (help) goto usage; @@ -1139,7 +1156,9 @@ main (int argc, char *argv[]) unformat_input_t i; int ret; - mheap_alloc (0, (uword) 10ULL << 30); + clib_mem_init (0, 3ULL << 30); + + // mheap_alloc (0, (uword) 10ULL << 30); verbose = (argc > 1); unformat_init_command_line (&i, argv); -- cgit 1.2.3-korg