Please sign in to comment.
Create extra arenas for use in the JIT workers
Summary: Try to reuse ManagedArena class as a C++ wrapper for jemalloc arena. When deserializing profile data, we create a configurable number of extra arenas, balanced between NUMA nodes. The deserilization workers and JIT workers can then be assigned to such extra arenas, to reduce contention as they run. The arenas cannot be destroyed. Reviewed By: interwq Differential Revision: D10215895 fbshipit-source-id: bfb19f70cb0e94b29fb50c4b14e45c04a9c96789
- Loading branch information...
Showing with 172 additions and 23 deletions.
- +8 −1 hphp/runtime/base/program-functions.cpp
- +1 −0 hphp/runtime/base/runtime-option.h
- +10 −1 hphp/runtime/vm/jit/mcgen-translate.cpp
- +16 −0 hphp/runtime/vm/jit/prof-data-serialize.cpp
- +49 −0 hphp/util/alloc.cpp
- +2 −1 hphp/util/alloc.h
- +38 −0 hphp/util/extent-hooks.h
- +24 −17 hphp/util/managed-arena.cpp
- +24 −3 hphp/util/managed-arena.h