Use the correct thread stack alignment constraint, VPP-401 33/2833/3
authorDave Barach <dave@barachs.net>
Mon, 12 Sep 2016 20:44:08 +0000 (16:44 -0400)
committerDave Wallace <dwallacelf@gmail.com>
Tue, 13 Sep 2016 01:35:46 +0000 (01:35 +0000)
Change-Id: Ia7837dfaa9ed200145aeea19177fe549ab4bd087
Signed-off-by: Dave Barach <dave@barachs.net>
vlib/vlib/unix/main.c

index efa4f20..3087c28 100644 (file)
@@ -465,10 +465,14 @@ vlib_unix_main (int argc, char *argv[])
     }
   unformat_free (&input);
 
-  /* allocate N x 1mb stacks, aligned e.g. to a 16mb boundary */
+  /*
+   * allocate n x VLIB_THREAD_STACK_SIZE stacks, aligned to a
+   * VLIB_THREAD_STACK_SIZE boundary
+   * See also: os_get_cpu_number() in vlib/vlib/threads.c
+   */
   thread_stacks = clib_mem_alloc_aligned
     ((uword) tm->n_thread_stacks * VLIB_THREAD_STACK_SIZE,
-     (VLIB_MAX_CPUS << VLIB_LOG2_THREAD_STACK_SIZE));
+     VLIB_THREAD_STACK_SIZE);
 
   vec_validate (vlib_thread_stacks, tm->n_thread_stacks - 1);
   for (i = 0; i < vec_len (vlib_thread_stacks); i++)