diff options
author | Dave Barach <dave@barachs.net> | 2016-03-02 09:48:04 -0500 |
---|---|---|
committer | Dave Barach <dave@barachs.net> | 2016-03-02 09:48:19 -0500 |
commit | dc03cf4eb4d2cb515d79d26f7b4cdef174ffa677 (patch) | |
tree | e9786bc1a0c2767d9c430a1faa1164ff4c716706 /vlib | |
parent | 98efd021195a39d10451fb72f800d6a98e282b1a (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.c | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/vlib/vlib/threads.c b/vlib/vlib/threads.c index 1f3c141b040..15eb959938e 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 = |