Add an arena backed by 1G pages for shared data not in low memory
commit3f5ada635cd92db368f29da9894242da247b9c7e
authorBin Liu <binliu@fb.com>
Thu, 17 Nov 2016 01:15:26 +0000 (16 17:15 -0800)
committerHhvm Bot <hhvm-bot-bot@fb.com>
Thu, 17 Nov 2016 01:17:56 +0000 (16 17:17 -0800)
tree0349c68217cf0fb69dd3a883e3537952b1df4e49
parentb4a7cfb38cca2d2f475942b254973ae1d346234f
Add an arena backed by 1G pages for shared data not in low memory

Summary:
Similar to the low 1G arena, but for data outside low memory.
malloc_huge() falls back to standard malloc() when space runs out.

I am not sure about the performance implications of bypassing thread cache.
Is it the only way to guarantee that allocation comes from the desired arena? cc jasone

Reviewed By: jasone

Differential Revision: D4180655

fbshipit-source-id: f26a9655da2a48e45048296bcd448a65895ef044
14 files changed:
hphp/runtime/base/apc-array.cpp
hphp/runtime/base/apc-object.cpp
hphp/runtime/base/concurrent-shared-store.cpp
hphp/runtime/base/concurrent-shared-store.h
hphp/runtime/base/mixed-array.cpp
hphp/runtime/base/packed-array.cpp
hphp/runtime/base/set-array.cpp
hphp/runtime/base/static-string-table.cpp
hphp/runtime/base/string-data.cpp
hphp/runtime/ext/process/ext_process.cpp
hphp/util/alloc.cpp
hphp/util/alloc.h
hphp/util/hugetlb.cpp
hphp/util/hugetlb.h