Please sign in to comment.
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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