aboutsummaryrefslogtreecommitdiffstats
path: root/vlib
diff options
context:
space:
mode:
authorDave Barach <dave@barachs.net>2016-03-02 09:48:04 -0500
committerDave Barach <dave@barachs.net>2016-03-02 09:48:19 -0500
commitdc03cf4eb4d2cb515d79d26f7b4cdef174ffa677 (patch)
treee9786bc1a0c2767d9c430a1faa1164ff4c716706 /vlib
parent98efd021195a39d10451fb72f800d6a98e282b1a (diff)
Remove spurious call to unix_physmem_init(...)
It turns out that unix_physmem_init(...) has been effectively disabled for a very long time. The vnet library supplied a weak symbol override for the vlib_app_physmem_init(...) which returned 1, meaning "do nothing." When we switched libvnet.a -> libvnet.so, the symbol override stopped working. Presto: unix_physmem_init(...) romps all over the data set up by vlib_buffer_pool_create(...), leading to ASSERT failures and/or bus errors, but only when using worker threads. Even then, the failure depended in some complicated way on library dynamic load order. We should remove .../vlib/vlib/unix/physmem.c entirely once we're sure we'll never want it back. Change-Id: I27747edbeb0de88d2f2d8728f7f8eb3135e7f0cf Signed-off-by: Dave Barach <dave@barachs.net>
Diffstat (limited to 'vlib')
-rw-r--r--vlib/vlib/threads.c2
1 files changed, 0 insertions, 2 deletions
diff --git a/vlib/vlib/threads.c b/vlib/vlib/threads.c
index 1f3c141b..15eb9599 100644
--- a/vlib/vlib/threads.c
+++ b/vlib/vlib/threads.c
@@ -674,8 +674,6 @@ static clib_error_t * start_workers (vlib_main_t * vm)
clib_mem_set_heap (oldheap);
vec_add1 (vlib_mains, vm_clone);
- unix_physmem_init (vm_clone, 0 /* physmem not required */);
-
vm_clone->error_main.counters =
vec_dup(vlib_mains[0]->error_main.counters);
vm_clone->error_main.counters_last_clear =