-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Huge pages #5269
Comments
I think I've got this partially working. I'm not seeing anything measurable from huge pages in the JIT, but I haven't gotten hugifyText working for hot runtime functions yet. |
How's your progress? I replaced hash_string_cs_fallback with simply Line 48 in 4498e2b
|
@wjywbs I had some issues with mapping the text section, I'll see if I can take another swing at it this week. Thanks for the update! |
We should definitely get the huge page thing working, but we should also probably add a compilation option to just use the sse4 version of the crc code, rather than trying to dynamically patch it. Most people will either want it on, or want it off (rather than having a mix of machines, some with, and some without sse4). |
@paulbiss What was the outcome of this effort? Were you able to make it work or was it dropped? |
@octmoraru we bulk closed a bunch of lockdown issues, we haven't done this yet and we definitely should. |
This diff enables mapping of hot static code onto huge pages for open source builds. It defines __hot_start and __hot_end at link time using the first and last functions from the linker script. This feature can be turned off by setting the CMake option MAP_TEXT_HUGE_PAGES to 'Off'. hugifyText was aligned to 2MB so that we maximize the amount of hot code we can map if __hot_end is placed just before it. Solves facebook#5269
I am going over old issues on this repository, to see which ones apply to the current versions of hhvm. The last comment in #9063 confirms the huge page support:
|
These are only turned on for internal kernels, we should enable them when supported externally.
The text was updated successfully, but these errors were encountered: